более эффективный способ поиска через geoJson в двойном цикле Python - PullRequest
0 голосов
/ 25 июня 2018

Какой самый эффективный (или Pythonic способ) поиск в двойном цикле для файла geoJson?

Я хотел бы найти строки строк, начинающие или заканчивающие координаты, равные координатам точки.Я имею в виду, что мне нужно сначала выполнить итерацию по файлу точек, а затем выполнить цикл по файлу линий и, если координаты равны, выгрузить его в новый файл геоджон.

Вы можете увидеть мой код ниже:

for j, feature2 in enumerate(nav['features']):
    if feature2['properties']['gp'] in ('RTE', 'RTB', 'RTA'):
        for i, feature in enumerate(tra['features']):                
            segment = LineString(
                [Point(feature['geometry']["coordinates"][0]), Point(feature['geometry']["coordinates"][1])])
            if Point(poi) != Point(segment.coords[0]) and Point(poi) != Point(segment.coords[1]):
                continue

после этого я делаю некоторые вычисления с этими точками и выгружаю их в новый файл.

Мой файл точек содержит ~ 10k, а файл строки - ~ 90k объектов, и теперь обработка занимает больше суток.Я нашел похожую тему , но в моем случае это никак не отразилось

Буду признателен за любые идеи о том, как сделать этот процесс более элегантным и эффективным!

...