Meerdere BGT kaartlagen (.gml) importeren in postgis

Ik ben een beginnende postgis gebruiker en wil graag de BGT data van Amsterdam in postgis importeren. Het lukt mij echter niet om de vier .gml kaartlagen (die samen Amsterdam omvatten) via ogr2ogr te importeren in postgis.

Zou iemand mij kunnen uitleggen of wellicht een andere manier kunnen adviseren hoe BGT data van Amsterdam in postgis te laden?

De vier kaartlagen heb ik hier als .zip gedownload (https://www.pdok.nl/downloads/-/article/basisregistratie-grootschalige-topografie-bgt-)

Hoi,

Misschien heb je wat aan NLExtract (https://nlextract.nl/)? Daarmee kun je een backup in postgis formaat downloaden van BGT, BAG, etc. Heb je heel Nederland!

Als beginnende gebruiker kun je ook in QGIS van de DB manager plugin gebruik maken om iets in postgis te stoppen.

Als je dan de BGT Import plugin gebruikt om de BGT eerst in QGIS in te lezen, dan zou je vrij vlot tot resultaat moeten kunnen komen.

Hoi Jonna, dat heb ik zojuist geprobeerd. Echter krijg ik na een aantal minuten een foutmelding (Failed (exit code:1)) en wordt het restoration proces gecanceld. Zou het eventueel kunnen liggen aan de ‘Restore options’ die ik heb gebruikt? Ik had alleen ‘Owner’ onder ‘Don’t Save’ aangevinkt

NLextract:
Ik moet eerlijk zeggen dat ik het zelf nooit gebruikt heb, dus waar het aan ligt kan ik je niet zeggen. Wellicht kan biijvoorbeeld @Just_OSGeo je hier mee helpen?

@marco_duiker Ja die QGIS optie dacht ik ook aan als tweede optie. Wellicht kun je deze uitproberen? De BGT import plugin werkt goed.

Het restoren van een database dump is nog niet zo eenvoudig. Probeer eerst te lopen voor je gaat rennen. Dus probeer eerst eens zelf een dump van een database te maken en te restoren. Als je dat onder controle hebt kun je die van de BGT proberen in te lezen.

Hoi Robbert,

Check wel of je na het restoren van een NLExtract dump echt geen resultaat hebt, of stiekem toch wel.

Mijn ervaring is namelijk dat zo’n restore nooit foutloos gaat, doordat ie ook o.a. de eigenaar van de data probeert te veranderen (b.v. in “kademo”). En als je in je database geen user kademo hebt gaat dat dus fout. Dat soort fouten hoeven echter niet cruciaal te zijn, en het kan dus zijn dat alle data tóch zijn binnengehaald. Je kan dat zien in de logging van het restore dialoogscherm. En uiteraard in de database zelf: refreshen, zit de BGT er echt niet in?

Overigens laat ik mijn studenten doorgaans gewoon alle default opties gebruiken.

Mocht het toch fout gaan, en je wil wat experimenteren, pak dan het datasetje “BAG Amstelveen”, dat is niet zo groot en ideaal om te testen.

Hoi Robbert, ik zie je vraag nu pas via wekelijkse update. Was zelf redelijk fervent gebruiker van de postgis dump van de BGT, totdat deze na 31 augustus vorig jaar geen update meer kreeg.

Daarna overgegaan op het gebruik van BGT Import met Geopackage. Werkt ook goed en biedt in ieder geval meer selectiemogelijkheden, betere actualiteit en overzichtelijke bestandsgrootte.

Gelukkig is er recent weer een nieuwe dump van de BGT geplaatst, maar deze is inmiddels wel gegroeid naar 17 GB.

En het inlezen van deze landelijke dump doet je Postgis bestandsopslag zeker met meer dan 50 GB toenemen. Ook wel iets om rekening mee te houden.

Ik gebruik overigens de opties Owner, Privilege en Clean before restore die allemaal op Yes staan.
En dit gaat eigenlijk altijd wel goed. Soms een enkele keer niet, maar dan alsnog na een herhaling van de actie.

Ook de laatste dump in Ă©Ă©n keer zonder problemen ingelezen.
Gr. Hans vd Meij

Via deze WFS van Amsterdam ?
https://map.data.amsterdam.nl/maps/bgtobjecten?REQUEST=GetCapabilities&SERVICE=wfs
how to via : 11.2. Lesson: Web Feature Services

Via de DBmanager kun je dan de laag importeren naar de database. A

Alles via GUI, maar of het alle data binnen harkt is de vraag

1 like

Ja, die gegroeide BGT in de PostGIS dumps is wel een dingetje. En dat wordt alleen maar groter aangezien alle historie er ook in zit.

Ik gebruik zelf een SQL script dat na inlezen alles wat niet actueelbestaand is eruit gooit, dit is voor mijn eigen gebruik doorgaans toch overbodig. Vervolgens gaan dan ook de “actueel” en “actueelbestaand” views overboord omdat die dan geen functie meer hebben. En zo heb ik steeds een behapbare BGT in de database.

Groet,
Willem

Dank! Ik wil meerdere bgt wegdeel lagen als Ă©Ă©n laag in een tabel in Postgis importeren. Kan dat direct of moet ik dan eerst de verschillende lagen mergen in QGIS (welke extensie zou hier het meest geschikt voor zijn?) en vervolgens via de DBmanager importeren naar de database?

Hmmm, ik ben even kwijt welke bron voor de BGT wegdelen je nu gebruikt.

Als je de NLExtract PostGIS dump gebruikt heb je alle wegdelen van heel NL al in Ă©Ă©n tabel zitten.

Als je losse .gml kaartlagen gebruikt kun je ze in QGIS inladen, en met Processing > Merge vector layers direct in een PostGIS tabel samenvoegen. Heb ik zelf niet getest, maar ik neem aan dat dit tooltje wel werkt zoals het hoort.

Sorry, snap de onduidelijkheid. Ik bedoel de kaartlagen die ik uit de link van Bas020 heb verkregen. Ik heb nu meerdere bgt_wegdeel kaartlagen via de Add WFS Layer button in QGIS geladen (regionale autoweg, regionale lokale weg, etc.). Nu wil ik graag deze lagen als Ă©Ă©n laag in een tabel in Postgis importeren. Kan dat direct of moet ik dan eerst de verschillende lagen mergen in QGIS (welke extensie zou hier het meest geschikt voor zijn?)

Beste Robbert,

Ik geloof dat je hier toch de moeilijkste weg kiest.

De link van Bas020 gaat naar een WFS service waarin alle wegdelen per type als aparte kaartlagen worden aangeboden. Die zou je dan nog steeds kunnen samenvoegen met Merge Vector layers (zie mijn vorige antwoord).
Maarrrrr
 zo’n WFS service is niet echt bedoeld om bulk data binnen te halen en in een eigen database te proppen. Dit gaat sowieso extreem langzaam, en er zit vermoedelijk ook een limiet op wat betreft het aantal features dat je in Ă©Ă©n request mag opvragen.

Daarom zou ik toch voor een simpeler alternatief kiezen:

  1. De landelijke dump van NLExtract binnenhalen. Heb ik gisteren zelf gedaan en doet het prima. Is wel groot.

  2. Als heel NL te veel is kun je BGT ‘tegels’ downloaden via deze link. Je kan dan zelf het gebied kiezen dat je wil hebben. Downloads bevatten gml data, waarbij alle wegdelen in Ă©Ă©n bestand zitten.

Oke duidelijk, dan ga ik toch voor het simpeler alternatief, dank!

Als je deze optie kiest, moet je de tegels wel inzelen mbv de BGT-import plugin. Anders raak je data kwijt.

Ik heb inmiddels de 4 gml tegels die samen Amsterdam omvatten via de BGT-import plugin in QGIS geladen. De volgende stap die ik heb genomen is deze 4 kopie gml kaartlagen met ‘_V’ toevoeging te mergen met de merge vector layers tool, vervolgens deze laag te clippen met de gemeentegrens van Amsterdam en tot slot te exporteren naar geopackage. Dit lijkt goed te werken. Mocht iemand anders een nog optimalere manier weten, dan houd ik me graag aanbevolen. Dank allen tot zover!