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 (<maurocte...@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@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 jjdelce...@gvsig.com gvSIG Association www.gvsig.com
_______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores@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