1

我有一个想要转换为 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 脚本中调用它。

想法?

4

0 回答 0