Как прочитать Firestore GeoPoint в скрипте python? - PullRequest
0 голосов
/ 07 мая 2020

Я пишу Python скрипт для чтения данных Firebase Firestore. Каким-то образом documentSnapshop.to_dict () у меня не работал. Итак, я написал класс, сославшись на https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/firestore/cloud-client/snippets.py#L103 этот ресурс.

В моем случае местоположение города хранится как поле хранилища GeoPoint. Я не могу найти это в словаре. Как мы можем добавить местоположение GeoPoint в класс City, упомянутый в ссылочном примере, упомянутом выше?

1 Ответ

0 голосов
/ 11 мая 2020

Предполагая, что свойство GeoLocation имеет имя location, вы должны просто добавить его, например:

class City(object):
    def __init__(self, name, state, country, capital=False, population=0,
                 regions=[], location):
        self.name = name
        self.state = state
        self.country = country
        self.capital = capital
        self.population = population
        self.regions = regions
        self.location = location

Затем, при получении данных из БД, вы можете установить свойство location следующим образом:

source = db.collection(u'collection').document(u'docId').get().to_dict()
city = City(source[u'name'], source[u'state'], source[u'country'], source[u'country'], source[u'location'])

Если вы хотите получить широту или долготу, вы можете сделать это с помощью следующего кода:

city.location.latitude
city.location.longitude
...