Cómo graficar geometrías de Django (Biospytial)

Hola!

Biospytial utiliza el backend de Django-postgis para representar objetos y geometrías. Por eso es común encontrar objetos del tipo “django.contrib.gis.geos” [Point, Polygon] para poder usar operaciones geométricas.

Hay algunas incompatibilidades con Shapely y en general para plotear directamente usando matplotlib.

Para poder obtener una gráfica de algún objeto geométrico, deberemos utilizar ‘GeoPandas’  y ‘Shapefile’ como intermediario.

Simplemente cargamos las librerias:

from geopandas import GeoSeries
from shapely.wkt import loads

Después simplemente instanciamos un objeto GeoSeries (GeoDataSet) y cargamos el objeto geos.Polygon utilizando el método de representación en WKT.

Revisa el siguiente código para entender

from django.contrib.gis.geos import Point, Polygon
xcoord = -99.76
ycoord = 17.55
p = Point(xcoord,ycoord,srid=4326)
newp = p.buffer(0.08)

from geopandas import GeoSeries
from shapely.wkt import loads

gs = GeoSeries([loads(newp.wkt)])
gs.crs = {'init' : 'epsg:4326'}
gs.plot()