OSMNX geocode_to_gdf не находит пути и узлы по идентификаторуPython

Программы на Python
Ответить
Anonymous
 OSMNX geocode_to_gdf не находит пути и узлы по идентификатору

Сообщение Anonymous »

Используя библиотеку OSMNX в Python, я извлек большой кадр геоданных с множеством идентификаторов.
Из этого GeoDataFrame я взял несколько идентификаторов, например, элемент с идентификатором: 263515466 с типом «Путь».
Если я проверю веб-сайт OpenStreetMap, я смогу найти этот объект — https://www.openstreetmap.org/way/263515466
Но когда я пытаюсь использовать этот метод, чтобы определить некоторую конкретную информацию, например, с помощью функции geocode_to_gdf, код:

Код: Выделить всё

ox.geocoder.geocode_to_gdf('W263515466', which_result=None, by_osmid=True)
Полный код после установки всех пакетов:

Код: Выделить всё

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from kmodes.kprototypes import KPrototypes
from kneed import KneeLocator
from sklearn.cluster import DBSCAN
import geopy.distance

import geopandas as gpd
import json
import h3
import h3pandas
import folium
import osmnx as ox
from shapely import wkt
from folium.plugins import HeatMap
from shapely.geometry import Polygon
from shapely.geometry import Point
import geojson as gjs
from alive_progress import alive_bar
from time import sleep

import warnings
warnings.filterwarnings('ignore')

ox.geocoder.geocode_to_gdf('W263515466', which_result=None, by_osmid=True)
Я получаю сообщение об ошибке:
Ошибка

Текст ошибки:

Код: Выделить всё

---------------------------------------------------------------------------
InsufficientResponseError                 Traceback (most recent call last)
Cell In[534], line 1
----> 1 ox.geocoder.geocode_to_gdf('W263515466', which_result=None, by_osmid=True)

File ~\AppData\Local\anaconda3\Lib\site-packages\osmnx\geocoder.py:139, in geocode_to_gdf(query, which_result, by_osmid, buffer_dist)
137 gdf = gpd.GeoDataFrame()
138 for q, wr in zip(query, which_result):
--> 139     gdf = pd.concat([gdf, _geocode_query_to_gdf(q, wr, by_osmid)])
141 # reset GeoDataFrame index and set its CRS
142 gdf = gdf.reset_index(drop=True)

File ~\AppData\Local\anaconda3\Lib\site-packages\osmnx\geocoder.py:186, in _geocode_query_to_gdf(query, which_result, by_osmid)
183 if not results:
184     # if no results were returned, raise error
185     msg = f"Nominatim geocoder returned 0 results for query {query!r}"
--> 186     raise InsufficientResponseError(msg)
188 if by_osmid:
189     # if searching by OSM ID, always take the first (ie, only) result
190     result = results[0]

InsufficientResponseError: Nominatim geocoder returned 0 results for query 'W263515466'
Почему это происходит так?
Я ожидал получить GDF по идентификатору, который Я ждал.

Подробнее здесь: https://stackoverflow.com/questions/792 ... odes-by-id
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»