我有一个想要转换为 KML 文件的 SQL Server 表。我有点让它工作,但不完全。这是我的命令:
C:\Temp\gdal>ogr2ogr -f "KML" "test.kml" "MSSQL:server=devbox;database=test;trusted_conneciton=yes" -sql "SELECT name, street, city, state, zip, latitude, longitude, geog FROM dbo.addrlist" -dsco NameField=name -dsco DescriptionField=desc -overwrite
我得到了一个有效的 kml 文件,但它缺少 POINT。以下是所有<Placemark>
标签的外观:
<Placemark>
<name>Test Subject</name>
<description>Wilmington</description>
<ExtendedData><SchemaData schemaUrl="#SELECT">
<SimpleData name="street">120 Main</SimpleData>
<SimpleData name="city">Wilmington</SimpleData>
<SimpleData name="state">DE</SimpleData>
<SimpleData name="zip">19802</SimpleData>
<SimpleData name="latitude">39.70004</SimpleData>
<SimpleData name="longitude">-76.214</SimpleData>
<SimpleData name="geog">C1FF56B20D53C028F224E99AD94340</SimpleData>
</SchemaData></ExtendedData>
</Placemark>
我应该在那里有这样的东西:
<Point id="1">
<extrude>0</extrude>
<altitudeMode>clampToGround</altitudeMode>
<coordinates>-76.214, 39.70004, 0</coordinates>
</Point>
当我在 Google 地球中查看 KML 时,没有要显示的点。
“geog”列是地理数据类型(SRID:4269)。
我也尝试过使用-f LIBKML
,但遇到了同样的基本问题(没意义)。我看到这个驱动程序有很多附加选项,但我不知道如何调整对ogr2ogr
.
一旦它工作,我想从预定的 Powershell 脚本中调用它。
想法?