Использование значений широты и долготы в esy-osm-pbf для получения списка удобств на заданном радиусе в Python - PullRequest
0 голосов
/ 19 января 2020

У меня есть набор данных, который имел широту и долготу некоторых элементов. Я пытаюсь получить информацию обо всех удобствах вокруг определенной широты и долготы. Я использовал запрос путепровода, и я в состоянии получить удобства. Но я хочу использовать файл OSM.pbf, загруженный непосредственно в запросе python. Я смог вытащить все удобства на определенном значении долготы широты, используя следующий запрос

import esy.osm.pbf
osm = esy.osm.pbf.File('california-latest.osm.pbf')
amenities = [entry for entry in osm if entry.tags.get('amenity')]

После этого я смог передать значение lonlat и получить удобства. Есть ли в любом случае я могу передать значения радиуса и долготы и широты в коде, чтобы получить необходимую информацию

Код с использованием запроса путепровода. Я хочу повторить следующее, используя вышеуказанный метод

import overpy
amenities = [] 
for latitude,longitude in zip(Dataset_Sample.Latitude, Dataset_Sample.Longitude):
    overpass_query = """[out:json][timeout:25]; node["amenity"](around:1000.0,"""+ str(latitude) + "," +str(longitude)+"); out;"
    response = requests.get(overpass_url, params={'data': overpass_query})
    response_json = response.json()
    amenities.append([element['tags']['amenity'] for element in response_json['elements']])
...