【发布时间】:2016-06-25 17:13:15
【问题描述】:
我有这个问题
SELECT
' {"location":"'+ G.ZCTA5CE10 +', ' + INTPTLON10 + ', ' + INTPTLAT10 + '",'+
'"polygon":' +
replace(replace(replace(replace(replace(replace(replace(G.geom.ToString(), 'POLYGON ((', '[{"lng":'), '))', '}]'), ', ', '},{"lng":'), ' ', ',"lat":'), ')', ''), '(', ''), 'MULTI', '') +
'}'
FROM REF_ZIP_GEOG G WITH(INDEX([geog_sidx]))
WHERE G.geom.STDistance(geography::STPointFromText('POINT(-81.3225 32.113)', 4326))<= 40234; --40.234 KM ~ 25 Miles
此查询的目的是将 GEOGRAPHY 多边形“字符串化”到谷歌地图中。多边形工作得很好。但是,如果 POLYGON 是 MULTI-POLYGON,我在处理 JSON 时会遇到问题。结果是一个错误的 JSON 的 Google 错误。
有没有人使用过 MULTI POLYGONS,您能推荐一些东西来改变我的 SQL 语句以使其正常工作吗?
谢谢。
【问题讨论】:
-
如果您有一个 SQL 多面体的示例以及您期望输出的样子,这将有所帮助。
标签: sql sql-server json sqlgeography