Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Krąg serwera SQL

Twój problem polega na tym, że rysujesz okrąg we współrzędnych geograficznych. Mapy Google używają odwzorowania Web Mercator https://en.wikipedia.org/wiki/Web_Mercator , aby Twój krąg był owalny. Jeśli chcesz zrobić coś, co wygląda jak okrąg w Mapach Google, musisz to zrobić w zestawie danych z odwzorowaniem Web Mercator. (Celowo mówię, że „wygląda jak okrąg”, ponieważ jeśli rzutujesz go na inny system, np. utm w przypadku mapy o dużej skali, może ponownie pojawić się jako owal).

kod epsg dla web_mercator to 3857, więc jeśli rzutujesz współrzędne x i y na web_mercator

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

Powinno działać (wystarczy wprowadzić -9796... 5543... Czy współrzędne web_mercator dla geograficznych X i Y)

Wygląda na to, że musisz użyć narzędzi przestrzennych serwera SQL (https://gis.stackexchange.com/questions/2723/is-it-possible-to-reproject-spatial-data-using-sql-server ) lub zewnętrzne narzędzie do reprojekcji. Jeśli masz tylko kilka Punktów, http://cs2cs.mygeodata.eu/ może się przydać.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmiana kolumny nvarchar na format daty

  2. Zaktualizuj pojedynczy wiersz za pomocą t-sql

  3. jak wywołać serwis internetowy z t-sql

  4. Łączenie się z SQL Server Express — Jaka jest nazwa mojego serwera?

  5. Czy indeksy klastrowe muszą być unikatowe?