Comment convertir un fichier de formes en WKT?

12

J'essaie de convertir un fichier de formes au format WKT (Well Known Text) simple dans l'exemple ci-dessous (à partir de http://en.wikipedia.org/wiki/Well-known_text ).

MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),
(30 20, 20 25, 20 15, 30 20)))

Je sais que j'utilise QGIS pour enregistrer le fichier de formes au format CSV, et je peux utiliser ogr2ogr pour effectuer n'importe quel nombre de conversions. En fait, cela ogr2ogr -f CSV out.wkt source.shp -lco GEOMETRY=AS_WKTme rapproche autant que je suis venu jusqu'ici, mais pas tout à fait là. Aucune suggestion?

ps Comme indiqué par Mapperz, ce fil est très similaire à celui-ci . Ce fil, bien qu'il fournisse l'approche ogr2ogr que j'ai notée ci-dessus, n'a pas résolu ce défi particulier. La sortie ogr2ogr que je reçois ressemble à ceci (j'ai tronqué les lignes). Apparemment, je n'ai tout simplement pas compris comment amener ogr2ogr à utiliser le multipolygone.

WKT,AREA,PERIMETER,PINUPOND_,PINUPOND_I,CODE
"POLYGON ((-120.630531650950061 50.838562484449184, . . .
"POLYGON ((-123.206067372148397 51.038984074378327, . . .
Gregory
la source
Quel est le problème avec la sortie ogr2ogr?
til_b
@til_b: adressé en édition.
Gregory
1
Votre forme est-elle MULTIPOLYGONE?
Jürgen Zornig
@ JürgenZornig: Comment savoir? Il serait logique que ce soit un multipolygone, mais je voudrais le vérifier.
Gregory

Réponses:

10

Un texte bien connu n'est pas destiné à enregistrer des calques tels que des fichiers de forme composés de nombreux objets. WKT définit comment représenter la géométrie d'un objet. Cette géométrie peut être mono ou multi-pièces. Les géométries en plusieurs parties signifient que la géométrie d'un objet se compose de plusieurs parties. Par exemple, les îles hawaïennes pourraient être représentées comme un seul objet, mais elles sont composées de nombreuses géométries.

Le fichier de forme est une collection de ces types d'objets. Les objets ont généralement également des informations d'attribut qui font également partie d'un fichier de forme.

Votre approche ogr2ogr convertit ces objets au format csv avec la géométrie WKT (et les représentations textuelles des attributs). Si vous voulez vraiment combiner toutes les géométries en un MULTIPOLYGONE, vous devez d'abord convertir tous les objets en une multi géométrie. Vous pouvez le faire dans QGIS. Sélectionnez dans le menu Vecteur Outils de géométrie, puis Pièces uniques vers plusieurs parties. Ensuite, vous pouvez convertir cela en wkt avec ogr2ogr.

J'espère que cela a du sens.

LauriK
la source
Cela a du sens et j'aurai l'occasion de l'essayer sous peu.
Gregory
D'accord, dans QGIS, j'ai utilisé des outils vectoriels / géométriques / des pièces uniques pour créer plusieurs parties. J'ai enregistré la sortie en tant que nouveau fichier de formes, mais lorsque j'ai chargé ce fichier dans QGIS, il apparaît vide et la table d'attributs est complètement vide (peut-être que void serait une meilleure description, car il n'y a pas d'en-tête non plus).
Gregory
Avez-vous @pyrogerg sélectionné un champ unique lorsque l'outil l'a demandé? Cela signifie que l'outil "regroupe" toutes les fonctionnalités qui ont la même valeur dans ce champ. Si vous n'avez aucun champ que vous souhaitez unique, vous pouvez simplement en créer un avec la calculatrice de champ. Vous pouvez y accéder à partir de la table attributaire. Assurez-vous que le calque est en mode édition (icône de stylo). Sélectionnez ensuite le calculateur de champ et "calculez" par exemple la valeur 1 pour chaque ligne d'un nouveau champ.
LauriK
1
+1 J'ai pris la liberté de clarifier davantage votre modification en mentionnant explicitement que la sortie inclura les attributs.
whuber
5

J'ai écrit un plugin QGIS qui enregistre immédiatement la couche active dans un fichier .wkt.

Le nom du plugin est "WktExport". Vous pouvez le rechercher dans le panneau de plug-in QGIS par défaut.

BTW, le lien vers la page du plugin est le suivant:

https://plugins.qgis.org/plugins/wktexport/

Le plugin "WktExport" pour QGIS crée un dossier, nommé "WktExport" où se trouve le SHP d'origine, et insère dans le dossier un fichier .wkt contenant les éléments au format ascii WKT de tous les objets de SHP (mais aussi KML, ou tout autre fichier original format).

Le nom du fichier .wkt contient la date et l'heure de l'enregistrement, donc en l'enregistrant plusieurs fois, vous aurez plusieurs versions du même fichier.

Cela peut être utile pour créer des animations d'une progression de travail carthographique ou pour documenter l'état actuel d'un fichier.

Veuillez envoyer un message à la liste qgis-developer, surtout si vous trouvez wktexport utile.

Geo DrinX
la source
Le lien du projet est rompu.
Luke Hutchison