Existe alguma maneira eficiente de converter Geojson para WKT?

10

Eu quero usar ST_GeomFromText () para carregar dados vetoriais para PostGIS. No entanto, não sei como converter do tipo Geojson para WKT.

NB: Eu sei que posso usar o OGR2OGR para carregar o geojson diretamente, mas só quero confirmar se existe alguma maneira de convertê-lo ou não. Obrigado.

Yu Guo
fonte
ogr2ogr pode ser uma maneira
Abaixo do radar
Eficiente de que maneira?
RK
11
Se a sua versão PostGIS> 2, você importa GeoJSON diretamente.
Devdatta Tengshe

Respostas:

11

por que não usar

  • ST_GeomFromGeoJSON que recebe como entrada uma representação geojson de uma geometria e gera um objeto de geometria PostGIS.
  • ST_AsGeoJSON , o inverso

consulte Criando coleções de recursos GeoJSON com funções JSON e PostGIS ou ST_GeomFromGeoJSON do OpenGeo.

Para converter para WKT, use

  • ST_AsText , o inverso de ST_GeomFromText () que retorna o Texto Conhecido (WKT)
  • ST_AsEWKT mesmo com metadados SRID
gene
fonte
Oi, muito obrigado. Eu nem conheço essa ferramenta. Ainda estou aprendendo com você como estudante.
Yu Guo
7

Se você gosta de Python, pode usar o GeoMet . É um módulo Python que converte GeoJSON em WKT / WKB e vice-versa. Você pode instalá-lo diretamente do repositório do github usando pip

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

Aqui está um exemplo de conversão:

>>> 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
fonte