sql >> Databasteknik >  >> RDS >> Sqlserver

Använda STCrosses() med ett spatialindex i SQL Server

Nej.

Indexering av rumslig data är inte trivialt, och klassen du diskuterar kan innehålla godtyckligt komplexa figurer, inte bara enkla geometriska former. Det specifika sättet som former och indexering implementeras kan göra det svårt eller omöjligt att hitta överlappningar i det allmänna fallet. Det är inte heller baserat på vad som än är indexerat av rumsliga data för komplexa geometrier. Det kan vara anledningen till att du inte kan kräva att SQL endast använder indexet - det finns inte tillräckligt med data där. I det degenererade fallet kan det finnas, men det skulle inte veta det, så det är avstängt.

Föreställ dig att ha en stjärnform, med komplexa saker inbäddade i den. Indexet kan bara lagra gränsen för det yttre shpe, eller mitten av formen, eller den avgränsande rektangeln. Ingen av dessa skulle räcka för att beräkna skärningspunkten mellan två former, eller om formerna faktiskt överlappar varandra.

Se http://msdn.microsoft.com/en-us/ library/bb895265.aspx#geometry för att bekräfta att det inte stöds.




  1. Hur pratar Access med ODBC-datakällor? Del 5

  2. Förhandsgranska dokument i Microsoft Access Form

  3. PHP, uppdatera sidan vid infogning

  4. Hur man komprimerar rader till en kommaavgränsad lista i en SQL-fråga i MySql