Handy queries and features for Sql Server geography data from OSM
I'm using SQL for a lot of work on geographic data and here I wanted to share a few of the "not-so-obious" snippets I use when working with OpenStreetMap (OSM) data. When providing data to be parsed as Latitude and Longitude We can use the STRING_AGG function. select w.Id, STRING_AGG( cast(n.Lat as nvarchar(max)) + ' ' + cast(n.Lon as nvarchar(max)), ', ') within group (order by wn.NodeOrder) as LatLon from Way w inner join WayNode wn on wn.WayId = w.Id inner join Node n on n.Id = wn.NodeId group by w.Id This example is based on my working OSM data model (way - waynode -node etc.) The list above will provide a clean list of "lat lon, lat lon ...". But when I need for instancce WKT it can ve altered by switching the "n.Lat" and "n.Lon" above. Of couse one can use the built-in functions such as: select w.shape.STAsText() as wkt, w.Shape.AsGml() as gml from.... Firstly, I used the agg function to make the sql g...