Ligt het aan mij (en Qgis) of bevat de geopackage (2.45Gb) van de BRO SAD geen geometrie?
Dat wil zeggen, ik zie wel een laag soil_research met 306872 features van het type GeometryCollection. Als ik deze datalaag in Qgis inlaadt, dan zie ik geen punten, lijnen of vlakken.
Nu heb ik het bestand in Python ingeladen en als Geopandas dataframe ingelezen. Het bestand heb ik “geexplodeerd” en alleen geometrie van het type Polygon en MultiPolygon behouden. Vervolgens opgeslagen als shapefile en deze wordt nu wel getoond in Qgis.
Is die GeometryCollection-datatype een bewuste keuze? Zit er iets in mijn Qgis-instellingen dat GeometryCollections niet worden weergegeven?
Het betreffende extract is hier te vinden:
https://service.pdok.nl/tno/bro-milieuhygienisch-bodemonderzoek/atom/bro_milieuhyginisch_bodemonderzoek_sad.xml
Beste @ThomasHaarlem, bedankt voor je vraag.
Dit ligt niet aan QGIS maar aan de wijze waarop de data is gestandaardiseerd. Je werkwijze om de geometrie uit te splitsen is geen gekke werkwijze (behalve dan het shapefile deel
)
Er is al eerder geconstateerd dat Milieuhygiënisch bodemonderzoek GeometryCollection als geometrietype heeft. Zie hier incl wat achtergrondinformatie: Nieuwe BRO-dataset Milieuhygiënisch bodemonderzoek (SAD) bij PDOK beschikbaar - 8 van Thijs_Knapen
Groeten, Derek
QGIS kan inderdaad geen geometrycollection als kaartlaag tonen, dus je zult eerst moeten uitsplitsen. Ervan uit gaande dat er geen echte geometrycollections voorkomen, zoals een punt en een lijn in een geometry, of een lijn en een polygoon. Want dan zou het pas echt lastig worden. Maar ik denk dat het alleen een mix van ‘normale’ geometrieen is, dus of punt of lijn of vlak.
Maar dat maakt het werken met deze gpkg’s wel lastig en ik denk dat de BRO iets fraaiers had kunnen bedenken. Hopelijk doen ze dat nog!
2 jaar geleden is er een voorstel gedaan om QGis om te bouwen zodat het wél met gemixte geometrieën (punt/lijn/vlak in één kolom) om zou kunnen gaan. Vanwege de giga-impact op QGis (en plugins!) is toen besloten daar niet mee aan de gang te gaan.
Zie Issue · GitHub
Jammer, maar wel een beetje begrijpelijk.
Maar toch: in QGis kun je met een virtual layer de boel wel “on-the-fly” uitsplitsen:
Let met name op de instellingen in het onderste deel, gebruik daar dezelfde naam voor de geometry column als die je in de query gebruikt (in dit voorbeeld “geom”).
De functie
st_collectionextract() peurt de points uit de dataset (met “2” de lines, met “3” de polygons). Met de functie
st_numgeometries() haal ik alleen die record op die wel een geometrie hebben (omdat in deze BRO-dataset veel records zonder geometrie zitten).
Voor de zekerheid ook de
unique identifier column netjes ingevuld, niet helemaal zeker van wat het effect is
Ja, het werkt, maar wel rete-traag op deze dataset (met 300K records).
1 like
Dank voor alle antwoorden.
En tsja de keuze voor shape: als de organisatie met Esri werkt en ik toch moest converteren kon dit er ook nog wel bij.