Quiero comprobar si la capa de puntos que tengo se cruza con la capa de polígonos que tengo, como columna booleana en el dataframe de puntos.
Tengo dos marcos de datos GeoPandas, el primero tiene muchos puntos y se ve así:
>>>ID geometry
0 12 POINT (5.0279 7.4547)
1 45 POINT (6.6539 12.139)
...
y el segundo marco de datos es una capa de muchos polígonos diferentes que se parece a esto:
>>>name code geometry
0 Desert 12 POLYGON ((5.52013 13.8902, 5.5265 13.892,...)
1 Water 24 POLYGON ((5.53756 13.88472, 5.5291 13.8791,...)
...
Intento comprobar si hay alguna intersección entre la capa de puntos y la capa de regiones. Para ello he determinado los crs y luego he utilizado intersects :
regions=regions.to_crs({'init': 'epsg:4326'})
points=points.set_crs({'init': 'epsg:4326'})
inter=points.geometry.intersects(regions.geometry)
A El script se ejecuta con las siguientes advertencias:
Aviso de futuro: '+init=:
' syntax is deprecated. ':' is the preferred initialization method. When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6 return _prepare_from_string(" ".join(pjargs)) /opt/conda/lib/python3.8/site-packages/geopandas/base.py:39: UserWarning: The indices of the two GeoSeries are different. warn("The indices of the two GeoSeries are different.")
`
Then when I check the results the only value is False, like all th epoints do not intersect:
`
inter.unique().tolist()
>>>[False]
*He visto en QGIS que hay puntos que se cruzan y hay puntos que no lo hacen por lo que no hay manera de que este resultado sea cierto
*He comprobado los dtypes - cada uno de mis geodataframes tiene una columna que es geometría y se llama geometría.
Mi objetivo final: añadir una nueva columna en el geodataframe de puntos que diga si intersecta las regiones o no.