Estoy tratando de trazar un archivo de forma directamente desde PostGIS usando Python. Mi shapefile ya está almacenado en PostgreSQL. Sé cómo conectar Python con PostgreSQL, pero no puedo encontrar nada que me ayude a trazar mis datos en un mapa. Leí en alguna parte que debería conectarme a PostgreSQL, consultar mi tabla de archivos de forma, seleccionar el atributo geom, almacenarlo en un geodataframe y luego trazarlo.
Aquí está el código que estoy usando. ¿¿Algunas ideas??
import psycopg2 import geopandas as gpd import matplotlib.pyplot as plt try: conn = psycopg2.connect("dbname='strokes' user='postgres' host='localhost' password='admin'") except: print "I am unable to connect to the database" cur = conn.cursor() cur.execute("CREATE INDEX bassin_index ON bassin USING GIST(geom)") cur.execute("SELECT st_astext(geom) AS wkt, fid_limite, codebassin FROM bassin") rows = cur.fetchall() rows_list=[] for geom,fid_limite,codebassin in cursor: data={'codebassin':codeb,'fid_limite':fidlim,'geom':geo} rows_list.append(data) gdf=gpd.GeoDataFrame(rows_list).set_index('codebassin') gdf.head() gdf.plot(column='fid_limite', scheme='QUANTILES', k=5, colormap='gray') conn.commit() conn.close()