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

SQL Server Circle

Проблемът ви е, че чертаете кръг в географски координати. Google Maps използва уеб меркаторска проекция https://en.wikipedia.org/wiki/Web_Mercator , така че вашият кръг ще бъде овал. Ако искате да направите нещо, което изглежда като кръг в Google Maps, трябва да го направите в набор от данни с проекцията на уеб меркатор. (Нарочно казвам „изглежда като кръг“, тъй като ако го проектирате на друга система, напр. utm за широкомащабна карта, може отново да се окаже овал.)

epsg кодът за web_mercator е 3857, така че ако проектирате своите x и y координати към web_mercator

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT(-9796115.18981 5543147.20386)', 3857);
SELECT @g.BufferWithTolerance(5, .01, 1)

Трябва да работи (просто въведете -9796... 5543... Координатите на web_mercator за вашите географски X и Y)

Изглежда, че трябва да използвате пространствени инструменти на SQL сървър (https://gis.stackexchange.com/questions/2723/is-it-possible-to-reproject-spatial-data-using-sql-server ) или външен инструмент за повторно проектиране. Ако имате само няколко Точки, http://cs2cs.mygeodata.eu/ може да бъде полезно.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Филтриране на израза SELECT по време на деня

  2. Проактивни проверки на състоянието на SQL Server, част 3:Настройки на инстанция и база данни

  3. Отмяна на засегнатите редове в SQL Server с помощта на ExecuteNonQuery?

  4. Visual Studio:ContextSwitchDeadlock

  5. Актуализиране на таблица с произволен запис в изявление за актуализиране в SQL Server?