Невозможно получить ограничивающую рамку геохаша - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь получить ограничивающую рамку (координаты x, y) геохешей, используя модуль геохэш Python.Я могу успешно читать в геохэшах и получать их центроид, но когда я пытаюсь использовать метод geohash.bbox(), это не удается.Вот код:

#import modules
import Geohash
import csv




    dataArray = []

    with open('C:\Users\Desktop\data.csv') as csvfile:
        readCSV = csv.reader(csvfile, delimiter=',')
        for row in readCSV:
            geoHash = row[0] # this is the geohash identifier
            trips = row[1]
            share_of_trips = row[2]
            time_ID = row[3]
            perc_trips = row[4]
            geoStr = str(geoHash)
            latLong = Geohash.decode_exactly(geoStr)
            # Get Bounding Box
            boundingBox = Geohash.bbox(geoStr)
            print boundingBox

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

Я получаю ошибку:

AttributeError: 'module' object has no attribute 'bbox'

Когда я использую geohash, в отличие от Geohash, он говорит geohash is not defined.

Есть мысли?Заранее спасибо.Я прочитал документацию:

geohash.bbox (hashcode) Ограничительная рамка для хеш-кода geohash.Этот метод возвращает словарь с ключами "s", "e", "w" и "n", что означает соответственно Юг, Восток, Запад и Север.

>>> geohash.bbox('ezs42')
{'s': 42.5830078125, 'e': -5.5810546875, 'w': -5.625, 'n': 42.626953125}

1 Ответ

0 голосов
/ 29 мая 2019

, но когда я пытаюсь использовать метод geohash.bbox(), происходит сбой

Ваш код имеет Geohash.bbox(), что не одно и то же.

Когда я использую geohash, в отличие от Geohash, он говорит: geohash is not defined.

Это потому, что у вас есть import Geohash.Возможно, вам нужно изменить это значение на import geohash.

Мой поиск в Google по запросу "python geohash" включает как минимум две библиотеки.Документация для одного показывает, что вам нужно сделать import Geohash, но эта библиотека, похоже, не имеет функции bbox().Документация для второй библиотеки имеет функцию bbox(), но требует import geohash.Я предлагаю вам выяснить, какую библиотеку вы используете, и внимательно изучить документацию для этой библиотеки , чтобы определить правильное использование.

...