Utilizzi Google Maps come mappa di sfondo tramite ArcGIS Server?


9

Sto realizzando un progetto (non commerciale) in cui il cliente non ha il budget per l'acquisto di dati cartografici come quello fornito da TeleAtlas.

Hanno solo bisogno dei dati della mappa per una mappa di sfondo e vorrebbero utilizzare Google Maps come fornitore.

Tuttavia, la soluzione deve integrarsi con la soluzione esistente basata su ArcGIS Server.

È possibile utilizzare immediatamente ArcGIS Server (9.3.1) o tramite un'estensione (commerciale o di altro tipo)?

Risposte:



7

Oltre all'utilizzo degli strumenti online ArcGIS, potrebbe essere possibile utilizzare i dati del server ArcGIS - tramite API aperte come WMS o WFS - in OpenLayers , un toolkit di mappatura web Open Source. OpenLayers racchiude l'API Javascript di Google Maps, insieme a molti altri come Bing e Yahoo! - e aggiunge il supporto per standard aperti come WMS / WFS, nonché il supporto per OpenStreetMap .

Esiste il supporto esistente per l'utilizzo di alcune delle API ArcGIS e la community è generalmente favorevole alla ricerca di soluzioni per utilizzare i servizi ESRI esistenti con mappe di base proprietarie come Google Maps.


2

Non conosco in alcun modo che tu consumi le mappe di Google e consenta loro di essere richieste dal tuo server ArcGIS. Tuttavia, l'attuale API Javascript ti consente di aggiungere le immagini di Google alla tua mappa.

Dai un'occhiata all'estensione JavaScript di ArcGIS per Google Maps .

È inoltre possibile utilizzare le mappe di base di ArcGIS Online (un'introduzione per la quale è disponibile qui ) tramite le API Silverlight, Flex o Javascript.


2

Sebbene non sia possibile accedere direttamente ai riquadri di Google Maps (salvo un accordo esplicito negoziato direttamente con Google, il che è improbabile), è possibile utilizzare l'API di Google Static Map. Ovviamente, dovresti rispettare i termini di servizio dell'API.

Il mio collega Rex lo spiega molto bene nel suo post sul blog sull'argomento , oltre a fornire un campione completamente funzionale per l'API ArcGIS per SL / WPF.

Per quanto riguarda il rolling di un layer WMS all'interno di un MXD e la pubblicazione come servizio, ciò va contro le migliori pratiche di ArcGIS Server. Un approccio migliore consiste nel lavorare sull'esempio di Rex o, se non è possibile utilizzare Silverlight, scrivere il proprio tipo di livello per le API JavaScript o Flex.


1

Prima di poterlo semplicemente aggiungere come risorsa, qualcuno ha elaborato del codice ADF che ti consente di connetterti a Bing (quindi Virtual Earth) e di trattarlo come un altro servizio.

Non ricordo esattamente chi lo ha fatto e dove sia stato trovato il codice, e penso che fosse per Server 9.2, ma questo sembra un po 'familiare:

Origine dati personalizzata VE per AGS
http://arcscripts.esri.com/details.asp?dbid=15504

Potresti dover saltare alcuni cerchi per aggiungere una mappa di Google dietro il tuo servizio e / o fare affidamento su un server ArcGIS per funzionalità, ma scommetto che è fattibile.


0

Google non configura le proprie mappe come WMS. L'unico modo legittimo per utilizzarlo con le app ESRI è tramite l'estensione JavaScript ArcGIS per l'API di Google Maps.

Bing è una scommessa migliore.
La pubblicazione di WMS tramite un servizio di mappe a cascata è comunque una cattiva pratica per motivi di prestazioni.



0

all'inizio devi ottenere tessere google o qualsiasi fornitore di mappe e poi inserirle in alcune directory appropriate.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

dopodiché è necessario sviluppare un servizio Web che deve essere in x / y / z fromat che può essere chiamato dall'applicazione lato clinet come leaflet.ja o ArcGis javascript api

questo servizio web deve servire immagini di riquadri per il clinet

la tua richiesta per questa immagine deve essere

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

e infine aggiungere il servizio Web per l'applicazione Clinet. ad esempio in 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);

o in leaflet.js

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

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

-2

Potrebbe essere più semplice indurre i tuoi clienti a considerare l'utilizzo di Bing Maps di Microsoft come sfondo in quanto è possibile accedervi gratuitamente. L'unico problema qui è che dovresti eseguire ArGIS Server 10 poiché alla 9.3.1 devi ancora pagare per l'accesso. Ecco un link alla pagina ESRI con maggiori informazioni. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


Grazie, ma come ho scritto, sto cercando un modo per supportare Google Maps, non Bing.
Cumbayah,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.