¿Cómo crear un Polígono simple a partir de coordenadas en GeoPandas en Python?
Respuestas
¿Demasiados anuncios?
erich
Puntos
21
Este sencillo código funciona para Python 3.9 y geopandas 0.9.0, y también para versiones anteriores:
import geopandas as gpd
from shapely.geometry import Polygon
lat_point_list = [50.854457, 52.518172, 50.072651, 48.853033, 50.854457]
lon_point_list = [4.377184, 13.407759, 14.435935, 2.349553, 4.377184]
polygon_geom = Polygon(zip(lon_point_list, lat_point_list))
crs = {'init': 'epsg:4326'}
polygon = gpd.GeoDataFrame(index=[0], crs=crs, geometry=[polygon_geom])
polygon.to_file(filename='polygon.geojson', driver='GeoJSON')
polygon.to_file(filename='polygon.shp', driver="ESRI Shapefile")
Bonificación. Polígono creado puede ser visualizado con folium 0.12.1 también:
import folium
m = folium.Map([50.854457, 4.377184], zoom_start=5, tiles='cartodbpositron')
folium.GeoJson(polygon).add_to(m)
folium.LatLngPopup().add_to(m)
m