Foros Python

Versión completa: Error coordenadas de un mapa
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola buenos días!
No sé si alguien me puede ayudar.

He utilizado estos datos a nivel mundial https://gadm.org/data.html
Lo que quiero es asociar a unas coordenadas un país.
Me salta el error: [color=var(--ansi-red)]ValueError[/color]: Null geometry supports no operations

Mi código es el siguiente:

import geopandas as gpd
import matplotlib.pyplot as plt
from shapely.geometry import Point, Polygon

# Filepaths
ub_shp = '/content/gadm36.shp'

# Read files
world = gpd.read_file(ub_shp, encoding='utf-8')
world.head()


#probamos con unas coordenadas
p_pais = Point(-177.75, -89.75)


for pais, poly in zip(world.NAME_0,world.geometry):
    if p_pais.within(poly):
        print(f"Esas coordenadas pertenencen al país: {pais}")


ERROR QUE ME SALTA:

Esas coordenadas pertenencen al país: Antarctica
[color=var(--ansi-red)]---------------------------------------------------------------------------

[color=var(--ansi-red)]ValueError[/color]                                Traceback (most recent call last)

[color=var(--colab-anchor-color)]<ipython-input-58-96d31c12442e>[/color] in [color=var(--ansi-cyan)]<module>[/color][color=var(--ansi-blue)]()[/color]
[color=var(--ansi-green)]      1[/color] [color=var(--ansi-green)]for[/color] pais[color=var(--ansi-blue)],[/color] poly [color=var(--ansi-green)]in[/color] zip[color=var(--ansi-blue)]([/color]world[color=var(--ansi-blue)].[/color]NAME_0[color=var(--ansi-blue)],[/color]world[color=var(--ansi-blue)].[/color]geometry[color=var(--ansi-blue)])[/color][color=var(--ansi-blue)]:[/color]
[color=var(--ansi-green)]----> 2[/color]    [color=var(--ansi-green)]if[/color] p_pais[color=var(--ansi-blue)].[/color]within[color=var(--ansi-blue)]([/color]poly[color=var(--ansi-blue)])[/color][color=var(--ansi-blue)]:[/color]
[color=var(--ansi-green)]      3[/color]        print[color=var(--ansi-blue)]([/color][color=var(--ansi-blue)]f"Esas coordenadas pertenencen al país: {pais}"[/color][color=var(--ansi-blue)])[/color]

[/color]



2 frames


[color=var(--colab-anchor-color)]/usr/local/lib/python3.6/dist-packages/shapely/topology.py in [color=var(--ansi-cyan)]_validate[color=var(--ansi-blue)](self, ob, stop_prepared)
[color=var(--ansi-green)]    16
    [color=var(--ansi-green)]def
_validate[color=var(--ansi-blue)](
self[color=var(--ansi-blue)],
ob[color=var(--ansi-blue)],
stop_prepared[color=var(--ansi-blue)]=[/color][color=var(--ansi-green)]False[/color][color=var(--ansi-blue)])[/color][color=var(--ansi-blue)]:[/color]
[color=var(--ansi-green)]    17[/color]        [color=var(--ansi-green)]if[/color] ob [color=var(--ansi-green)]is[/color] [color=var(--ansi-green)]None[/color] [color=var(--ansi-green)]or[/color] ob[color=var(--ansi-blue)].[/color]_geom [color=var(--ansi-green)]is[/color] [color=var(--ansi-green)]None[/color][color=var(--ansi-blue)]:[/color]
[color=var(--ansi-green)]---> 18[/color]            [color=var(--ansi-green)]raise[/color] ValueError[color=var(--ansi-blue)]([/color][color=var(--ansi-blue)]"Null geometry supports no operations"[/color][color=var(--ansi-blue)])[/color]
[color=var(--ansi-green)]    19[/color]        [color=var(--ansi-green)]if[/color] stop_prepared [color=var(--ansi-green)]and[/color] hasattr[color=var(--ansi-blue)]([/color]ob[color=var(--ansi-blue)],[/color] [color=var(--ansi-blue)]'prepared'[/color][color=var(--ansi-blue)])[/color][color=var(--ansi-blue)]:[/color]
[color=var(--ansi-green)]    20[/color]            [color=var(--ansi-green)]raise[/color] ValueError[color=var(--ansi-blue)]([/color][color=var(--ansi-blue)]"Prepared geometries cannot be operated on"[/color][color=var(--ansi-blue)])[/color]


[color=var(--ansi-red)]ValueError[/color]: Null geometry supports no operations
[/color]
[/color]
[/color][/color]
[/color][/color]
[/color]
[/color]


Muchas gracias de antemano!!