Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server - От географска дължина и ширина до геометричен тип данни

Имате геометрия, която съхранява форма в евклидовата геометрия, и искате да свържете точка от земното кълбо, представена от географска ширина и дължина, с нея, за да видите дали е вътре. Това няма да работи поради начина, по който SQL съхранява данните. Вероятно трябва да използвате типове географски данни, за да проверите това - Географската ширина и дължина са точки върху сфера (Всъщност геодезични данни, тъй като земята не е съвсем сфера.)

За повече информация защо са различни, вижте това обяснение от microsoft . Също така този отговор на stackoverflow:GEOMETRY и GEOGRAPHY разлика SQL Сървър 2008

За да конвертирате вашите данни от геометрия в география, опитайте:Geography::STGeomFromText(cast(GeomCol as varchar(max)), 4326)

След това можете да използвате STIntersects метод, документиран от microsoft тук .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_QUERY() Примери в SQL Server (T-SQL)

  2. Запазването на XML съдържание с кодиране ISO-8859-1 с помощта на Entity Framework в XML колоната на SQL Server 2008 дава грешка при кодиране

  3. Какво представлява SQL Server RAISERROR?

  4. PHP 5.5.0 с Microsoft SQL Server 2008 R2 - Няма sqlsrv_connect()?

  5. Разделяне на низ чрез sql оператор (ip адрес)