Есть ли эффективный способ конвертировать Geojson в WKT?

10

Я хочу использовать ST_GeomFromText () для загрузки векторных данных в PostGIS. Тем не менее, я не знаю, как преобразовать Geojson типа в WKT.

Примечание: я знаю, что могу использовать OGR2OGR для прямой загрузки геоджона, но я просто хочу подтвердить, есть ли какой-либо способ конвертировать его или нет. Спасибо.

Ю Го
источник
ogr2ogr может быть путь
ниже радара
Каким образом это эффективно?
РК
1
Если ваша версия PostGIS> 2, вы импортируете GeoJSON напрямую.
Девдатта Тенгше

Ответы:

11

почему бы не использовать

  • ST_GeomFromGeoJSON, который принимает в качестве входных данных представление геометрии геойсона и выводит геометрический объект PostGIS.
  • ST_AsGeoJSON , обратное

см. Создание коллекций объектов GeoJSON с помощью функций JSON и PostGIS или ST_GeomFromGeoJSON из OpenGeo.

Чтобы преобразовать в WKT, используйте

  • ST_AsText , обратный к ST_GeomFromText (), который возвращает хорошо известный текст (WKT)
  • ST_AsEWKT то же самое с метаданными SRID
ген
источник
Привет, спасибо большое. Я даже не знаю этот инструмент. Я все еще учусь у тебя как студент.
Ю Го
7

Если вам нравится Python, вы можете использовать GeoMet . Это модуль Python, который конвертирует GeoJSON в WKT / WKB и наоборот. Вы можете установить его прямо из репозитория github с помощью pip

$ pip install git+git://github.com/larsbutler/geomet.git

Вот пример преобразования:

>>> from geomet import wkt
>>> point = {'type': 'Point', 'coordinates': [116.4, 45.2, 11.1]}
>>> wkt.dumps(point, decimals=4)
'POINT (116.4000 45.2000 11.1000)'
RK
источник