Pages: 1
- Sujet précédent - [Postgresql 9.3] importe fichier GPS surfacique linéaire ou ponctuel - Sujet suivant
#1 Sun 21 March 2021 10:41
- Romary
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 17 Jun 2011
- Messages: 211
[Postgresql 9.3] importe fichier GPS surfacique linéaire ou ponctuel
Bonjour,j'aimerais pouvoir remonter dans une variable l'information du type de géométrie d'un fichier shape ou kml avant de l'importer dans postgresql postgis dans une table import surfacique ou linéaire ou ponctuel en fonction de la valeur de la variable.j'utilise ogr2ogr pour l'import.
Cordialement.
Romary
Dernière modification par Romary (Sun 21 March 2021 10:42)
Hors ligne
#2 Mon 22 March 2021 09:57
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1549
Re: [Postgresql 9.3] importe fichier GPS surfacique linéaire ou ponctuel
Bonjour,
Vous pouvez utiliser ogrinfo pour connaitre le type de la géométrie d'une couche (le KML pouvant avoir plusieurs types géométriques dans le meme fichier).
S'il s'agit de nommer les tables suivant le type, vous pouvez aussi charger le fichier dans une table, regarder dans la vue geometry_columns le type geo de cette table (s'il y a plusieurs types geo dans la table, le type postgis sera GEOMETRY) et renommer la table en fonction de cette valeur.
Ca se fait facilement en SQL apres le chargement de la couche (ogr2ogr a une option post_sql il me semble, pour faire ce genre de choses)
Nicolas
Hors ligne
#3 Mon 22 March 2021 10:09
- Romary
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 17 Jun 2011
- Messages: 211
Re: [Postgresql 9.3] importe fichier GPS surfacique linéaire ou ponctuel
Merci pour la réponse.
Du coup je ne sais pas si je suis au bon endroit. Mais je voudrais récupèrer cette info dans une variable mais j'ai plein de texte de méta-données qui remonte. Comment extraire juste le type de géométrie?
Hors ligne
#4 Mon 22 March 2021 12:15
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1549
Re: [Postgresql 9.3] importe fichier GPS surfacique linéaire ou ponctuel
Vous pouvez utiliser une regexp avec perl ou grep pour extraire le type de géométrie, par ex (ex pris sur stackoverflow):
Code:
geotype=$(ogrinfo -al -so leisure.shp | perl -ne 'print "$1\n" if /Geometry: (.*)/') echo ${geotype} Polygon
Nicolas
Hors ligne
Pages: 1
- Sujet précédent - [Postgresql 9.3] importe fichier GPS surfacique linéaire ou ponctuel - Sujet suivant