Skip to content Skip to sidebar Skip to footer

Sql Server Circle

I'm trying to create a circle in a SQL Server based on a midpoint and a radius. This seems to be close as a solution, but it creates an oval or an ellipse vs a circle. Is there

Solution 1:

Your problem is that you draw a circle in geographical coordinates. Google Maps is using web mercator projection https://en.wikipedia.org/wiki/Web_Mercator, so that your circle is going to be an oval. If you want to make something that looks like circle in Google Maps, you must make it in a data set with the web mercator projection. (I am deliberately saying "looks like a circle" since if you Project it to another system, e.g. utm for a large scale map, it may end up as an oval again.)

the epsg code for web_mercator is 3857, so if you project your x and y coordinates to web_mercator

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

Should work (just input the -9796... 5543... Are the web_mercator coordinates for your geographical X and Y)

It seems like you need to use SQL server spatial Tools (https://gis.stackexchange.com/questions/2723/is-it-possible-to-reproject-spatial-data-using-sql-server) or an external tool to do the reprojection. If you have just a few Points, http://cs2cs.mygeodata.eu/ may be useful.

Post a Comment for "Sql Server Circle"