【发布时间】:2012-02-16 14:21:08
【问题描述】:
我有一个结构如下的表:
id, - 主键
minlatitude - 正方形的边界点
minlongitude - 正方形的边界点 maxlatitude - 正方形的边界点 maxlongitude-正方形的边界点
cetnerLatitude - 正方形的中心 centerLongtude - 正方形的中心
min max 字段创建一个正方形,中心 Lat/Long 是正方形的中心点。
我想使用“xml 路径”生成 KML 文件。生成的 KML 文件应类似于以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>example</name>
<description>
dafdafdsaf
</description>
<Point>
<coordinates>102.594411,14.998518</coordinates>
</Point>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-77.05788457660967,38.87253259892824,100
-77.05465973756702,38.87291016281703,100
-77.05315536854791,38.87053267794386,100
-77.05788457660967,38.87253259892824,100
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>"""
我开始处理 xmlpath SQL 查询,目前得到以下结果:
declare @id int
set @id = 22438
declare @kml xml;
with XMLNAMESPACES(
'http://www.opengis.net/gml' as gml,
'http://www.georss.org/georss' as georss
)
select @kml =
(select some as id ,
cast([cent_latt] as varchar) + ', ' + cast([cent_long] as varchar) as Point
from mytable
Where some = @id
for xml path('Placemark'), root('Document')
)
select @kml
谁能帮助生成上面提到的确切文件?
或者有没有办法使用 xslt 来做同样的事情?
【问题讨论】:
-
能否提供源表结构和示例数据?
标签: sql sql-server kml