Skip to content

Instantly share code, notes, and snippets.

@LtGlahn
Last active September 17, 2023 08:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LtGlahn/9123ff39858f275360b57764e6379ca6 to your computer and use it in GitHub Desktop.
Save LtGlahn/9123ff39858f275360b57764e6379ca6 to your computer and use it in GitHub Desktop.
Fra 3D til 2D shapely geometriobjekter

Konverterer python shapely-objekter (i 2D eller 3D) til 2D

from shapely import wkb, wkt
# myGeom er her et shapely-objekt av hvilken som helst geometritype, med 2D eller 3D koordinater. 
my2Dgeom = wkb.loads( wkb.dumps( myGeom , output_dimension=2  ))

Trickset her er at wkb.dumps (som returnerer dataformatet Well Known Binary ) kan gjøre transformasjon til 2D on the fly. Så leses WKB-representasjonen tilbake til shapely-objekt med wkb.loads. Verdikjeden blir altså shapely objekt => WKB => shapely objekt.

Dataframe eksempel

Nedenfor et eksempel der geometrien finnes som tekst ( well known text) i en kolonne i en pandas dataframe, og vi oppretter en ny kolonne med shapely-objekter.

from shapely import wkb, wkt
mydf['geometry'] = mydf['geometri'].apply( lambda x : Point ( wkb.loads( wkb.dumps( wkt.loads( x ), output_dimension=2  ))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment