[Gvsig_desarrolladores] [SoC] New rules for the Topology Framework in gvSIG Desktop- Reporte semana 5

Joaquin Jose del Cerro Murciano jjdelcerro en gvsig.org
Lun Jul 1 17:41:53 CEST 2019


Hola Mauro,
te voy comentando algunas cosas en varios correos.

En este sobre las geometrias multiparte.

He visto que has introducido el que las dos reglas puedan trabajar con
geometrias
multiparte (multipoint y multiline).

Introducir esto, ademas de la correcta implementacion de las reglas y
acciones
asociadas a ellas, plantea algun problema extra, que no se si se da en tu
caso,
aunque es facil que si.

Primero te comento lo facil.
Para mustBeCoincidentWithPointRule, has declarado en su factoria que acepte
multipoint para su segundo dataset. Creo que si te entra un multipoint ahi
tu
codigo no dara los resultados esperados.
Tambien habra algun problema cuando no se pueden usar indices espaciales.
Creo que ambas cosas pueden ser sencillas de corregir, asi que echa un
vistazo
al codigo y me comentas cual es el problema y como solucionarlo.
Espero que me digas algo de esto.



Lo otro mas complicado...
Si llega un multipoint en el primer dataset y alguno de sus puntos no
coincide
con un punto del segundo dataset... ¿ que acciones tendria disponibles ?
Podria:

- Eliminar la feature entera, todo el multipoint, que es lo que has
  implementado. O todos los puntos del multipoint coinciden con alguno del
  segundo dataset o si hay alguno que no los elimino todos.

- Mantener la feature y eliminar solo el punto del multipoint que no
coincide
  con ninguno del segundo dataset. Esto plantea hilar mas fino... ¿ Y si se
  eliminan todos los puntos del multipoint ? ¿ Borramos entonces la feature
  entera ?


No se trata ahora de decidir si me gusta mas una accion que la otra, son dos
acciones perfectamente razonables por parte de un usuario.

Deberiamos implementar las dos.

Pero...
digamos que nos inspiramos en cierto software comercial al definir algunas
partes
de topologia y nos llevamos alguna deficiencia con ello.
No hay forma simple de hacerle llegar a la accion a que primitiva de la
geometria
multiparte hace referencia el error detectado.

Una solucion seria dar soporte a ello.
Podriamos añadir al addLine del report un par de parametros, para indicar el
numero de "primnitiva" dentro de la geometria. Y digo dos, por que como
tenemos
dos features, para poder hacer referencia la "primitiva" de una u otra
geometria (por cierto, he visto que no estas pasando al informe la segunda
feature).

  report.addLine(self,
              self.getDataSet1(),
              self.getDataSet2(),
              point1,
              point1,
              feature1.getReference(),
              feature2.getReference(),
              primitive1, # Si no procede -1
              primitive2, # Si no procede -1
              False,
              "The point is not coincident."
  )

De esa forma al implementar la accion "Mantener la feature y eliminar solo
el punto"
sabriamos que punto del multipunto habria que eliminar.

No se si ves alguna otra solucion "mas simple".
Espero comentarios al respecto.

Un saludo
Joaquin.

El vie., 28 jun. 2019 a las 15:31, Mauro Carlevaro (<mauroctecno en gmail.com>)
escribió:

> Hola, envío el reporte semanal correspondiente al periodo del 24 al 30 de
> Junio.
>
> Qué pude completar esta semana?
> * Estudio de la regla Points must be covered by line
> * Se agregó la consideración de que se tenga multipuntos en la regla Must
> be
> coincident with.
> * Desarrollo de la primera parte del código de la regla Points must be
> covered by lin para la integración.
> * Se continuó mejorando la documentación, se agrego una sección sobre el
> plan de testing.
>
> Qué voy a hacer la próxima semana?
> * Realizar la integración de la regla Points must be covered by line con el
> framework de topología.
> * Optimizar el algoritmo desarrollado.
> * Testear y depurar el código desarrollado.
> * Seguir documentando todo el proceso.
>
> Hay algún problema, bloqueo?  No hay problema de bloqueo.
>
> Referencias:
>     Reporte semana 5. Link:
>
> https://github.com/Maureque/gvsig-gsoc2019-topology/wiki/5a.-Report-Week-5-(June-24th-to-June-30th)
>     Regla Points must be covered by line. Link:
>
> https://github.com/Maureque/gvsig-gsoc2019-topology/wiki/5.-Points-must-be-covered-by-line
>     Wiki GitHub, link:
> https://github.com/Maureque/gvsig-gsoc2019-topology/wiki
>     Wiki OSGeo, link:
>
> https://wiki.osgeo.org/wiki/New_rules_for_the_Topology_Framework_in_gvSIG_Desktop
>
> Saludos,
> Mauro
>
>
>
> --
> Sent from:
> http://osgeo-org.1560.x6.nabble.com/gvSIG-desarrolladores-f4163512.html
> _______________________________________________
> 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
gvSIG Association
www.gvsig.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20190701/6ef879c0/attachment.html>


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