[Gvsig_desarrolladores] Número de geometrías de una multigeometría

Joaquin Jose del Cerro Murciano jjdelcerro en gvsig.org
Jue Abr 6 19:38:01 CEST 2017


El 5 de abril de 2017, 18:46, Francisco Puga <fpuga en icarto.es> escribió:

> Hola,
>
> Quería obtener de forma rápida el número de geometrías (primitivas) de
> cada feature de un shape.
>
> No se si hay alguna forma de hacerlo directamente en gvSIG pero me hice un
> script superrapido tal que así:
>
> import gvsig
>
> def main(*args):
>     features = gvsig.currentLayer().features()
>     for feature in features:
>       code = feature['id1']
>       num_geometries = feature.geometry().getPrimitivesNumber()
>       # num_geometries = feature.geometry().getNumVertices()
>       print '{}: {}'.format(code, num_geometries)
>
> Pero da el error.
>
> AttributeError: 'org.gvsig.fmap.geom.jts.primitive.curve.line.Line2'
> object has no attribute 'getPrimitivesNumber'
>
> No se si es porque el método getPrimitivesNumber no está en la interfaz
> Geometry si no en Aggregate
> <http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.3.0/javadocs/html/org/gvsig/fmap/geom/aggregate/Aggregate.html>
> que sólo heredan las geometrías multi. Si es así podría ser útil que este
> método estuviera disponible para todas las geometrías para evitar tener que
> hacer comprobaciones de tipo. Por ejemplo Postgis lo hace así con
> ST_NumGeometries
> <http://postgis.net/docs/manual-2.1/ST_NumGeometries.html>. De todas
> formas en las propiedades de la capa está declarada MultiCurve:2D.
>

Me temo que el metodo  getPrimitivesNumber solo va a funcionar sobre
agregados.


> También relacionado con esto. Si paso el script sobre otra capa que tengo,
> en este caso un Multicurve:·3DM no me va ni el método getPrimitivesNumber()
> ni el método getNumVertices()
>
>
Si pudieses hacerme llegar el shape que te da esos problemas le hecho un
vistazo a ver que es lo que pasa.

Un saludo
Joaquin



> Estoy en gvSIG 2.3.1.
>
> Un saludo.
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>


-- 
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelcerro en gvsig.com
jjdelcerro en gvsig.org
gvSIG Association
www.gvsig.com
www.gvsig.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20170406/ba18c5be/attachment.html>


Más información sobre la lista de distribución gvSIG_desarrolladores