22 votos

¿Cómo crear un polígono simple a partir de coordenadas en GeoPandas con Python?

¿Cómo crear un Polígono simple a partir de coordenadas en GeoPandas en Python?

5voto

erich Puntos 21

Yo sustituiría el bucle for por:

polygon_geom = zip(lon_list, lat_list)

2voto

Mathieu Garstecki Puntos 1081

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

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X