web-dev-qa-db-fra.com

Le meilleur moyen de superposer un fichier de formes ESRI sur Google Maps?

Quel est le meilleur moyen de superposer un fichier de formes dans Google Maps? 

Après quelques lectures, la conversion du fichier de formes en KML et la superposition de fichiers KML dans Google Map sont une option. Si tel est le cas, comment convertir un fichier de formes en fichiers KML? 

Je crois qu'il y aurait quelques outils open source disponibles pour cette conversion. Quelqu'un peut-il indiquer un outil permettant de convertir un fichier de formes en KML sans perte de données?

60
Carsen

J'aime utiliser (open source et interface graphique conviviale) Quantum GIS pour convertir le fichier de formes en kml.

L'API de Google Maps ne prend en charge que un sous-ensemble du standard KML . Une limite est la taille du fichier.

Pour réduire la taille de votre fichier, vous pouvez utiliser la fonction "Simplifier les géométries" de Quantum GIS . Ceci "lisse" les polygones.

Ensuite, vous pouvez sélectionner votre couche et faire une "sauvegarde en tant que kml" dessus.

Si vous devez traiter plusieurs fichiers, vous pouvez effectuer le traitement par lot à l'aide de la commande ogr2ogr de Quantum GIS de osgeo4w Shell.

Enfin, je vous recommande de compresser votre kml (avec votre programme de compression préféré) pour réduire la taille du fichier et de l’enregistrer au format kmz.

39
Aaron Kreider

Importez le fichier de formes dans Google FusionTables ( http://www.google.com/fusiontables ) à l’aide de http://www.shpescape.com/ et à partir de là, vous pourrez utiliser les données de plusieurs façons, par exemple. l'afficher en utilisant GoogleMaps.

16
chaos0815

Voulez-vous dire un fichier de formes comme dans un un fichier de formes Esri ? Dans les deux cas, vous devriez pouvoir effectuer la conversion en utilisant ogr2ogr , disponible dans les paquets GDAL . Vous avez besoin du fichier .shp et idéalement du fichier .dbf correspondant (qui fournira des informations contextuelles).

Pensez également à utiliser un outil tel que MapShaper pour réduire la complexité de vos fichiers de formes avant de les transformer en KML. vous réduirez considérablement la taille du fichier en fonction du nombre de détails dont vous avez besoin.

13
Wyatt Anderson

Je n'utiliserais pas KML. Utilisez plutôt GeoJSON que vous pouvez maintenant consommer en mode natif dans Google Maps API. Il s’agit d’une fonctionnalité plus récente qui n’existait pas dans les réponses originales. 

Dans tous les cas, ouvrez simplement le fichier SHP dans Quantum GIS , puis vous pourrez le sortir dans le format de votre choix (KML, GeoJSON). 

Si vous utilisez Google Maps for Work, j'ai trouvé une extension premium qui gère le chargement des fichiers de formes directement, où vous pouvez simplement vous connecter directement au fichier de formes généré à partir d'ESRI. J'ai fait une recherche sur le site CMaps et trouvé cet extrait qui a chargé US par shapefile d'état: 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);
9
Ryan Goodman

Script "Export to KML" gratuit pour ArcGIS 9

Voici une liste des méthodes disponibles trouvées par quelqu'un.

De plus, il me semble que la représentation la plus efficace d'une couche de polygone consiste à utiliser le codage en polyligne de l'API Google Maps, qui compresse de manière significative les données lat-lng. Mais entrer dans ce format demande du travail: utilisez ArcMap pour exporter Shape sous forme de coordonnées lat/lng, puis convertissez-les en polylignes à l'aide de l'API Google Maps.

2
user1284303

Juste pour mettre à jour ces réponses, ESRI a inclus cet outil, appelé Calque vers KML dans ArcMap 10.X. De plus, un outil Map to KML existe. 

Importez simplement le calque souhaité (vecteur ou raster) et choisissez l'emplacement de sortie, la résolution, etc. Outil très simple. 

1
SoilSciGuy

2018 déjà ... J'ai trouvé ce fantastique outil en ligne http://mapshaper.org/ pour convertir des fichiers de formes ESRI en fichiers SVG, TopoJSON et GeoJSON.

Voici l'explication de son utilisation https://www.statsilk.com/maps/convert-esri-shapefile-map-geojson-format

Rapide et simple! :)

0
tiomno