sql >> Database >  >> RDS >> Sqlserver

SQL Server Cirkel

Jouw probleem is dat je een cirkel tekent in geografische coördinaten. Google Maps gebruikt webmercatorprojectie https://en.wikipedia.org/wiki/Web_Mercator , zodat je cirkel een ovaal wordt. Als je iets wilt maken dat op een cirkel lijkt in Google Maps, moet je het in een dataset maken met de webmercatorprojectie. (Ik zeg met opzet "ziet eruit als een cirkel", want als je het projecteert naar een ander systeem, bijvoorbeeld utm voor een grootschalige kaart, kan het weer als een ovaal eindigen.)

de epsg-code voor web_mercator is 3857, dus als u uw x- en y-coördinaten projecteert op web_mercator

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

Zou moeten werken (voer gewoon de -9796... 5543... Zijn de web_mercator-coördinaten voor uw geografische X en Y)

Het lijkt erop dat u ruimtelijke hulpprogramma's voor SQL-servers moet gebruiken (https://gis.stackexchange.com/questions/2723/is-it-possible-to-reproject-spatial-data-using-sql-server ) of een externe tool om de herprojectie uit te voeren. Als je maar een paar punten hebt, http://cs2cs.mygeodata.eu/ kan handig zijn.




  1. Hoe SQLite Random() werkt

  2. docker-compose rails rake db:reset mislukt, kan de momenteel geopende database niet laten vallen

  3. JSON_MODIFY() Voorbeelden in SQL Server (T-SQL)

  4. Snapshots van SQL Server-database -3