Аналог Cesium.js на Python

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Аминодов-Борисов
Активный участник
Сообщения: 148
Зарегистрирован: 02 авг 2014, 18:29
Репутация: 24
Откуда: Москва

Аналог Cesium.js на Python

Сообщение Аминодов-Борисов » 18 янв 2022, 22:17

Здравствуйте!
Скажите, пожалуйста, существует ли аналог Cesium.js на Python?
Пожелания:
- Возможность добавить растровую карту через WMS/WMTS
- Возможность добавлять модели в формате glb
- Возможность автоматического построения геометрических тел по параметрам (цилиндры, конусы, шары)
И чтобы я мог добавить полученный глобус в оконное приложение, написанное с использованием PyQt.
Спасибо!

Аватара пользователя
oldbay
Участник
Сообщения: 53
Зарегистрирован: 14 июл 2015, 11:46
Репутация: 19
Откуда: Санкт-Петербург
Контактная информация:

Re: Аналог Cesium.js на Python

Сообщение oldbay » 19 янв 2022, 00:07

Есть виртуальный глобус на C++ (движок OpenSceneGraph) - http://osgearth.org. Наверно самое близкое к цезиуму что знаю. Но увы у OSG нет официальных библиотек совместимости c python (всё что было неофициальное и давно заброшенное). Так что даже через "вёрткие тинтакли" туда питон особо не впихнёшь.

Для самого цезиума был такой проект https://pypi.org/project/cesiumpy - но в своё время его тоже не получилось запустить.

Аминодов-Борисов
Активный участник
Сообщения: 148
Зарегистрирован: 02 авг 2014, 18:29
Репутация: 24
Откуда: Москва

Re: Аналог Cesium.js на Python

Сообщение Аминодов-Борисов » 19 янв 2022, 12:13

Большое спасибо за ответ!
Я попробовал установить и запустить CesiumPy. При первом же запуске, на строчке

Код: Выделить всё

>>> import cesiumpy
, я получил ошибку:

Код: Выделить всё

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\Python39\lib\site-packages\cesiumpy\__init__.py", line 13, in <module>
    from cesiumpy.entities.cartesian import Cartesian2, Cartesian3, Cartesian4      # noqa
  File "C:\Program Files\Python39\lib\site-packages\cesiumpy\entities\cartesian.py", line 9, in <module>
    import cesiumpy.extension.geocode as geocode
  File "C:\Program Files\Python39\lib\site-packages\cesiumpy\extension\geocode.py", line 12, in <module>
    _GEOCODER = GoogleV3()
  File "C:\Program Files\Python39\lib\site-packages\geopy\geocoders\google.py", line 113, in __init__
    raise ConfigurationError(
geopy.exc.ConfigurationError: Since July 2018 Google requires each request to have an API key. Pass a valid `api_key` to GoogleV3 geocoder to fix this error. See https://developers.google.com/maps/documentation/geocoding/usage-and-billing
В общем, модуль обращается к гугловскому геокодеру, а Гугл в свою очередь ругается на отсутствие API key.
Во-первых, мне тупо жалко денег. Во-вторых, геокодинг для моих задач не нужен вообще. Поэтому я закомментировал все строчки, в которых идёт обращение к геокодеру. По крайней мере, после строчки

Код: Выделить всё

>>> import cesiumpy
ошибок больше не было.

Надеюсь, лицензия библиотеки не запрещает вот таких изменений. :)

Pavell
Новоприбывший
Сообщения: 7
Зарегистрирован: 18 авг 2023, 10:46
Репутация: 0
Откуда: Новосибирск

Re: Аналог Cesium.js на Python

Сообщение Pavell » 18 авг 2023, 17:01

Алексей Борисов, Здравствуйте) подскажите удалось ли вам найти аналог цезиум на питоне?) если нет, то на какой платформе работаете с геоданными? знаете ли вы программу в которой глобус можно было бы развернуть до проекции Глиссона?

Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей