Итерационная задача с парами координат, python - PullRequest
0 голосов
/ 19 февраля 2020

Мне трудно понять, почему я не могу -

1) Перебрать набор координат, созданный из координат,

2) Найти улицы в целом когда всплывает ссылка (обычно с наборами по 20 списков)

3) Найдите точные окрестности, на которых написана только «дорога».

Пожалуйста, помогите.

Моя конечная цель - получить набор координат, которые дают мне окрестности в радиусе 9000, и в этих окрестностях я могу найти "road" и другие ключевые слова.

import requests
import json

APIKEY = "akakak"

import geopandas as gpd
pagetoken = akakakakakak
pagetoken = None
fp = "/Users/akakak/Documents/akakak/akakaka.shp"
data = gpd.read_file(fp)
enugu = data.loc[data['ADM1FIPSNA'] == 'Enugu']
coords=[]

for long, lat in zip(enugu.geometry.y, enugu.geometry.x):
    coords.append((long,lat))


def findPlaces(loc = ('x','y'), radius=9000, pagetoken = None):
    loc = coords.append((long,lat))
    type = "school"
    xtype = "vicinity"
    xxtype = "road"
    url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location={lat},{long}&radius={radius}&type={type}&key={APIKEY}{pagetoken}".format(lat = lat, long = long, radius = radius, type = type,APIKEY = APIKEY, pagetoken = "&pagetoken="+pagetoken if pagetoken else "")
    print(url)
    response = requests.get(url)
    res = json.loads(response.text)
    print(res)
    print("here results ---->>> ", len(res["results"]))
    for result in res["results"]:
        if xxtype in res["results"]:
            if xtype in result["vicinity"]:
                info = ";".join(map(str,[result["name"],result["geometry"]["location"]["lat"],result["geometry"]["location"]["lng"],result["types"]]))
                print(info)
    '

1 Ответ

0 голосов
/ 19 февраля 2020

Поскольку код неполный и не запускается, я могу только догадываться, что вы хотите сделать. Но когда у вас есть массив / список, вы можете получить доступ к элементам списка, используя индексы или просматривая список.

В вашем def findPlaces () fun c измените первые несколько строк следующим образом:

def findPlaces(loc, radius=9000, pagetoken = None):
    # loc = coords.append((long,lat))
    loc = long, lat
    type = 'school'
       :

А после fun c попробуйте выполнить итерацию по координатам с чем-то как:

for loc in coords:
    findPlaces(loc)

Надеюсь, это поможет вам добиться определенного прогресса. Помимо этого, вам действительно необходимо опубликовать более полный код вместе с файлами данных. В идеале вы должны опубликовать что-то, что мы можем запустить и посмотреть, что произойдет. Учет данных является обычной практикой при обращении за помощью.

...