Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2012 Forums
 Other SQL Server 2012 Topics
 geometry to latitude

Author  Topic 

Kimi86
Yak Posting Veteran

79 Posts

Posted - 2014-10-08 : 04:09:25
I need to convert geometry datatype to latitude /Longitude

I have just imported a shapefile to my table (geometry)

This query does not work:-

select geom.Lat as [Latitude], geom.Long as [Longitude] from dbo.special

Error I get is Could not find property or field 'Lat' for type 'Microsoft.SqlServer.Types.SqlGeometry' in assembly 'Microsoft.SqlServer.Types'.

This query returns Latitude and longitude but the format doesnot seem to match google maps:-

select U.name, Centroid.STY as Longitude,
Centroid.STX as Latidude from ( select geom.STCentroid() as Centroid, NAME from dbo.special )U

Also:-

SELECT ST_X (ST_Transform (geom, 4326)), ST_Y (ST_Transform (geom, 4326)) FROM special

gives 'ST_Transform' is not a recognized built-in function name.

Please suggest

James K
Master Smack Fu Yak Hacker

3873 Posts

Posted - 2014-10-08 : 14:57:50
Lat and Long are GEOGRAPHY functions and STX and STY are GEOMETRY functions. Try this example and compare with your data to see if that helps
DECLARE @g GEOGRAPHY;
-- statue of liberty coordinates from google maps.
SET @g = GEOGRAPHY::STPointFromText('POINT(' + '40.689494' + ' '
+ '-74.044545' + ')', 4326)

SELECT @g.Lat ,
@g.Long;
Go to Top of Page
   

- Advertisement -