Как сериализовать данные ГИС в двоичных форматах? - PullRequest
0 голосов
/ 11 сентября 2018

Как вы, возможно, уже знаете, предпочтительным форматом сериализации данных ГИС (Точка, Линия ...) в формате JSON является использование GeoJSON. Например, у меня есть объект, содержащий поле точек, поле точек сериализуется в хорошо известном формате geoJSON.

"value": [
    {
        "address_id_destination": "1070",
        "address_id_source": "1069",
        "client_cash_payed": 150000,
        "creation_date": "2018-09-09T13:34:32.910103+00:00",
        "delivery_confirmation_code": "",
        "destination_city": "ساری",
        "destination_region_id": 16,
        "destination_region_location": {
            "id": {
                "coordinates": [
                    53.05863279999994,
                    36.5658729
                ],
                "type": "Point"
            },
            "properties": {},
            "type": "Feature"
        },
        "discount": 0,
        "dispatch_date": "2018-09-10",
        "dispatch_date_ms": 1536537600000,
        "dispatch_hour": "18:03",
        "driver_cellphone": "",
        "driver_commission": 15000,
        "driver_income": 135000,
        "driver_name": "",
        "height": 1,
        "length": 0,
  }

Теперь, если мой бэкэнд-API позволяет мне выбирать между методами сериализации (например, с использованием заголовка Accept) и я могу использовать двоичные протоколы (MessagePack, CBOR ...), как мне сериализовать мои поля Geo? Должен ли я использовать GeoJSON или использовать WKB? Изменить: Существует широко известный формат для сериализации данных Geo в Google ProtoBuf, известный как GeoBuf. Мне нужно что-то вроде GeoBuf для других двоичных протоколов!

...