2016-12-21 2 views
0

У меня есть программа, которая автоматически генерирует файлы KML для использования с Google Earth. Мой последний выход приклеивается ниже:Предотвращение создания Google MultiGeometry при загрузке KML

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.0"> 
<Document> 
<Placemark> 
<name>Active Location</name> 
<address>60 NORTH WILLOW STREET, MONTCLAIR, ESSEX County, New Jersey</address> 
</Placemark> 
</Document> 
</kml> 

Когда файл открыт, прямоугольный полигон создается вокруг метки, например, так:

Сохранение метки в другой документ дает следующее содержание:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> 
<Document> 
    <name>QueryOutput.KML</name> 
    <Placemark> 
     <name>Active Location</name> 
     <address>60 NORTH WILLOW STREET, MONTCLAIR, ESSEX County, New Jersey</address> 
     <MultiGeometry> 
      <Point> 
        <coordinates>-74.2122552,40.8157007,0</coordinates> 
      </Point> 
      <LinearRing> 
       <coordinates> 
        -74.21556655758907,40.81321718180819,0 -74.21556655758907,40.81818421819181,0 -74.20894384241093,40.81818421819181,0 -74.20894384241093,40.81321718180819,0 -74.21556655758907,40.81321718180819,0 
       </coordinates> 
      </LinearRing> 
     </MultiGeometry> 
    </Placemark> 
</Document> 
</kml> 

Пользователи должны иметь возможность собирать широты/долготы данных из Point , который затем копируется в другую форму. Поскольку метка определяется как мультигеометрия, у них нет простого доступа к этим данным. Какие изменения необходимо внести в исходный файл KML, чтобы предотвратить метку от создания мультигеометрии? Я попытался разместить теги name и address внутри Point, но это приводит к тому, что координаты будут установлены на 0,0,0 при загрузке файла.

ответ

1

Когда файл KML имеет только адрес, Google Планета Земля автоматически выполнит поиск по адресам, чтобы получить приблизительное местоположение с точкой и с ошибкой в ​​поле. Сохранение KML после его открытия в Google Earth автоматически добавит местоположение в качестве мультигеометрии к этой функции.

Только способ предотвратить добавление многомерной геометрии к KML в Google Earth сначала добавляет геометрию (точку, линию и т. Д.) В KML. Альтернативой является либо отредактировать полученный KML в текстовом редакторе, либо вручную выполнить поиск адресов в Google Earth, а затем создать новую метку в найденном ею месте.

Поиск адреса в Google Earth
https://support.google.com/earth/answer/148081?hl=en

+0

При указании значения в качестве точки ('

...
'), координаты автоматически устанавливаются в '0,0,0'. Есть ли способ заставить Google Планета Земля выполнять поиск адресов на теге 'address' в теге' Point'? К сожалению, альтернатива, которую вы предлагаете (ручной поиск), к сожалению, эта система строится для замены. – Passage

+0

Адрес недопустимый элемент Point, поэтому по умолчанию будет задано местоположение с lat = 0, lon = 0 и т. Д. – JasonM1

+0

В этом случае существует эффективный/быстрый способ разбить MultiGeometry вниз так, чтобы точка lat/long могла получать пользователи? – Passage