2014-02-05 1 views
0

Выполнение команды GDALogr2ogr GDAL шейпфайл к информации KML окна

ogr2ogr -f "KML" test.kml test.shp 

конвертировать шейп в файл KML. Проблема, с которой я сталкиваюсь, заключается в том, что информационное окно преобразуется в теги, которые не превращаются в информационные окна на KML. Я могу, конечно, проанализировать эти файлы и создать новые теги с информацией, извлеченной из SimpleData, но если это возможно при конверсии, было бы неплохо. Кроме того, многоугольник, кажется, пропускает его заполнение из Shapefile.

https://sites.google.com/site/gmaptest123/kml/test.kml?attredirects=0&d=1 
+1

Можете ли вы предоставить образец KML и, возможно, ссылку на сгенерированный файл KML, который демонстрирует эту проблему? (Я предполагаю, что полный KML будет слишком большим/сложным, чтобы опубликовать ваш вопрос) – geocodezip

+0

прилагается. Я не знаю много о ресурсах шейп-файла, но у меня есть ряд других файлов s .prj, .sbn, .sbs, .shp.xml, .shx. Когда я отображал это внутри ESRI-сайта, мне пришлось импортировать все эти файлы, чтобы правильно отобразить карту. Может быть .shp содержит весь двоичный файл, я не знаю – user3032973

ответ

1

<PolyStyle> в вашем KML установлен в 0, если вы измените его на 1, будет заполнить. PolyStyle также позволяет установить цвет и непрозрачность многоугольника.

<Style> 
    <LineStyle> 
    <color>ff0000ff</color> 
    </LineStyle> 
    <PolyStyle> 
    <fill>0</fill> 
    </PolyStyle> 
</Style> 

Для данных в infowindows, вы можете добавить <name> и <description> тег для каждого Placemark, который будет отображаться в InfoWindow. Если у вас много полигонов, выполнение этого вручную может быть болезненным, не уверен, не глядя на ваши входные файлы, почему это не получило автоматически.

your original polygon

my local copy

with fill 1

+0

У меня много полигонов, но они будут в отдельных файлах (~ 2000). Поскольку я хочу перевернуть, я, вероятно, буду хранить KMLS как есть и проанализировать KML для маркеров на стороне клиента во время выполнения – user3032973