2017-01-30 3 views
2

Я хотел бы представить файл KML, созданный ArcGIS 10.1 и GoogleEarthPRO (GE), в качестве дополнительных данных для моей работы в Elsevier.Отладка KML: префикс пространства имен xsi для схемы Расположение в документе не определено

Однако рецензент написал мне ответ: «вот ошибка в префиксе« xsi »для атрибута« xsi: schemaLocation ».

Когда я попытался простой проверку KML файл, добавив расширение .xml и опускаясь на Chrome (следующее: http://kml4earth.appspot.com/kmlBestPractice.html), я получил сообщение об ошибке:

error on line 3 at column 217: Namespace prefix xsi for schemaLocation 
on Document is not defined 

Я сгенерировал KML на ArcGIS 10.1 (shp to KML, tool: Layer To KML), который создал zipped .kmz-файл. Я открыл файл .kmz в GoogleEarthPRO и снова сохранил свое место как .kml-файл. Видимо, файл .kml работает хорошо, так как я могу открыть файл в GE и поделиться им между ПК.

enter image description here

Я также попытался KMLvalidator здесь: http://www.kmlvalidator.org/validate.htm с ошибкой:

File upload request was rejected. (/data/tomcat/base-kml-validator/temp/upload_2a88fa18_1591832a38f__7fff_00001631.tmp (No such file or directory)). 

Я не понимаю, почему мой .kml файл, кажется, работает хорошо в GoogleEarthPRO на нескольких компьютерах, но это, по-видимому содержит ошибку в xsi for schemaLocation? Самое главное, что это самый простой способ его исправить?

Я не знаком со сценарием кода KML, я всего лишь новичок и пользователь GE. Пожалуйста, как легко исправить мою схему?

Файл для загрузки: https://www.dropbox.com/s/azmc6m1ksvtau7o/high_tatra_mts.kml?dl=0

Спасибо!

ответ

2

Google Earth обычно игнорирует пространства имен и элементы XML, о которых он не знает, поэтому файл KML, который является недопустимым XML-файлом, по-прежнему можно просматривать в 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> 

Обратите внимание, что Google Earth не исправят ссылки недействительных пространств имен в вашем KML поэтому они должны быть исправлены в текстовом редакторе и валидацию внешне Google Earth.

В вашем конкретном примере, объявление XSI и SchemaLocation элементы не нужны, чтобы ваш KML должен быть:

<kml xmlns="http://www.opengis.net/kml/2.2"> 
.. 
</kml> 
+0

спасибо @ JasonM1. Пожалуйста, где в моем коде я должен вставить xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance">? есть .kml отступ и конкретное пространство? Есть ли способ сохранить правильный .kml-файл из GE без моей ручной настройки кодирования? – maycca

+0

GE не будет добавлять/исправлять пространства имен в вашем KML. Нераспределенные пространства имен остаются. Необходимо будет открыть в текстовом редакторе и вручную добавить, а затем проверить его за пределами GE. – JasonM1

+0

Пожалуйста, какую часть кода я должен вставить, а где в моем коде? к сожалению, у меня нет опыта с klm .. пожалуйста, мне нужно только добавить xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" в мой код? пожалуйста, не могли бы вы вставить его в нужное место в моем прикрепленном файле? – maycca

Смежные вопросы