Подтвердить что ты не робот

Лучший способ наложения шейп файла ESRI на Google Maps?

Каков наилучший способ наложения шейп файла на Картах Google?

После некоторого чтения предполагается, что преобразование шейп файла в KML и наложение KML в карту Google является опцией. Если это так, как мне преобразовать шейп файл в KML?

Я считаю, что для этого преобразования будет доступно несколько инструментов с открытым исходным кодом. Может ли кто-нибудь указать на инструмент для скрытия шейп файла в KML без потери данных?

4b9b3361

Ответ 1

Мне нравится использовать (open source и gui friendly) Quantum GIS для преобразования шейп файла в kml.

API Карт Google поддерживает только подмножество стандарта KML. Одним из ограничений является размер файла.

Чтобы уменьшить размер вашего файла, вы можете Quantum GIS "упростить геометрию". Этот "сглаживает" многоугольники.

Затем вы можете выбрать свой слой и выполнить "save as kml" на нем.

Если вам нужно обработать кучу файлов, процесс можно выполнить с помощью команды Quantum GIS ogr2ogr из оболочки osgeo4w.

Наконец, я рекомендую закрепить свой kml (с вашей любимой программой сжатия) для уменьшения размера файла и сохранить его как kmz.

Ответ 2

Импортируйте Shapefile в Google FusionTables (http://www.google.com/fusiontables) с помощью http://www.shpescape.com/, и оттуда вы можете использовать данные несколькими способами, например. отобразите его с помощью GoogleMaps.

Ответ 3

Вы имеете в виду shapefile, как в Esri shapefile? В любом случае вы сможете выполнить преобразование, используя ogr2ogr, который доступен в GDAL. Вам нужен файл .shp и, в идеале, соответствующий файл .dbf (который предоставит контекстуальную информацию).

Кроме того, рассмотрите возможность использования инструмента, такого как MapShaper, чтобы уменьшить сложность ваших шейп файлов перед их преобразованием в KML; вы уменьшите размер файла существенно в зависимости от того, сколько деталей вам нужно.

Ответ 4

Я бы не использовал KML. Вместо этого используйте GeoJSON, который вы можете изначально использовать в API Карт Google. Это более новая функция, которая не существовала из исходных ответов.

В любом случае просто откройте файл SHP в Quantum GIS, а затем вы можете вывести его в любом формате, который вам нравится (KML, GeoJSON).

Если вы используете Google Maps for Work, я нашел премиум-расширение, которое обрабатывает файлы с файлами напрямую, где вы можете просто подключиться напрямую к шейп файлу, который вы создаете из ESRI. Я выполнил поиск на сайте CMaps и нашел этот фрагмент, который загружал США по шейп файлу состояния: https://gmapsplugin.net/cmapsanalytics/assets/shapes/usstates.shp

var cMap = new centigon.locationIntelligence.MapView();
    cMap.key([your_api_key]);


    cMap.layerNames(["Basic Shapes"]);
    cMap.dbfKeys([['Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','District of Columbia','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virginia','Washington','West Virginia','Wisconsin','Wyoming']]);
    cMap.userShapeKeys([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 
    cMap.labels([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 

    cMap.polyDataSources([centigon.locationIntelligence.CMapAnalytics.DATA_PROVIDERS.SHAPE_DATAPROVIDER]);
    cMap.layerTypes([centigon.mapping.Layer.TYPE.POLY]);
    cMap.locations([["https://gmapsplugin.net/cmapsanalytics/assets/shapes/usstates.shp"]]);

    cMap.panTo("USA");
    cMap.zoomLevel(3);

Ответ 5

Бесплатный "Экспорт в KML" script для ArcGIS 9

Вот список доступных методов, которые кто-то нашел.

Кроме того, мне кажется, что наиболее эффективным представлением многоугольного слоя является использование кодировки полилинии API Карт Google, которая значительно сжимает lat-lng-данные. Но получение этого формата требует работы: используйте ArcMap для экспорта Shape в виде координат lat/lng, а затем конвертируйте в полилинии с помощью API Карт Google.

Ответ 6

Чтобы обновить эти ответы, ESRI включил этот инструмент, называемый Layer to KML в ArcMap 10.X. Кроме того, существует инструмент Map to KML.

Просто импортируйте нужный слой (вектор или растр) и выберите местоположение вывода, разрешение и т.д. Очень простой инструмент.