Hallo,
Wellicht helpt bijgaande testcode:
def get_perceel_from_geometry(data_geometry, operator):
#Restapi url
url = ‘https://brk.basisregistraties.overheid.nl/api/v1/perceel’
#url = ‘http://data.pdok.nl/sparql’
# rest api operators and geometry types
# operators: within, contains, disjoint en intersects
# geometry_types: point, polygon of bbox
#{"' + operator + '": ' + data_geometry + '}
json_data_operator = {operator: data_geometry}
json_data_geometry = {"geometry": json_data_operator}
print "Geometry: %s" %json_data_geometry
jsondata=json.dumps(json_data_geometry)
#headers niet meegeven dat het om een content-type application/json ging.
headers = {"Content-Type": "application/json"}
#Call REST API: put request
response = requests.put(url, data=jsondata, headers=headers)
return response
def print_json_brkgeodata(response, title = “results:”):
print “**** " + title + “**** "
lresponse = json.loads(response.text)
#print lresponse[”_links”][“self”][“href”]
results = lresponse["_embedded"][“results”]
#print(response.text)
i = 1
if len(results) == 0: print “!!! No results !!!”
for res in results:
print “%3d %s ; %s ; %s ; %s; %s; %s” %(i, res[‘kadastraleGemeentenaam’], res[‘kadastraleGemeentecode’], res[‘sectie’], res[‘perceelnummer’], res[‘kadastraleGrootte’], res[‘perceelnummerRotatie’])
print " Perceel uri: %s" %res[’_links’][‘source’][‘href’]
i = i + 1
def test_get_perceel_from_geometry():
polygon1 = {“polygon”: [[[4.44379664547597, 51.923017106040895], [4.474334827135394, 51.92263831819494], [4.473868606308714, 51.90840125346902], [4.443339739698314, 51.90877951799954], [4.44379664547597, 51.923017106040895]]]}
polygon2 = {“polygon”: [[[6.544236,53.200271], [53.224838, 6.534097], [6.554042,53.200605], [6.546425,53.198600], [6.544236,53.200271]]]}
polygon3 = {“polygon”: [[[6.5,53.2], [6.56,53.25], [6.57,53.26], [6.58,53.35], [6.5,53.2]]]}
point1 = {"point": [4.3132, 52.6231] }
point2 = {"point": [ 6.533989, 53.224809] }
# rest api operators and geometry types
# operators: within, contains, disjoint en intersects
# geometry_types: point, polygon of bbox
title = "1********** polygon within******************************1"
response = get_perceel_from_geometry(polygon1, "within")
print_json_brkgeodata(response, title)
title = "1********** point contains********************************1"
response = get_perceel_from_geometry(point1, "contains")
print_json_brkgeodata(response, title)
title = "2********** point contains********************************2"
response = get_perceel_from_geometry(point2, "contains")
print_json_brkgeodata(response, title)
test_get_perceel_from_geometry()