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

Francisco Puga fpuga en icarto.es
Dom Abr 9 20:41:02 CEST 2017


Gracias,

Te lo envío por privado.

El 6 de abril de 2017, 19:38, Joaquin Jose del Cerro Murciano <
jjdelcerro en gvsig.org> escribió:

>
>
> 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
>
> _______________________________________________
> 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
>
>


-- 
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
http://www.icarto.es/

c/ Rafael Alberti nº 13 – 1º D
15008 A Coruña
Galicia (Spain)
+34 881927808

Este correo electrónico contiene información estrictamente confidencial y
es de uso exclusivo del destinatario, quedando prohibida a cualquier otra
persona su revelación, copia, distribución, o el ejercicio de cualquier
acción relativa a su contenido. Si ha recibido este mensaje por error, por
favor conteste a su remitente mediante correo electrónico y proceda a
borrarlo de su sistema.

Sus datos personales serán tratados de forma confidencial y no serán
cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los
derecho de oposición, acceso, rectificación y cancelación de acuerdo con lo
establecido en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de
Datos de Carácter Personal dirigiéndose a Innovación, Cooperación,
Cartografía e Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael
Alberti, nº 13, 1ºD, 15.008 – (A Coruña).
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20170409/0d4bd419/attachment.html>


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