Pergunta

Alguém já tentou usá-lo e pode dizer se ele está bem implementado?

- Assaf (que passou as últimas semanas ficando cada vez mais frustrado com a implementação deficiente do MySQL de funções OpenGIS e agora está pensando em mudar para MSSQL)

Foi útil?

Solução

Sim, eles trabalho.

Eu só mudou um minhas aulas a partir de uma consulta baseada em ESRI-ArcObject usando ISpatialFilter a um SqlCommand que retorna os mesmos dados. É uma pesquisa por proximidade (devolve quaisquer registos que estão dentro de 1000 pés de ponto x).

Na primeira consulta ESRI foi ainda mais rápido, mas que foi devido a um mal construído onde cláusula que era muito ineffecient (eu ainda estou aprendendo como usar as funções espaciais em SQLSVR2008).

Depois de alguns ajustes, o meu método de SQL foi mais rápido do que o método ESRI, mas não por muito. Então eu roubei minha busca distância de até 10000 pés e então eu vi a diferença. O método SQL Server 2008 foi muito mais rápido.

(ESRI) Pesquisar nas proximidades Clientes Tempo Decorrido (sec): 1.503 (SQL2008) Consulta Clientes próximas Tempo Decorrido (sec): 0,925

Embora as diferenças de velocidade não têm a ver com os índices, mas com ESRI-ArcObjects. No meu método ESRI, eu estou recebendo minha distância, x e y de IProximityOperator e IPoint. No método SQL2008, eu estou deixando o banco de dados fazer todo o trabalho: SHAPE.STX como X, SHAPE.STY como Y, SHAPE.STDistance (mas os desenvolvedores ArcObject sei tudo sobre isso em cima).

Eu estou impressionado até agora.

Outras dicas

Sim, funciona, eu tenho um código de exemplo aqui SQL Server 2008 Proximidade pesquisa com o tipo de dados geography

Sim. Eles são implementados corretamente. Você também tem PostGIS do PostgreSQL como uma opção, Oracle Spatial. Informix e DB2 também têm implementações de um tipo espacial.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top