Closed Harm-Olthof closed 4 years ago
QGIS kent geen nummer formatting. Daarmee gaan de voorloopnullen verloren als QGIS het identificatieBAGPND
veld als een nummer beschouwd.
Met de importdefinities zoals in bijgaande zip beschouwt QGIS het veld identificatieBAGPND
als een string.
Zou je willen uitproberen of eea zo naar wens is. Pak bijgaande zip uit en plaats de in de folder van de BGT import plugin onder bgt_utils\gfs
waarbij je dus een oudere versie van die bestanden vervangt.
@MarcoDuiker,
Dank voor de snelle reactie!
Met deze gfs-bestanden is het type van het attribuut identificatieBAGPND
string en zie ik idd voorloopnullen. (In de overige BAG-velden zoals identificatieBAGVBOLaagsteHuisnummer
zie ik nog niet de juiste voorloopnullen.)
Ik zou het wel fijn vinden als je de data typen zo dicht mogelijk brengt bij de formele BGT documentatie (Zie http://register.geostandaarden.nl/gmlapplicatieschema/imgeo/2.1.1/imgeo-simple.xsd of tabel 8.9.1 in de BGT catalogus) Daar staat al dat identificatieBAGPND
een characterstring is. Is dat mogelijk in een toekomstige versie voor alle objecttypen en velden?
Beste Harm,
Zeker is dat mogelijk. Het is wel veel werk.
Heb je wellicht zin om dat uit te voeren? Het is niet moeilijk ;-).
Beste Harm,
Zeker is dat mogelijk. Het is wel veel werk.
Heb je wellicht zin om dat uit te voeren? Het is niet moeilijk ;-). Tuurlijk. Ik ga er naar kijken
Fijn, dank je wel.
Het werk is niet heel moeilijk. Als je een .gfs
bestand opent (in de folder bgt_utils\gfs
) in een teksteditor zie je zoiets als:
<PropertyDefn>
<Name>creationDate</Name>
<ElementPath>creationDate</ElementPath>
<Type>String</Type>
<Width>10</Width>
</PropertyDefn>
<PropertyDefn>
<Name>LV-publicatiedatum</Name>
<ElementPath>LV-publicatiedatum</ElementPath>
<Type>String</Type>
<Width>23</Width>
</PropertyDefn>
<PropertyDefn>
<Name>relatieveHoogteligging</Name>
<ElementPath>relatieveHoogteligging</ElementPath>
<Type>Integer</Type>
</PropertyDefn>
<PropertyDefn>
<Name>inOnderzoek</Name>
<ElementPath>inOnderzoek</ElementPath>
<Type>String</Type>
<Width>5</Width>
</PropertyDefn>
<PropertyDefn>
<Name>tijdstipRegistratie</Name>
<ElementPath>tijdstipRegistratie</ElementPath>
<Type>String</Type>
<Width>23</Width>
</PropertyDefn>
<PropertyDefn>
<Name>namespace</Name>
<ElementPath>identificatie|NEN3610ID|namespace</ElementPath>
<Type>String</Type>
<Width>8</Width>
</PropertyDefn>
<PropertyDefn>
<Name>lokaalID</Name>
<ElementPath>identificatie|NEN3610ID|lokaalID</ElementPath>
<Type>String</Type>
<Width>38</Width>
</PropertyDefn>
<PropertyDefn>
<Name>bronhouder</Name>
<ElementPath>bronhouder</ElementPath>
<Type>String</Type>
<Width>5</Width>
</PropertyDefn>
<PropertyDefn>
<Name>bgt-status</Name>
<ElementPath>bgt-status</ElementPath>
<Type>String</Type>
<Width>8</Width>
</PropertyDefn>
<PropertyDefn>
<Name>plus-status</Name>
<ElementPath>plus-status</ElementPath>
<Type>String</Type>
<Width>10</Width>
</PropertyDefn>
<PropertyDefn>
<Name>identificatieBAGPND</Name>
<ElementPath>identificatieBAGPND</ElementPath>
<Type>String</Type>
<Width>16</Width>
</PropertyDefn>
<PropertyDefn>
<Name>tekst</Name>
<ElementPath>nummeraanduidingreeks|Nummeraanduidingreeks|nummeraanduidingreeks|Label|tekst</ElementPath>
<Type>StringList</Type>
</PropertyDefn>
<PropertyDefn>
<Name>hoek</Name>
<ElementPath>nummeraanduidingreeks|Nummeraanduidingreeks|nummeraanduidingreeks|Label|positie|Labelpositie|hoek</ElementPath>
<Type>RealList</Type>
</PropertyDefn>
<PropertyDefn>
<Name>identificatieBAGVBOLaagsteHuisnummer</Name>
<ElementPath>nummeraanduidingreeks|Nummeraanduidingreeks|identificatieBAGVBOLaagsteHuisnummer</ElementPath>
<Type>RealList</Type>
</PropertyDefn>
<PropertyDefn>
<Name>identificatieBAGVBOHoogsteHuisnummer</Name>
<ElementPath>nummeraanduidingreeks|Nummeraanduidingreeks|identificatieBAGVBOHoogsteHuisnummer</ElementPath>
<Type>RealList</Type>
</PropertyDefn>
<PropertyDefn>
<Name>eindRegistratie</Name>
<ElementPath>eindRegistratie</ElementPath>
<Type>String</Type>
<Width>23</Width>
</PropertyDefn>
<PropertyDefn>
<Name>terminationDate</Name>
<ElementPath>terminationDate</ElementPath>
<Type>String</Type>
<Width>10</Width>
</PropertyDefn>
Het werk is nu om steeds het Type
element goed in te vullen.
En als het een string betreft de juiste Width
. Bij een veld met voorloopnullen moet de Width
exact kloppen. Bij andere velden moet Width
in ieder geval groot genoeg zijn om elke voorkomende waarde kwijt te kunnen.
De .gfs
bestanden die je nu ziet zijn gegenereerd door QGIS (ogr). Ik heb daar nog niet op ingegrepen, anders dan de locatie van het geometrie element.
Beste Harm,
Ik ga binnen enkele dagen een update uitbrengen. Is jouw werk dan zover dat het mee kan?
Inmiddels is de nieuwe update uitgebracht.
Daarin zitten nieuwe gfs bestanden, waarbij alle geometrie wordt gedwongen naar het multi-type. Let dus op als je al een deel hebt gedaan. Indien je nog niks hebt gedaan, dan graag versie 3.13 of nieuwe gebruiken.
Inmiddels heb ik ook alle datatypen aangepast, behalve de datum-tijd velden. Die heb ik op string laten staan. @Harm Kun je eens kijken of eea zo naar wens is. Daarvoor moet je master uit github gebruiken, niet de plugin zoals in de QGIS plugin repo.
@MarcoDuiker ik was de afgelopen weken op vakantie, dus ik heb nog nergens naar kunnen kijken. En waarschijnlijk kom ik er pas volgende week aan toe. Maar mooi dat jij gewoon door bent gegaan ;-) Heb je ooit al geprobeerd met ogr2ogr het xsd bestand (met --oo parameter) mee te geven? Wellicht dat dan al de goede gfs-bestanden worden gegenereerd.
Ik heb geen goede ervaringen met her verwerken van Nederlandse data mbv applicaties die het schema daarbij gebruiken.
Uiteindelijk heb ik mbv een xpath query alle datatypen voor de velden opgevist en via zoeken in de gfs gekeken of het juiste type gebruikt werd. Ging best nog snel.
Uiteindelijk heb ik besloten de datums-tijd velden als strings te behouden. Wellicht ga ik daar in de toekomst nog wat aan doen, als daar behoefte aan is.
XPath is idd geweldig! datum-tijd velden zijn ISO8601, dus strings passen denk ik idd beter.
closed by 3.14
Voorloopnullen in het veld identificatieBAGPND van de tabel PAND missen. Zie bijvoorbeeld de BAG identificaties van panden in de gemeente Groningen: deze beginnen met 14, terwijl de CBS-code 0014 is (de lengte van de identificatienummers is dus ook niet 16). Dit lijkt ook te gelden voor de andere BAG identificatie (samengestelde) velden.