<div dir="ltr"><div dir="ltr">Hola Mauro, <br>te voy comentando algunas cosas en varios correos.<br><br>En este sobre las geometrias multiparte.<br><br>He visto que has introducido el que las dos reglas puedan trabajar con geometrias<br>multiparte (multipoint y multiline).<br><br>Introducir esto, ademas de la correcta implementacion de las reglas y acciones<br>asociadas a ellas, plantea algun problema extra, que no se si se da en tu caso, <br>aunque es facil que si.<br><br>Primero te comento lo facil.<br>Para mustBeCoincidentWithPointRule, has declarado en su factoria que acepte <br>multipoint para su segundo dataset. Creo que si te entra un multipoint ahi tu<br>codigo no dara los resultados esperados.<br>Tambien habra algun problema cuando no se pueden usar indices espaciales.<br>Creo que ambas cosas pueden ser sencillas de corregir, asi que echa un vistazo <br>al codigo y me comentas cual es el problema y como solucionarlo.<br>Espero que me digas algo de esto.<br><br><br><br>Lo otro mas complicado...<br>Si llega un multipoint en el primer dataset y alguno de sus puntos no coincide <br>con un punto del segundo dataset... ¿ que acciones tendria disponibles ? <br>Podria:<br><br>- Eliminar la feature entera, todo el multipoint, que es lo que has <br>  implementado. O todos los puntos del multipoint coinciden con alguno del <br>  segundo dataset o si hay alguno que no los elimino todos.<br><br>- Mantener la feature y eliminar solo el punto del multipoint que no coincide<br>  con ninguno del segundo dataset. Esto plantea hilar mas fino... ¿ Y si se<br>  eliminan todos los puntos del multipoint ? ¿ Borramos entonces la feature<br>  entera ?<br><br><br>No se trata ahora de decidir si me gusta mas una accion que la otra, son dos<br>acciones perfectamente razonables por parte de un usuario.<br><br>Deberiamos implementar las dos.<br><br>Pero... <br>digamos que nos inspiramos en cierto software comercial al definir algunas partes<br>de topologia y nos llevamos alguna deficiencia con ello.<br>No hay forma simple de hacerle llegar a la accion a que primitiva de la geometria<br>multiparte hace referencia el error detectado.<br><br>Una solucion seria dar soporte a ello.<br>Podriamos añadir al addLine del report un par de parametros, para indicar el<br>numero de &quot;primnitiva&quot; dentro de la geometria. Y digo dos, por que como tenemos<br>dos features, para poder hacer referencia la &quot;primitiva&quot; de una u otra <br>geometria (por cierto, he visto que no estas pasando al informe la segunda <br>feature).<br><br>  report.addLine(self,<br>              self.getDataSet1(),<br>              self.getDataSet2(),<br>              point1,<br>              point1,<br>              feature1.getReference(), <br>              feature2.getReference(), <br>              primitive1, # Si no procede -1<br>              primitive2, # Si no procede -1<br>              False,<br>              &quot;The point is not coincident.&quot;<br>  )<br><br>De esa forma al implementar la accion &quot;Mantener la feature y eliminar solo el punto&quot;<br>sabriamos que punto del multipunto habria que eliminar.<br><br>No se si ves alguna otra solucion &quot;mas simple&quot;. <br>Espero comentarios al respecto.<br><br>Un saludo<br>Joaquin.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">El vie., 28 jun. 2019 a las 15:31, Mauro Carlevaro (&lt;<a href="mailto:mauroctecno@gmail.com" target="_blank">mauroctecno@gmail.com</a>&gt;) escribió:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hola, envío el reporte semanal correspondiente al periodo del 24 al 30 de<br>
Junio.<br>
<br>
Qué pude completar esta semana?<br>
* Estudio de la regla Points must be covered by line<br>
* Se agregó la consideración de que se tenga multipuntos en la regla Must be<br>
coincident with.<br>
* Desarrollo de la primera parte del código de la regla Points must be<br>
covered by lin para la integración.<br>
* Se continuó mejorando la documentación, se agrego una sección sobre el<br>
plan de testing.<br>
<br>
Qué voy a hacer la próxima semana?<br>
* Realizar la integración de la regla Points must be covered by line con el<br>
framework de topología.<br>
* Optimizar el algoritmo desarrollado.<br>
* Testear y depurar el código desarrollado.<br>
* Seguir documentando todo el proceso. <br>
<br>
Hay algún problema, bloqueo?  No hay problema de bloqueo.<br>
<br>
Referencias:<br>
    Reporte semana 5. Link:<br>
<a href="https://github.com/Maureque/gvsig-gsoc2019-topology/wiki/5a.-Report-Week-5-(June-24th-to-June-30th)" rel="noreferrer" target="_blank">https://github.com/Maureque/gvsig-gsoc2019-topology/wiki/5a.-Report-Week-5-(June-24th-to-June-30th)</a><br>
    Regla Points must be covered by line. Link:<br>
<a href="https://github.com/Maureque/gvsig-gsoc2019-topology/wiki/5.-Points-must-be-covered-by-line" rel="noreferrer" target="_blank">https://github.com/Maureque/gvsig-gsoc2019-topology/wiki/5.-Points-must-be-covered-by-line</a><br>
    Wiki GitHub, link:<br>
<a href="https://github.com/Maureque/gvsig-gsoc2019-topology/wiki" rel="noreferrer" target="_blank">https://github.com/Maureque/gvsig-gsoc2019-topology/wiki</a><br>
    Wiki OSGeo, link:<br>
<a href="https://wiki.osgeo.org/wiki/New_rules_for_the_Topology_Framework_in_gvSIG_Desktop" rel="noreferrer" target="_blank">https://wiki.osgeo.org/wiki/New_rules_for_the_Topology_Framework_in_gvSIG_Desktop</a><br>
<br>
Saludos,<br>
Mauro <br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://osgeo-org.1560.x6.nabble.com/gvSIG-desarrolladores-f4163512.html" rel="noreferrer" target="_blank">http://osgeo-org.1560.x6.nabble.com/gvSIG-desarrolladores-f4163512.html</a><br>
_______________________________________________<br>
gvSIG_desarrolladores mailing list<br>
<a href="mailto:gvSIG_desarrolladores@listserv.gva.es" target="_blank">gvSIG_desarrolladores@listserv.gva.es</a><br>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: <a href="https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores" rel="noreferrer" target="_blank">https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="m_8197443138155275630gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>--------------------------------------<br>Joaquin Jose del Cerro Murciano<br>Development and software arquitecture manager at gvSIG Team<br><a href="mailto:jjdelcerro@gvsig.com" target="_blank">jjdelcerro@gvsig.com</a><br>gvSIG Association<br><a href="http://www.gvsig.com" target="_blank">www.gvsig.com</a><br></div></div></div></div></div></div>