Sto facendo un flusso di lavoro su piccola scala nel notebook ipython con geopandas e ben fatto, estraendo un mucchio di dati geospaziali, a volte da file di forma, a volte da postgis (dove viene eseguita un'elaborazione più costosa).
Ora, trascino le tabelle Postgis in Python usando sqlalchemy
, trasformando la geometria in WKT lungo la strada, ottenendo qualcosa di simile:
sql = """
SELECT ST_AsText(ST_Transform(the_geom,4326)) as newgeom,*
FROM public.parcels2010_small limit 5;
"""
parcels = pd.read_sql(sql, engine)
parcels
+----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+
| id | newgeom | the_geom | parcel_id | osm_node_id |
+----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+
| 0 | MULTIPOLYGON(((-122.991093691444 38.4878691106... | 01060000209C0E00000100000001030000000100000097... | 1805792 | 66237 |
+----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+
| 1 | MULTIPOLYGON(((-122.444576448624 37.7346386006... | 01060000209C0E0000010000000103000000010000008A... | 10435 | 123826 |
+----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+
| 2 | MULTIPOLYGON(((-122.796785208193 38.5427593334... | 01060000209C0E0000010000000103000000010000007D... | 1817842 | 313047 |
+----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+
| 3 | MULTIPOLYGON(((-122.695538506163 38.3618570798... | 01060000209C0E0000010000000103000000010000009B... | 1934612 | 63776 |
+----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+
| 4 | MULTIPOLYGON(((-122.223424422869 37.8416019090... | 01060000209C0E00000100000001030000000100000072... | 861785 | 26369 |
+----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+
Assomiglia molto alla geometria quando viene caricata da un file di forma, ma non viene lanciata come una geometria formosa. Non riuscivo a trovare il modo canonico per farlo, usando solo ben fatto, o forse con Descartes
.