may*_*cca 3 debugging kml google-earth
我想提交由ArcGIS 10.1和GoogleEarthPRO (GE)生成的KML文件作为我在Elsevier的论文的补充数据。
\n\n然而,审阅者给我回信:“属性“xsi:schemaLocation\xe2\x80\x9d”的前缀“xsi”中有一个错误。
\n\n当我尝试通过添加 .xml 扩展名并放入 Chrome 来简单验证 KML 文件时(如下: http: //kml4earth.appspot.com/kmlBestPractice.html),我收到错误:
\n\nerror on line 3 at column 217: Namespace prefix xsi for schemaLocation\non Document is not defined\nRun Code Online (Sandbox Code Playgroud)\n\n我通过ArcGIS 10.1(shp to KML,工具:Layer To KML)生成了KML,它生成了压缩的.kmz文件。我在 GoogleEarthPRO 中打开 .kmz 文件,并再次将我的位置保存为 .kml 文件。显然,.kml 文件运行良好,我可以在 GE 中打开该文件并在 PC 之间共享。
\n\n\n\n我还在这里尝试了 KMLvalidator: http: //www.kmlvalidator.org/validate.htm,但出现错误:
\n\nFile upload request was rejected. (/data/tomcat/base-kml-validator/temp/upload_2a88fa18_1591832a38f__7fff_00001631.tmp (No such file or directory)).\nRun Code Online (Sandbox Code Playgroud)\n\n我不明白为什么我的 .kml 文件似乎在多台 PC 上的 GoogleEarthPRO 中工作正常,但它显然包含xsi for schemaLocation? \n最重要的是,最简单的修复方法是什么?
我不熟悉编写 KML 代码脚本,我只是 GE 的初学者和用户。请问如何轻松修复我的 schemaLocation?
\n\n文件下载:https://www.dropbox.com/s/azmc6m1ksvtau7o/high_tatra_mts.kml ?dl=0
\n\n谢谢 !
\nGoogle 地球通常会忽略它不知道的命名空间和 XML 元素,因此作为无效 XML 文件的 KML 文件可能仍可在 Google 地球中查看。要在 Google 地球中启用错误检查,请打开“工具”/“选项”/“常规”并选中“显示所有错误的提示”选项,然后打开 KML 文件。
如果您的 KML 文件中存在命名空间错误,那么您需要在 KML 文件中声明它 - 通常在根元素中。
以下是有效 KML 文件的结构:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
...
</kml>
Run Code Online (Sandbox Code Playgroud)
请注意,Google 地球不会修复 KML 中的无效命名空间引用,因此必须在文本编辑器中修复这些引用,并在 Google 地球外部进行验证。
在您的特定示例中,xsi 声明和schemaLocation属性是不必要的,因此您的 KML 可以简化为:
<kml xmlns="http://www.opengis.net/kml/2.2">
..
</kml>
Run Code Online (Sandbox Code Playgroud)