Alexandre, A solução apresentada pelo OpenGeo poderá ser a mais adequada e com melhor performance para o teu problema:
http://blog.opengeo.org/2011/09/28/indexed-nearest-neighbour-search-in-postgis/ Podes usar a solução simplificada que utiliza bounding boxes ou a versão em duas fases. Sérgio Freitas ---------------------------------------------------------------------------------- CTO *Novageo Solutions S.A.* *Estrada da Ponte, nº 2 - Quinta Grande, Alfragide* *2610-141 Amadora - Portugal **[email protected] <[email protected]>t · www.novageo.pt Tel (PT): +351 214 213 262 - Tel (AO) +244 933 463 605* * * *AVISO. Esta comunicação, e os ficheiros anexos, é privilegiada e confidencial, destinando-se exclusivamente ao(s) destinatário(s). Se não é o destinatário (ou o responsável pela sua entrega ao destinatário) e recebeu a mesma por engano, fica notificado que é estritamente proibido reproduzir, guardar ou distribuir toda ou qualquer parte desta mensagem e ficheiros anexos. Por favor reencaminhe a mensagem para o responsável pelo seu envio ou contacte-nos por telefone e elimine a mensagem e ficheiros anexos do seu computador, sem os reproduzir.* * * *NOTICE: **This message and attachments are intended only for the use of their addressee and may contain confidential information belonging to Novageo Solutions. If you are not the intended recipient, you are hereby notified that any reading, dissemination, distribution, or copying of this message, or any attachment, is strictly prohibited. If you have received this message in error, please notify the original sender immediately and delete this message, along with any attachments.* 2012/5/4 duartecarreira <[email protected]> > Alexandre, > > Vou arriscar um comentário... não sou grande coisa com sql espacial e o teu > já não é propriamente trivial!! > > A minha ideia é que neste caso o índice espacial não fará grande sentido > sendo um operador que calcula valores entre quaisquer 2 geometrias... acho > que tens de fazer uma selecção espacial, ou seja, limitar o cálculo do <-> > a > uma pré-selecção com base na intersecção de geometrias. Podes usar uma > distância máxima de N km para obter os polys da mesma classe dentro desse > envelope e só para esses calcular o mínimo <->. Corres o risco de ficar sem > resposta para os casos em que o poly mais próximo da mesma classe se > encontrar para além dessa distância... poderás ter de fazer 1 segundo > select > só para esses casos? > > Também me ocorre que neste caso, se limitares o cálculo do poly mais > próximo > a uma selecção dentro de um envelope, então será melhor usar st_distance > porque não usa o centróide. O centróide pode dar falsos "mais próximos" > facilmente... > > Claro que isto é só teoria... > > Aproveito para propor uma ideia... um repositório de receitas sql?? talvez > no wiki da osgeopt?? > > Duarte > > -- > View this message in context: > http://osgeo-org.1560.n6.nabble.com/Postgis-2-0-Analise-de-Vizinho-mais-proximo-usando-index-GIST-funcao-tp4945669p4952429.html > Sent from the OSGeo Portuguese Local Chapter mailing list archive at > Nabble.com. > > _______________________________________________ > Portugal mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/portugal > >
_______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
