Is er een (open) dataset waar ik het lat/lon van een “centrum” kan vinden. Nu krijg ik alleen de centroide van een polygon terug. Zie voorbeelden hier van Deurningen (die 2 keer terugkomt).
in de eerste regel lijk je te vragen om een punt (lat/lon), even later staat er “Ik wil eigenlijk gewoon het centrum (bebouwde kom polygon?) van Deurningen” Daarbij lijk je te vragen om een polygoon.
in die laatste regel lijk je ook te vragen om de bebouwde kom, in de eerste om het “centrum”.
in de eerste regel vraag je naar een dataset, in die laatste vraag je alleen om Deurningen. Is een antwoord voor alleen Deurningen genoeg?
Als je je vraag scherper stelt kunnen we je makkelijker helpen.
@marco_duiker Sorry, als ik m’n vraag niet goed geformuleerd heb.
wat bedoel je met “centrum”?
Met centrum bedoel ik een plek die over het algemeen door mensen als het centrum van een plaats beschouwd wordt. Van oudsher misschien het marktplein of een kerk.
in de eerste regel lijk je te vragen om een punt (lat/lon), even later staat er “Ik wil eigenlijk gewoon het centrum (bebouwde kom polygon?) van Deurningen” Daarbij lijk je te vragen om een polygoon.
Ik ben op zoek naar een punt. Ik benoemde de polygoon omdat het nationaalgeoregister de centroide als lat/lon terug geeft van de polygoon.
in die laatste regel lijk je ook te vragen om de bebouwde kom, in de eerste om het “centrum”.
Ik zou me voor kunnen stellen dat de de centroide van een bebouwde kom polygoon nauwkeuriger is dan de centroide van de hele plaats (dus ook buiten bebouwde kom).
In de eerste regel vraag je naar een dataset, in die laatste vraag je alleen om Deurningen. Is een antwoord voor alleen Deurningen genoeg?
Ik ben op zoek naar een dataset voor alle woonplaatsen.
Deurningen was een specifiek voorbeeld omdat dit als plaats ook 2 keer terugkomt (nl. een deel hoort bij de gemeente dinkeland en een deel huurt bij gemeente oldenzaal). De centroide van beide delen valt buiten het “bebouwde centrum”.
Ik ken geen open dataset van “plekken die over het algemeen door mensen als het centrum van een plaats beschouwd wordt”.
Je zult zelf iets moeten construeren. Daarbij is van belang te weten dat een centroide het middelpunt (eigenlijk zwaartepunt) van het vlak is, mits dat punt op het vlak ligt. Zo niet, dan is het een willekeurig punt op het vlak. Bebouwde kommen zijn dan inderdaad al gauw beter dan bijvoorbeeld gemeenten.
Je zou ook het wijk- en buurtregister kunnen gebruiken, en de centroide nemen van de wijk of buurt die het meest overeen komst met jouw idee van een centrum. Je kunt daarvoor bijvoorbeeld alle buurten nemen met “centrum” of “kern” in de naam, en dan kijken of dat ze inderdaad allemaal zijn. Voor Deurningen komt deze techniek mooi uit:
Als laatste kun je ook gewoon je woonplaatsnamen aan Google voeren en kijken waarmee die terugkomt.
In het geval van Deurningen gaat dat heel goed: Google Maps
Zoiets is te automatiseren, hoewel je wel goed op de licentievoorwaarden van Google moet letten.
Overigens vind ik bij Deurningen de PDOK locatieserver ook niet heel slecht (een paar honderd meter fout, maar dit is toevallig omdat ik gewoon de eerste (alfabetisch) straatnaam heb genomen (Beekdal)):
@marco_duiker Bedankt voor je reactie en de voorbeelden, dat helpt me zeker verder.
Google is officieel lastig qua licentie voorwaarden, maar uiteindelijk is lat/lon natuurlijk wel vrije data (desnoods wat cijfers achter de komma iets aanpassen).
Je noemt het wijk- en buurregister. Waar kan ik deze data vinden?
Ik ben redelijk nieuw op het vlak van geo (gelukkig heeft dit forum veel info en goede hulp), met welke tool en hoe heb je dat plaatje van Deurningen gemaakt? Dan kan ik zelf even testen. Ik denk dat centroide van een “centrum of kern” inderdaad is wat ik zoek.
Ik was nu aan het kijken naar de BRT Restful API, hier staan ook selectors in als woonkern, buurtschap, buurt, wijk. RESTful API - PDOK
Kan ik deze gebruiken of is er een makkelijkere manier?
Zou je, in de beste open source traditie, de uitkomst van je puzzel ook hier willen delen? Dan hebben anderen die in de toekomst een vergelijkbaar probleem hebben en op dit draadje stuiten er ook wat aan.
Er zijn veel manieren om centroides te berekenen voer een polygoon, zoals:
gemiddelde xy-coordinaat
midden van de “bounding box”
wilekeurig punt dat gegarandeerd in de polygoon ligt
punt dat het verst ligt van de grens
etc.
Voor een vergelijkbare vraag heb ik ooit de gemiddelde x- en de gemiddelde y-coordinaat bepaald van alle verblijfsobjecten (adressen) in een BAG-woonplaats. Dat gaf een heel aardig resultaat.
Ik vrees dat dat je overal wel tegen uitzonderingen gaat aanlopen. Als je Hoorn opzoekt in OSM bijvoorbeeld, komt de locatie helemaal niet in de binnenstad uit, wat “men” als centrum aanduid. Lintdorpen zijn ook een leuke uitdaging, en kleinere dorpen waar bij het CBS de Buurt gelijk is aan de woonplaats zo’n beetje.
En de BRT: Ik heb niet echt naar de dataset gekeken, maar daarbij loop je het risico dat je daar het cartografische plaatsingspunt van de plaatsnaam te pakken hebt (en da’s vrijwel nooit in het centrum maar in een kaal stukje er vlak in de buurt).
Dus het is ook heel erg afhankelijk van waarvoor je dit nodig hebt. Je hebt best kans dat het nog het snelst is en het beste resultaat geeft om handmatig alle woonplaatsen af te lopen
Je zou eens kunnen navragen bij de ANWB, die plaatst over het algemeen de borden met dingen als “Centrum” er op. Die moeten een idee hebben van welk bord welke richting op moet wijzen lijkt me, dus misschien hebben die iets. Maar ik weet niet of zij hun data willen delen.
Hoi Kasper,
De plaatsvlakken uit de BRT kunnen gebruik worden voor het selecteren van de plaatsen. Plaatsvlakken van het type “woonkern”, “recreatiekern” of “industriekern” bevat de plaatsen aangeduid met de blauwe kom-borden, waarbij de geometrie de bebouwing omsluit. Het buitengebied is dus niet meegenomen. Informatie over hoe deze plaatsvlakken ingewonnen worden kun je hier vinden: imbrt | Informatiemodel van de Basisregistratie Topografie
Naast de BRT API kun je wellicht ook van de Geopackage gebruik maken: https://service.pdok.nl/kadaster/top10nl/atom/v1_0/top10nl.xml
Het berekenen van het centrum zal je zelf moeten uitvoeren, dat gegeven zit niet in de BRT.
Succes!
Bovenstaande query is uiteraard afhankelijk van wat je als plaats beschouwt. Zie de OSM wiki over key:place. Zoals @sbjager aangeeft geeft een plaats in OSM niet altijd het centrum aan, maar zo over het algemeen lijkt het wel te kloppen. Het mooie van OSM is ook dat je de data zelf kan aanpassen
De bebouwde kom grenzen zit als zodanig niet in OSM, maar OSM bevat wel Key:landuse. Hiermee kan je gebieden die bebouwd zijn als polygonen opvragen. Zie hier een voorbeeld query.
Ik denk dat je het verst komt door alle suggesties hier te combineren. Ik zie in de CBS data bijvoorbeeld dat er twee buurten “Binnenstad” zijn voor Hoorn, die zou je kunnen combineren met de bebouwde komgrenzen, en eventueel met de OSM gegevens als je het geautomatiseerd wil opzetten. Maar dan nog loop je tegen een heleboel uitzonderingen aan, en tegen zaken als kleine lintdorpen die niet echt een centrum hebben. Of bijvoorbeeld Lelystad: waar ligt het centrum van Lelystad?
Betekent wel dat je aan het eind van deze klus waarschijnlijk een QGis expert bent geworden
Overigens wel een erg interessante uitdaging om het te automatiseren (dat zegt de geo-nerd in mij )