Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Det er dog muligt at konvertere WKT til gon med Python kode, og dette kan gøre direkte i et GIS-program. WFS-service har leveret en beregning af husnummerets retning, så den spejler den indstilling der er foretaget i selve registret. Denne service tilbydes ikke af datafordeleren, men kan foretages i bl.a. QGIS.
I QGIS, kan der under labels anvendes en gon-retning, hvorfor denne vejledning beskriver udregningen af denne. og man kan derfor efter konverteringen få husnummertekst labels til at visuelt indstille sig i den korrekte retning.
Vejledning
Denne vejledning henvender sig til GIS-programmet QGIS.
VejledningDet antages, at du allerede har åbnet dit projekt og har indlæst et lag med DAR_Husnummer. Det kan fx være en CSV-fil downloadet fra fra https://datafordeler.dk/dataoversigt/ via DAR Fildownload.
Denne vejledning henvender sig til GIS-programmet QGIS.
- Åbn '"Plugins', " i den øverste menu bar, vælg '"Python-konsol'", og tryk ’åbn editor’
Image Removed
Image Added - Indsæt Python scriptet, der kan findes i bunden af denne side, og tryk på "Kør Script"
Image Added - Åbn attribut tabellen for laget og vælg "Åbn feltberegner"
Image Added - Giv det nye felt et navn, vælg "Decimaltal (double)" som feltets type og tast "tekstretning_gon("husnummerretning")". Tryk "OK" for at lave det nye felt. Du har nu en ny kolonne i din attribut tabel med husnummerretning i gon
Image Added - Det er nu muligt at anvende feltet med husnummerretning i gon til at indstille retningen på husnummertekst, hvis feltet bruges som label. Åbn "Egenskaber" for laget, og tryk på fanen "Labels"
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
from qgis.core import * import math @qgsfunction(args='auto', group='Custom') def tekstretning_gon3gon(point_wkt, feature, parent): """ Calculate direction in gons from a POINT Z WKT string. """ try: # Use the value directly (NOT feature[...]) point_str = point_wkt # Remove WKT text point_str = point_str.replace("POINT Z(", "").replace(")", "") # Split coordinates coords = point_str.split() x = float(coords[0]) y = float(coords[1]) # Direction calculation angle_radians = -math.atan2(y, x) angle_degrees = math.degrees(angle_radians) adjusted_degrees = angle_degrees + 180.0 result_gons = adjusted_degrees * 10.0 / 9.0 return result_gons except Exception: return None QgsExpression.registerFunction(tekstretning_gon3gon) |