GML maken vanuit QGIS met de geometry afgerond op drie decimalen

Ik wil vanuit qgis een laag exporteren naar gml en wil weten hoe ik dit bestand kan afronden op drie decimalen. Wie kan mij op weg helpen. Ik heb de volgende aanpak, alleen werkt het afronden niet. Ik heb hier wel een workaround voor maar het moet toch ook kunnen vanuit de export functie? En anders moet ik waarschijnlijk een toolbox inzetten. Wie helpt?

Voor DSO-GML geldt het volgende:
Schema / namespace voor geometrie
Je gebruikt het IMRO/DSO-profiel gebaseerd op GML 3.2.1.
In QGIS hoef je dit niet handmatig in te vullen, maar het resultaat moet zijn:
– gml:Polygon of gml:MultiSurface(Multisurface alleen binnen GML gebruikt
Is een definitiekwestie. In het Nederlands spreken we meestal over (Multi)polygonen of multi(vlakken), maar een vlak is natuurlijk een surface :slight_smile:
In QGIS definieren we punten
– met namespace:
Voor DSO (IMOW) is een specifieke namespace naast GML.http://www.geostandaarden.nl/imow/geo
(normaliter: http://www.opengis.net/gml/3.2)

In de GML zie je dit samen, bijvoorbeeld:
Concreet in de GML zie je dan bijvoorbeeld:
gml:Polygon
gml:exterior
gml:LinearRing
gml:posList
De geometrie zit in het veld:

geom (of geometrie, afhankelijk van het DSO-model dat je gebruikt)

Vanuit QGIS rechter muisknop op de laag en dan export en kies voor GML
– GML-versie: 3.2
– COORDINATE_PRECISION=3 bij layer of datasource werkt niet. Kan dit op een andere manier?
– CRS: EPSG:28992

Resultaat is dat de geometry meer dan 3 decimalen is. Hoe rond ik dat af?
Het kan volgens mij met de toolbox ‘snap points to grid’ en dan de x en y op waarde 0,001 zetten en hierna repareren en exporteren, is er echter een betere manier? Of kan dit zonder deze tussenstap?

Bronnen
– OGC GML 3.2.1 specificatie

– DSO – Geo-informatie en GML

Dit is inderdaad de manier. Wanneer is een manier beter? Als deze automatisch repareert?

Inderdaad zie je vaak dat geometrie bij afronden op 3 decimalen niet meer valide is. Meestal door rare kleine slivers of andere gekke zaken die inhoudelijk geen betekenis hebben.

De automatische reparatiemethoden werken meestal niet, want die nemen als uitgangspunt dat een punt zo min mogelijk verplaatst moet worden om een reparatie uit te voeren. En dan ontstaat natuurlijk een punt met meer decimalen.

Als je iets geautomatiseerds wilt maken kun je natuurlijk alle vlakken bijvoorbeeld 1 cm (of 10 cm of meer indien nodig) naar binnen bufferen en daarna weer naar buiten bufferen. Dan ben je meestal wel van die gekke dingen af.

Uiteraard kun je de verschillende stappen mbv QGIS modeller tot 1 eigen tooltje combineren. Dan kun je dit tooltje runnen en daarna exporteren.

1 like

Hallo Marco,

Bedankt voor je reactie :). Automatiseren lijkt voor ons handig dus we gaan met jouw input aan de slag. Ik koppel nog wel terug of het gelukt is.

Gegroet,
Sander