Ошибка синтаксического анализа google earth

I am unable to open my KML/KMZ file in Google Earth. The error I am getting is:

parse error at line 1, column 4
not well-formed (invalid token)

I have tried opening in Notepad++ and read everything but I cannot find how to fix the problem.

I would greatly appreciate if anyone can help. I am able to send the file in necessary.

Mario Kutlev's user avatar

Mario Kutlev

4,8577 gold badges44 silver badges62 bronze badges

asked Sep 24, 2014 at 16:55

CoastalDavid's user avatar

1

Basically, to fix an invalid KML file you first need to make sure the KML file is a well-formed XML file. That means it follows the basic rules of XML such as the start tags and end tags must be match. If the file has a .kmz extension then you need to unzip the .kml file from the compressed KMZ file. (KMZ is just a .zip file).

Given that the error is at line 1 should make fixing it simple.

The valid KML file should start with the following lines:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
...

More detailed steps to repair an invalid KML file with an example can be found here.

answered Sep 25, 2014 at 16:43

CodeMonkey's user avatar

CodeMonkeyCodeMonkey

22.6k4 gold badges35 silver badges75 bronze badges

Google Earth will tell you exactly where the code is tripping up. Led me to some ampersands in my CDATA (html-formatted attribute data). I was able to fix mine by removing all of the ampersands.

answered Dec 9, 2015 at 17:00

boulder_ruby's user avatar

boulder_rubyboulder_ruby

38.1k9 gold badges77 silver badges100 bronze badges

+

0

-

0

09.01.2018 22:04

Хотелось бы услышать более подробную предысторию возникновения данной ошибки. После выполнения каких Ваших действий она возникает?

I am unable to open my KML/KMZ file in Google Earth. The error I am getting is:

parse error at line 1, column 4
not well-formed (invalid token)

I have tried opening in Notepad++ and read everything but I cannot find how to fix the problem.

I would greatly appreciate if anyone can help. I am able to send the file in necessary.

Mario Kutlev's user avatar

Mario Kutlev

4,8477 gold badges44 silver badges62 bronze badges

asked Sep 24, 2014 at 16:55

CoastalDavid's user avatar

1

Basically, to fix an invalid KML file you first need to make sure the KML file is a well-formed XML file. That means it follows the basic rules of XML such as the start tags and end tags must be match. If the file has a .kmz extension then you need to unzip the .kml file from the compressed KMZ file. (KMZ is just a .zip file).

Given that the error is at line 1 should make fixing it simple.

The valid KML file should start with the following lines:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
...

More detailed steps to repair an invalid KML file with an example can be found here.

answered Sep 25, 2014 at 16:43

CodeMonkey's user avatar

CodeMonkeyCodeMonkey

22.6k4 gold badges35 silver badges75 bronze badges

Google Earth will tell you exactly where the code is tripping up. Led me to some ampersands in my CDATA (html-formatted attribute data). I was able to fix mine by removing all of the ampersands.

answered Dec 9, 2015 at 17:00

boulder_ruby's user avatar

boulder_rubyboulder_ruby

38.1k9 gold badges77 silver badges100 bronze badges

Мне не удается открыть файл KML/KMZ в Google Планета Земля. Ошибка, которую я получаю:

Ошибка синтаксического анализа в строке 1, столбец 4 неправильно сформирован (недопустимый токен)

Я пытался открыть в Notepad++ и прочитал все, но не могу найти, как решить проблему.

Я был бы очень признателен, если кто-нибудь может помочь. Я могу отправить файл в нужном.

2 ответа

По сути, чтобы исправить недопустимый файл KML, сначала нужно убедиться, что файл KML является правильно сформированным XML-файлом. Это означает, что он следует основным правилам XML, таким как начальные и конечные теги, которые должны совпадать. Если файл имеет расширение .kmz, вам необходимо разархивировать файл .kml из сжатого файла KMZ. (KMZ — это просто файл .zip).

Учитывая, что ошибка находится в строке 1, ее исправление должно быть простым.

Действительный файл KML должен начинаться со следующих строк:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
...

Более подробные инструкции по исправлению недопустимого файла KML с примером можно найти здесь.


0

CodeMonkey
20 Май 2015 в 19:52

Google Планета Земля сообщит вам точно, где срабатывает код. Привел меня к некоторым амперсандам в моем CDATA (данные атрибутов в формате html). Я смог исправить свою, удалив все амперсанды.


0

boulder_ruby
9 Дек 2015 в 20:00

+

0

-

0

09.01.2018 22:04

Хотелось бы услышать более подробную предысторию возникновения данной ошибки. После выполнения каких Ваших действий она возникает?

В основном, чтобы исправить недопустимый KML файл, вам сначала нужно убедиться, что KML файл является хорошо сформированным XML файлом. Это означает, что он следует основным правилам XML, таким как стартовые и конечные теги, которые должны совпадать. Если файл имеет расширение.kmz, вам необходимо разархивировать файл.kml из сжатого файла KMZ. (KMZ — это просто файл.zip).

Учитывая, что ошибка в строке 1 должна сделать ее простой.

Действительный файл KML должен начинаться со следующих строк:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
...

Более подробные инструкции по восстановлению недопустимого файла KML с примером можно найти здесь.

Проще лучше. Оставьте начальные декорации и просто используйте самый простой практический KML. GE вставит значения по умолчанию для вас. Я не уверен, насколько полезен doc/folder/lookat/etc. есть в веб-версии.

    <Placemark>
        <name>Untitled Placemark</name>
        <Point><coordinates>-120.3763091739549,35.34618575907946,0</coordinates>
        </Point>
    </Placemark>

В настольной версии вы можете просто вставить указанный выше KML во временную папку, и он отобразится. Вы также можете скопировать любой объект, и он поместит KML в буфер обмена. Для веб-версии поместите KML в файл и импортируйте.

В основном, чтобы исправить недопустимый KML файл, вам сначала нужно убедиться, что KML файл является хорошо сформированным XML файлом. Это означает, что он следует основным правилам XML, таким как стартовые и конечные теги, которые должны совпадать. Если файл имеет расширение.kmz, вам необходимо разархивировать файл.kml из сжатого файла KMZ. (KMZ — это просто файл.zip).

Учитывая, что ошибка в строке 1 должна сделать ее простой.

Действительный файл KML должен начинаться со следующих строк:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
...

Более подробные инструкции по восстановлению недопустимого файла KML с примером можно найти здесь.

Оптимизируйте свои подборки

Сохраняйте и классифицируйте контент в соответствии со своими настройками.

    Начало работы

  • Что такое KML?
  • Для кого предназначен KML?
  • Как создать KML-файл?
  • Как открыть KMZ-файл?
  • Как создать KML-файл с астрономическими данными?
  • Какие теги KML поддерживает Google Планета Земля?
  • Какие теги KML поддерживают Google Карты?
  • Где найти Руководство разработчика?
  • Геометрические объекты в KML

  • Почему исчезают линии?
  • Можно ли нарисовать круг в KML?
  • Можно ли сделать ломаную линию пунктирной или добавить к ней стрелки?
  • Как скрыть ярлыки меток?
  • Из-за чего возникает ошибка синтаксического анализа?
  • Как проверить правильность созданного KML-файла?
  • Можно ли как-то контролировать, что отображается на экране, чтобы при приближении к земной поверхности показывалось больше деталей?
  • Можно ли присвоить разным геометрическим объектам внутри MultiGeometry разные цвета или стили?
  • Расширенные функции KML

  • Можно ли открывать всплывающее окно одновременно с KML-файлом?
  • Можно ли оставлять всплывающее окно открытым при обновлении сетевой ссылки?
  • Можно ли просматривать KML-код, созданный пользователями моего домена?
  • Можно ли контролировать ползунок времени средствами KML?
  • Как добавить в KML-файлы интерактивные функции? Можно ли использовать HTML-формы во всплывающих окнах с описаниями?
  • Веб-функции KML

  • Можно ли автоматически преобразовать таблицу в KML-файл?
  • Почему KML-файлы некорректно загружаются с веб-сервера?
  • Как добавить веб-камеру в KML?
  • Относительные пути в KMZ-файлах

  • Почему во всплывающем окне написано, что URL изображений могут быть отформатированы неверно?
  • На какое содержание влияют новые правила определения относительных путей?
  • Как исправить относительные пути в KMZ-файле?
  • Другие вопросы

  • Отправляются ли KML-файлы из «Моих меток» в Google Планете Земля на серверы Google?

Что такое KML?

KML – это формат файлов, который используется для отображения географических данных в геобраузерах, таких как Google Планета Земля, Google Карты и Google Карты для мобильных устройств. С помощью KML-файлов можно добавлять на карту метки или наложенные изображения и отображать расширенные географические данные. KML является международным стандартом, поддерживаемым организацией Open Geospatial Consortium (OGC).

Для кого предназначен KML?

Сообщество KML весьма разнообразно. Чтобы в этом убедиться, достаточно посетить форум сообщества Google Планеты Земля. Обычные пользователи с помощью KML могут обозначать на карте свои дома, маршруты пеших или велосипедных путешествий. Ученым KML позволяет создавать подробные карты минеральных ресурсов, моделировать вулканические извержения, землетрясения, движение воздушных масс и другие природные явления. Риелторам, архитекторам и специалистам по градоустройству KML помогает представлять планы и строительные проекты. Учащиеся и преподаватели используют KML для проведения демографических исследований, а также наглядной демонстрации исторических и современных мест и событий. Такие организации, как National Geographic, ЮНЕСКО и Смитсоновский институт отображают с помощью KML специализированную информацию.

Как создать KML-файл?

KML-можно создать тремя способами, которые описаны ниже.

  • В интерфейсе Google Планеты Земля. Это самый удобный инструмент для создания KML-файлов, позволяющий добавлять следующие компоненты:
    • метки;
    • пути;
    • многоугольники;
    • накладываемые изображения;
    • сетевые ссылки;
    • модели;
    • папки с перечисленными выше объектами;
    • накладываемые фото.
  • Создайте один из перечисленных объектов, выберите его в панели «Метки» и нажмите «Копировать». Скопированное содержание затем можно вставить в текстовый редактор или редактор XML.

  • В текстовом редакторе. Создав объект в интерфейсе Google Планеты Земля, скопируйте его в текстовый редактор для дальнейшей работы.
  • В редакторе XML. KML – это язык разметки для описания географической информации, основанный на XML. Редакторы XML предлагают богатые возможности формирования XML-документов, включая такую полезную функцию, как дополнение закрывающих тегов.

Существует также множество инструментов, созданных участниками сообщества Google Планеты Земля. Посетите группу поддержки KML-разработчиков.

Как открыть KMZ-файл?

KMZ-файл – это архив, состоящий из одного или нескольких файлов, предназначенных для отображения в Google Планете Земля. Файлы сжимаются в формате ZIP и могут быть распакованы с помощью любого ZIP-архиватора, такого как WinZip, 7-Zip, инструмента Windows XP Compressed Folders Tool (в ОС Windows), Stuffit (в Mac OS) или команды zip (в Mac OS или Linux). Чтобы открыть файлы с помощью ZIP-архиватора, может потребоваться изменить расширение пакета с KMZ на ZIP. Не забудьте снова присвоить файлу расширение KMZ, прежде чем загружать его в геобраузер.

Как создать KML-файл с астрономическими данными?

В KML-файл можно включить астрономические данные для загрузки в Google Небо или Microsoft WorldWide Telescope. Подробные сведения приведены в статье Данные Google Неба в KML.

Какие теги KML поддерживает Google Планета Земля?

Google Планета Земля поддерживает абсолютно все теги, предусмотренные в KML. Их список можно найти в Спецификации KML.

Какие теги KML поддерживают Google Карты?

Google Карты поддерживают некоторые теги KML.

Где найти Руководство разработчика?

Руководство разработчика опубликовано по адресу https://developers.google.com/kml/documentation/topicsinkml.html.


Почему исчезают линии?

Если для компонента LineString задано значение высоты clampToGround, он всегда остается на земной поверхности. Если же задано значение relativeToGround, может потребоваться добавить дополнительные точки, поскольку слишком длинные прямые отрезки пересекаются с рельефом местности.

Приведем пример кода для компонента LineString: отрезки определенной им прямой линии будут скрыты под землей.

<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
    <name>Untitled Path</name>
    <LineString>
      <tessellate>0</tessellate>
      <altitudeMode>absolute</altitudeMode>
      <coordinates>-115.415105,40.669016 -37.752364,34.879979</coordinates>
    </LineString>
  </Placemark>
</kml>

Если добавить дополнительные точки, под землю будет уходить меньше линий. Чтобы линия копировала рельеф местности, установите для поля <tessellate> значение 1.

<Placemark>
  <name>Untitled Path</name>
  <LineString>
    <tessellate>1</tessellate>
    <altitudeMode>relativeToGround</altitudeMode>
    <coordinates>
      -134.148103,37.752967 -128.917074,38.803008
      -125.166954,39.583592 -122.137625,39.656880
      -120.421783,40.036311 -118.298157,40.235316
      -114.348386,40.631532 -112.670431,40.761033
      -111.916045,40.681939 -110.177711,40.653055
      -109.544331,40.619327 -107.155697,40.642007
      -105.410526,40.421505 -103.192299,40.430138
      -102.853712,40.427904 -98.168302,40.363524
      -97.093391,40.308754 -94.831304,40.479175
      -93.760070,40.395392 -84.913828,39.466651
      -84.414888,39.387332 -81.380660,39.188551
      -80.276261,38.977744 -77.811560,38.872542
      -75.062267,38.521146 -72.006956,38.101733
      -66.67819,37.664687
    </coordinates>
  </LineString>
</Placemark>
Можно ли нарисовать круг в KML?

В KML не предусмотрена геометрия круга, однако с помощью ломаных линий (компонентов LineString) можно создать нечто подобное (см. пример).

Можно ли сделать ломаную линию пунктирной или добавить к ней стрелки?

Элемент <LineStyle> позволяет менять цвет, прозрачность и толщину линий, однако на данный момент KML не позволяет менять их тип.

Как скрыть ярлыки меток?

Ярлыки, отображаемые рядом с метками в Google Планете Земля, задаются с помощью тегов <name>. Если установить для элемента <LabelStyle> значение 0, ярлык будет скрыт.

<Style id="hideLabel">
  <LabelStyle>
    <scale>0</scale>
  </LabelStyle>
</Style>
Из-за чего возникает ошибка синтаксического анализа?

Ошибки синтаксического анализа обычно возникают по одной из двух причин.

  1. Неверный регистр. В KML, как и во всех языках на основе XML, различаются строчные и заглавные буквы. Таким образом, все элементы должны быть записаны с учетом регистра: <Placemark>, а не <PLACEMARK>; <href>, а не <Href>; <Link>, а не <lInk> и т. д.
  2. Незакрытые теги. Иногда авторы кода забывают закрывать теги или пропускают угловую скобку (< или >). Примеры:
    <name>Омск</name> – верно;
    <name>Омск – неверно;
    <nameОмск</name> – неверно;
    <nameОмск<name> – неверно.
Как проверить правильность созданного KML-файла?

KML – это язык разметки на основе XML. Проверить правильность XML-кода можно несколькими способами.

  • Функции валидации в редакторе XML, таком как Oxygen или Netbeans. Ознакомьтесь с документацией к выбранному редактору. Чтобы проверить код, потребуется схема KML.
  • Онлайн-валидатор, например FeedValidator.org, или KML Validator от Galdos, который укажет на ошибки и предложит варианты их исправления.
  • Функции валидации XML-кода в некоторых текстовых редакторах (например, jEdit предлагает такую возможность). Ознакомьтесь с учебником, разработанным в рамках Просветительской программы Google Планеты Земля.
Можно ли как-то контролировать, что отображается на экране, чтобы при приближении к земной поверхности показывалось больше деталей?

Для этих целей используются регионы (компоненты Region). Рекомендуем ознакомиться со следующими ресурсами:

  • Глава «Регионы» в Руководстве разработчика
  • Раздел «Регионы» в Справке по KML
Можно ли присвоить разным геометрическим объектам внутри компонента MultiGeometry разные цвета или стили?

MultiGeometry объединяет несколько геометрических объектов в единую метку (компонент Placemark). Благодаря этому к ним можно применять единый стиль и отображать их как единый объект, например в панели «Места» в Google Планете Земля.

Стили задаются на уровне компонента Placemark с помощью элемента styleUrl или Style. Таким образом, отдельные геометрические объекты внутри метки не могут иметь собственные стили.

Это правило можно обойти, создав отдельный компонент Placemark для каждого геометрического объекта и определив для него собственный стиль. Чтобы элементов не получилось слишком много, объедините их в компонент Folder, определите для него ListStyle и задайте для его элемента listItemType значение checkHideChildren. Все объединенные таким образом компоненты Placemark будут представлены как единый элемент в панели «Места» в Google Планете Земля, и отображать их по отдельности не потребуется.


Можно ли открывать всплывающее окно одновременно с KML-файлом?

В настоящее время открывать всплывающее окно одновременно с KML-файлом нельзя. Однако с помощью привязки компонента можно создать внутри всплывающего окна ссылку, по которой будет открываться другой KML-файл или другое всплывающее окно.

Можно ли оставлять всплывающее окно открытым при обновлении сетевой ссылки?

В настоящее время KML не сохраняет состояние всплывающего окна при обновлении сетевой ссылки.

Можно ли просматривать KML-код, созданный пользователями моего домена?

В настоящее время по сетевым ссылкам нельзя отследить KML-код, создаваемый пользователями в Google Планете Земля или Google Картах. Тем не менее, можно использовать API Google Планеты Земля или API Google Карт в качестве инструмента создания KML-файлов и передавать информацию обратно на сервер (см. пример GeoDataStore).

Можно ли контролировать ползунок времени средствами KML?

Ползунок времени отображается, когда открывается KML-файл, содержащий элемент <TimeStamp> или <TimeSpan>. Геобразуер обнаруживает все выбранные элементы <TimeStamp> и <TimeSpan> и настраивает на ползунке соответствующие интервалы. В настоящее время в KML не предусмотрены другие способы управления ползунком времени, такие как возможность принудительной установки текущего времени или определенного периода. Подробные сведения о добавлении временных данных приведены в статье Время и анимация.

Как добавить в KML-файлы интерактивные функции? Можно ли использовать HTML-формы во всплывающих окнах с описаниями?

В настоящее время KML в Google Планете Земля поддерживает только функции HTML, служащие для представления содержания; интерактивные функции HTML не поддерживаются. В Google Картах KML позволяет программировать формы.

Однако KML в Google Планете Земля поддерживаются Flash-формы. Чтобы добавить такую форму, вставьте Flash-приложение в HTML-код, который отображается во всплывающем окне с описанием. В Google Картах этот способ не работает.


Можно ли автоматически преобразовать таблицу в KML-файл?

Да. Это можно сделать одним из указанных ниже способов.

  • Напишите собственную программу, которая будет анализировать CSV-файл и создавать на его основе KML-код. Вам может быть полезна эта статья.
  • Воспользуйтесь онлайн-редактором таблиц. В частности, в рамках Просветительской программы Google Планеты Земля было создано веб-приложение Spreadsheet Mapper, основанное на Google Таблицах.
  • Воспользуйтесь одним из инструментов преобразования таблиц Excel в KML-файлы, таким как [link to tek’s thread].
  • Загрузите файлы в Google Планету Земля Плюс или PRO и сохраните их с расширением KML или KMZ.
Почему KML-файлы некорректно загружаются с веб-сервера?

Веб-серверу необходимо сообщать, какие файлы он предоставляет. Некоторые браузеры, например Firefox, делают предположения относительно типов файлов. Другие, например Internet Explorer, пользуются настройками типа MIME на веб-сервере.

Если у вас сервер Apache, в httpd.conf следует включить следующие две строки:

AddType application/vnd.google-earth.kml+xml .kml
AddType application/vnd.google-earth.kmz .kmz

Если у вас сервер Microsoft Internet Information Server, потребуется выполнить инструкции по ссылкам ниже.

IIS 6.0:

http://support.microsoft.com/kb/326965

IIS 4.0 и 5.0:

http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/maintain/featusability/mimeiis.mspx

Если у вас собственный веб-сервер, измените его конфигурацию самостоятельно или свяжитесь с поставщиком услуг хостинга и попросите внести соответствующие изменения.


Почему во всплывающем окне написано, что URL изображений могут быть отформатированы неверно?

Недавно в Google Планету Земля были внесены изменения, в результате которых ссылки во всплывающих окнах стали обрабатываться иначе. Изменения нацелены на оптимизацию работы всего механизма. В результате, если нажать в KMZ-файле на ссылку с неправильной структурой, откроется страница с надписью «Ссылка, по которой вы перешли на эту страницу, не работает из-за неверного форматирования. Чтобы воспользоваться предыдущей версией, нажмите на ссылку ниже». Если появляется это сообщение, необходимо изменить KML- или KMZ-код так, чтобы он был совместим с последующими версиями Google Планеты Земля.

Подробные сведения о требованиях к структуре KMZ-кода можно найти здесь.

На какое содержание влияют новые правила определения относительных путей?

В настоящее время эти правила влияют только на URL во всплывающих окнах (ссылки в тегах <description> и <text> в элементах <BallonStyle>). Однако в будущем в Google Планету Земля могут быть внесены дальнейшие изменения, направленные на повышение стабильности работы, поэтому уже сейчас не рекомендуется использовать родительский каталог в качестве базового URL, к которому привязываются ссылки в KMZ-архиве.


Отправляются ли KML-файлы из «Моих меток» в Google Планете Земля на серверы Google?

Нет. KML-файлы, созданные в интерфейсе Google Планеты Земля или загруженные пользователем, не отправляются в Google. Все данные хранятся и обрабатываются локально.

Наверх

Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.

Последнее обновление: 2014-01-02 UTC.

Понравилась статья? Поделить с друзьями:
  • Ошибка синтаксиса шаблона в позиции 36
  • Ошибка синтаксиса пропущен оператор в выражении запроса case
  • Ошибка сим карта не активирована мегафон
  • Ошибка силового реле haval f7x
  • Ошибка силового реле haval f7 при автозапуске