Last active
March 5, 2019 16:49
-
-
Save plablo09/9ea492866e7f6146c5adc5ae83f68dc0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
import geopandas as gpd | |
from shapely.geometry import Point | |
import fiona | |
#supongamos que tienes los tuits en un csv (las coordenadas en las columns "x" y "y"). Los lees con pandas | |
df = pd.read_csv('data.csv') | |
#conviertes las coordenadas en objetos Point | |
geometry = [Point(xy) for xy in zip(df.x, df.y)] | |
#Le pones proyección (lat, long en este caso) | |
crs = {'init': 'epsg:4326'} | |
#lo conviertes en geodataframe | |
geo_df = gpd.GeoDataFrame(df, crs=crs, geometry=geometry) | |
#Supongamos que los estados vienen en un shapefile | |
estados = gpd.read_file("/path/to/shapefile.shp") | |
#ya namás falta hacer el merge (spatial join) | |
puntos_estados = gpd.sjoin(geo_df, estados, how="inner", op='intersects') | |
#eso te deja un geodataframe con todos los atributos de las dos tablas unidos a través de la intersección, | |
# o sea, cada punto va a tener los atributos del estado en donde cae |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment