Tengo una nube de puntos en mi base de datos (espacial de SQL Server 2008). Eso es alrededor de 6 millones de registros. Hay 3 columnas: id, valor, geom. ¿Cuál es la forma óptima de obtener el 'valor' en la entrada lat largo?
Soy nuevo en las consultas espaciales en SQL Server 2008. ¿Alguien puede publicar un ejemplo simple de encontrar el punto en la columna geom, que coincida o esté más cerca del lat de entrada?
geometry
sql-server
nearest-neighbor
Shaunak
fuente
fuente
Respuestas:
Lo que está buscando es la consulta de vecino más cercano. Mira los siguientes enlaces, creo que encontrarás lo que estás buscando.
Consulta de vecino más cercano
Vecinos más cercanos
La optimización de vecino más cercano en SQL Server Denali
fuente
Esto utiliza Geografía, no Geometría (si los datos son Lat / Lng, sus datos deben ser Tipo de geografía, no Geometría)
"El tipo de datos de geografía de SQL Server almacena datos elipsoidales (tierra redonda), como las coordenadas de latitud y longitud del GPS".
Para seleccionar los 5 registros más cercanos desde un punto lat / lng (-122.0 37.0) que puede usar.
fuente