Ciao Luca, <br><br><div class="gmail_quote">2011/2/23 Luca Mandolesi <span dir="ltr">&lt;<a href="mailto:mandoluca@gmail.com">mandoluca@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<blockquote style="margin: 0pt 0pt 0pt 40px; border: medium none; padding: 0px;"><div>partendo da 2 layer, uno di poligoni e l&#39;altro di punti, sapere per ogni poligono quanti punti ricadono in esso; che poi è quello che fa egregiamente il plugin di cui sopra.</div>


</blockquote><div><br></div><div>Fino a caricare le singole geometrie dal layer chiamandole da postgis ci arrivo, però, dando un occhio al cookbook di Qgis [1], vedo che la funzione contains() sta all&#39;interno della classe QgsGeometry, e viene chiamata a partire da poligoni, punti o linee, create ad hoc.</div>


<div><br></div><div>Partendo dai miei due layer caricati mediante la classe QgsVectorLayer e relativi metodi, come faccio a passarli a QgsGeometry? Devo ricavare i nodi di ogni poligono, e passarli a QgsGeometri e poi usare contains(), o c&#39;è un altra strada?</div>

</blockquote><div>se hai i due layer, siano vlPolygons and vlPoints<br><br>vlPolygons.select( [] ) # recuperi tutte le geometrie senza attributi<br>featPoly = QgsFeature() # crei una feature vuota per il poligono<br>while vlPolygons.nextFeature( featPoly ): # cicli sulle feature recuperate, featPoly conterrà la feature poligonale attuale<br>

    vlPoints.select( [], featPoly.geometry().boundingBox() ) # recupera i punti nel bbox del poligono<br>    featPoint = QgsFeature() # crei una feature vuota per il punto<br>    while vlPoints.nextFeature( featPoint ): # cicli sulle feature recuperate, featPoint conterrà la feature puntale attuale<br>

        if featPoly.geometry().contains( featPoint.geometry() ): # adesso con la contains() verifichi che effettivamente sia contenuto nel poligono<br>            # TODO: qui lavori sul punto<br>            # ad es. aggiungi il punto  (l&#39;id della feature puntale) alla lista o dizionario o quel che sia<br>

<br>Non l&#39;ho provato, l&#39;ho scritto on-the-fly, quindi potrebbe non essere perfettamente funzionante, <br>anche se sono abbastanza convinto di averlo scritto bene ;)<br><br>Oppure più semplicemente potresti recuperare tutti sia tutti i poligoni che tutti i punti, ma in <br>

quel caso saresti costretto a controllare tutti i punti per ogni poligono.... no buono.<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


<div></div><div>Qualcuno mi sa dare una mano? Vado direttamente alla lista degli sviluppatori di Qgis?</div></blockquote><div>E&#39; uguale, forse però ti avrebbero risposto prima :)<br>Piuttosto, guardati il plugin ClosestFeatureFinder (repo Faunalia) che usa anche l&#39;indice spaziale <br>

per recuperare la feature più vicina. Sicuramente ti darà qualche spunto in più.<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div></div><div>Ciao a tutti <br></div></blockquote><div>Saluti. <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><br></div><div>

Luca</div><div><br></div><div><br></div>
<div>[1] <a href="http://www.qgis.it/pyqgis-cookbook/geometry.html" target="_blank">http://www.qgis.it/pyqgis-cookbook/geometry.html</a></div>
<br>_______________________________________________<br>
Iscriviti all&#39;associazione GFOSS.it: <a href="http://www.gfoss.it/drupal/iscrizione" target="_blank">http://www.gfoss.it/drupal/iscrizione</a><br>
<a href="mailto:Gfoss@lists.gfoss.it">Gfoss@lists.gfoss.it</a><br>
<a href="http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss" target="_blank">http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss</a><br>
Questa e&#39; una lista di discussione pubblica aperta a tutti.<br>
Non inviate messaggi commerciali.<br>
I messaggi di questa lista non rispecchiano necessariamente<br>
le posizioni dell&#39;Associazione GFOSS.it.<br>
502 iscritti all&#39;11.2.2011<br></blockquote></div><br><br clear="all"><br>-- <br>Giuseppe Sucameli<br><br>