8 votos

Contar número de vértices de un shapefile con OGR

Quisiera extraer el número total de vértices de un shapefile con OGR de línea de comandos.

Esta respuesta sugiere un método para las intersecciones, pero no es claro cómo Cruz-aplicarlo.

Muchos otros métodos sugieren escribir pequeños scripts de Python, pero esto parece una solución innecesariamente compleja.

9voto

Nikola Puntos 21

Para extraer el número total de vértices en un shapefile, simplemente utilizaría un poco de Spatialite SQL:

Ejemplo de salida:

5voto

music2myear Puntos 151

He logrado usando el siguiente comando:

ogrinfo -al myshapefile.shp | grep POLYGON | sed 's/$/,/' | tr -d -c "," | wc

Esto comienza por imprimir el shapefile de contenidos a stdout, incluyendo todos los de la geometría. (ogrinfo -al myshapefile.shp)

A continuación, nos extraer sólo las líneas que contienen la geometría (grep POLYGON)

Esto se traduce en una lista de puntos de la forma, para un multipolygon de:

(((34 43,22 10,70 5),(23 43,54 1,89 2)),((23 43,43 2)))

Observe que cada punto es seguido por una coma, excepto el último.

Por lo tanto, podemos agregar una coma al final de la línea. (sed 's/$/,/')

Finalmente, podemos eliminar todos los caracteres que no es una coma (tr -d -c ",") y el recuento de las comas (wc) lo que da el número de puntos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X