Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Mon 13 January 2020 16:51

EddieBz
Juste Inscrit !
Date d'inscription: 13 Jan 2020
Messages: 3

QGIS: avoir le nombre d'entites d'un SHP sans l'ouvrir dans un SIG

Bonjour,

Je souhaiterais pouvoir connaître le nombre d'entités présents dans un ou plusieurs shapes sans les ouvrir dans QGIS.

Je reçois régulièrement des récolements au format shape (5 ou 6 shapes par récolement) que je transforme et que je consulte directement dans un logiciel SIG qui ne lit pas directement du shape (Editop de la société Sirap).
J'aimerais pouvoir, via un script, connaître le nombre d'entités de chaque shape avant de lancer ma procédure de transformation des shapes dans le format lisible par Editop.
Le but est de pouvoir contrôler que j'ai le même nombre d'objets avant et après la transformation.

Je pense que ça doit pouvoir se faire via un script python mais je ne sais pas du tout comment faire.

Si quelqu'un a une idée, je suis preneur.

Merci, Eddie

Hors ligne

 

#2 Mon 13 January 2020 17:03

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: QGIS: avoir le nombre d'entites d'un SHP sans l'ouvrir dans un SIG

Bonjour,

Si vous avez QGIS installé, vous pouvez accéder en ligne de commande à ogrinfo, issue de la librairie OGR (permettant la lecture/écriture des données vecteurs).

Dans un terminal, la commande ogrinfo mon_shapefile.zip -al -ro - Geom=NO vous donnera un feature Count correspondant à votre nombre d'enregistrements;

Vous pouvez obtenir de l'aide sur la commande en tapant ogrinfo --help.
Si vous êtes sous Windows, vous devez vous placer dans le dossier contenant l'executable (si celui-ci n'est pas dans le PATH).


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#3 Mon 13 January 2020 17:28

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 935
Site web

Re: QGIS: avoir le nombre d'entites d'un SHP sans l'ouvrir dans un SIG

Bonjour,

Comme proposé par @PA, j'avais envisagé l'usage d'ogrinfo, le problème est qu'on ne contrôle pas le contenu de la sortie au niveau du formatage. Il faudrait passer par d'autres outils pour nettoyer la sortie et ne garder que le count et sous Windows, c'est pas génial.

Pour cette raison, vous pouvez regarder du côté de ce script https://gist.github.com/ThomasG77/81b2e … d2f623676e pour un exemple en Python pour compter le nombre d'objets géographiques dans des shp.
Là encore, il y a une dépendance à GDAL mais si vous avez QGIS, vous devez pouvoir lancer le script.

Cordialement, Thomas

Hors ligne

 

#4 Mon 13 January 2020 18:25

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: QGIS: avoir le nombre d'entites d'un SHP sans l'ouvrir dans un SIG

Si vous avez peu de fichiers, il suffit d'ouvrir dans Open Office ou Excel le .dbf associé au .shp.

[Edit]Oups, j'avais diagonalisé la question[/Edit]

Dernière modification par Renaud (Mon 13 January 2020 18:27)


Renaud Mouche

Hors ligne

 

#5 Mon 13 January 2020 19:09

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 566
Site web

Re: QGIS: avoir le nombre d'entites d'un SHP sans l'ouvrir dans un SIG

Il y a aussi https://pypi.org/project/dbf/ qui permet de compter les enregistrements du .dbf avec un script python


Jean-Marie
Azimut

Hors ligne

 

Pied de page des forums

Powered by FluxBB