Vous consommez Google Maps en tant que carte d'arrière-plan via ArcGIS Server?


9

Je fais un projet (non commercial) où le client n'a pas le budget pour acheter des données cartographiques comme celles fournies par TeleAtlas.

Ils ont uniquement besoin de données cartographiques pour une carte d'arrière-plan et souhaitent utiliser Google Maps en tant que fournisseur.

Cependant, la solution doit s'intégrer à leur solution existante basée sur ArcGIS Server.

Est-il possible de sortir de la boîte avec ArcGIS Server (9.3.1) ou peut-être via une extension (commerciale ou autre)?

Réponses:


10

Les conditions d'utilisation de Google ne le permettent pas.

Vous ne pouvez accéder à leurs fonds de carte que si vous utilisez leur contrôle de carte. L' API ArcGIS JavaScript Extension pour Google Maps fonctionne avec leur contrôle de carte et vous permet de superposer des services à partir d'ArcGIS Server.


7

En plus d'utiliser les outils en ligne ArcGIS, il peut être possible d'utiliser les données du serveur ArcGIS - via des API ouvertes comme WMS ou WFS - dans OpenLayers , une boîte à outils de cartographie Web Open Source. OpenLayers encapsule l'API Javascript de Google Maps - ainsi que plusieurs autres comme Bing et Yahoo! - et ajoute la prise en charge des normes ouvertes comme WMS / WFS, ainsi que la prise en charge d' OpenStreetMap .

Il existe un support existant pour l'utilisation de certaines API ArcGIS , et la communauté est généralement favorable à la recherche de solutions pour utiliser les services ESRI existants avec des cartes de base propriétaires comme Google Maps.


2

Je ne connais aucun moyen pour vous de consommer les cartes de Google et de leur permettre d'être demandées à partir de votre serveur ArcGIS. Cependant, l'API Javascript actuelle vous permet d'ajouter des images de Google à votre carte.

Jetez un œil à l' extension JavaScript ArcGIS pour Google Maps .

Vous pouvez également utiliser les fonds de carte ArcGIS Online (dont une introduction est disponible ici ) via les API Silverlight, Flex ou Javascript.


2

Bien que vous ne puissiez pas accéder directement aux vignettes Google Maps (sauf accord explicite négocié directement avec Google, ce qui est peu probable), vous pouvez utiliser l'API Google Static Map. Bien sûr, vous devez vous conformer aux conditions d'utilisation de cette API.

Mon collègue Rex l'explique très bien dans son article de blog sur le sujet , en plus de fournir un exemple entièrement fonctionnel pour l'API ArcGIS pour SL / WPF.

Quant au déploiement d'une couche WMS à l'intérieur d'un MXD et à la publication en tant que service, cela va à l'encontre des meilleures pratiques d'ArcGIS Server. Une meilleure approche consiste à travailler à partir de l'exemple de Rex ou, si vous ne pouvez pas utiliser Silverlight, écrire votre propre type de couche pour les API JavaScript ou Flex.


1

Avant de pouvoir l'ajouter en tant que ressource, quelqu'un a préparé du code ADF qui vous permet de vous connecter à Bing (puis Virtual Earth) et de le traiter comme un autre service.

Je ne me souviens pas exactement qui l'a fait et où le code a pu être trouvé, et je pense que c'était pour le serveur 9.2, mais cela semble un peu familier:

Source de données personnalisée VE pour AGS
http://arcscripts.esri.com/details.asp?dbid=15504

Vous devrez peut-être sauter dans certains cercles pour ajouter une carte Google derrière votre service et / ou compter sur un serveur ArcGIS pour les fonctionnalités, mais je parie que c'est faisable.


0

Google ne met pas ses cartes sous forme de WMS. Le seul moyen légitime de le consommer avec les applications ESRI est via l'API ArcGIS JavaScript Extension pour Google Maps.

Bing est un meilleur pari.
La publication de WMS via un service de carte en cascade est de toute façon une mauvaise pratique pour des raisons de performances.


0

même si cela n'aidera pas avec les applications Web, vous pouvez consulter ce nouveau service que nous ajouterons à Arc2Earth où vous pouvez acheter l'accès aux données Google Map mondiales (ainsi que l'accès à leurs autres services de carte: élévation, routage, Géocodage, etc.) directement depuis ArcMap.


"vous devez divulguer votre affiliation dans vos réponses" . La plupart le font avec quelque chose comme " Divulgation : je suis le propriétaire / développeur d'Arc2Earth"
PolyGeo

0

au début, vous devez obtenir des tuiles Google ou tout autre fournisseur de cartes et ensuite les mettre dans certains répertoires appropriés.

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

après cela, vous devez développer un service Web qui doit être en x / y / z à partir de ce qui peut être appelé par une application côté clinet tel que leaflet.ja ou ArcGis javascript api

ce service Web doit servir des images de tuiles à clinet

votre demande pour cette image doit être

{your url}+/google.hybrid/16/485/27411

et enfin ajouter le service Web à l'application clinet. par exemple dans arcgis javascript api

            cycleMap1 = WebTiledLayer('your url'+"/${level}/${col}/${row}",{
            tileInfo: TileInfo({
                dpi: 96,
                rows: 256,
                cols: 256,
                origin: {
                    x: -20037508.342787,
                    y: 20037508.342787
                },
                spatialReference: {
                    wkid: 3857
                },
                lods: lods
            })

        });
        cycleMap1.setVisibility(0)
        map.addLayer(cycleMap1);

ou dans leaflet.js

                var tileHtbrid = 'your url' + '/{z}/{x}/{y}';

                var tilemap = L.tileLayer(tileHtbrid, {
                    minZoom: 7, maxZoom: 25,
                    attribution: 'TileServer'
                })

-2

Il pourrait être plus facile de faire en sorte que vos clients envisagent d'utiliser Bing Maps de Microsoft en arrière-plan, car cela est accessible gratuitement dès la sortie de la boîte. Le seul problème ici est que vous devez exécuter ArGIS Server 10 car, à la 9.3.1, vous devez toujours payer pour l'accès. Voici un lien vers la page ESRI avec plus d'informations. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


Merci, mais comme je l'ai écrit, je cherche un moyen de prendre en charge Google Maps, pas Bing.
Cumbayah
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.