Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Error coordenadas de un mapa
#1
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!!


Archivos adjuntos Miniatura(s)
   
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)