Existe-t-il un moyen efficace de convertir Geojson en WKT?

10

Je veux utiliser ST_GeomFromText () pour charger des données vectorielles dans PostGIS. Cependant, je ne sais pas comment convertir du type Geojson en WKT.

NB Je sais que je peux utiliser OGR2OGR pour télécharger directement le geojson, mais je veux juste confirmer s'il existe un moyen de le convertir ou non. Merci.

Yu Guo
la source
ogr2ogr pourrait être un moyen
Au
De quelle manière efficace?
RK
1
Si votre version PostGIS> 2, vous importez directement GeoJSON.
Devdatta Tengshe

Réponses:

11

pourquoi ne pas utiliser

  • ST_GeomFromGeoJSON qui prend en entrée une représentation geojson d'une géométrie et sort un objet géométrique PostGIS.
  • ST_AsGeoJSON , l'inverse

voir Création de collections d' entités GeoJSON avec les fonctions JSON et PostGIS ou ST_GeomFromGeoJSON à partir d'OpenGeo.

Pour convertir en WKT, utilisez

  • ST_AsText , l'inverse de ST_GeomFromText () qui retourne le texte bien connu (WKT)
  • ST_AsEWKT même avec les métadonnées SRID
gène
la source
Salut, merci beaucoup. Je ne connais même pas cet outil. J'apprends encore de vous en tant qu'étudiant.
Yu Guo
7

Si Python est votre truc, vous pouvez utiliser GeoMet . C'est un module Python qui convertit GeoJSON en WKT / WKB et vice versa. Vous pouvez l'installer directement à partir du référentiel github à l'aide de pip

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

Voici un exemple de conversion:

>>> 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
la source