Google Maps als Hintergrundkarte über ArcGIS Server verwenden?


9

Ich mache ein (nicht kommerzielles) Projekt, bei dem der Kunde nicht über das Budget für den Kauf von Kartendaten wie den von TeleAtlas bereitgestellten verfügt.

Sie benötigen nur Kartendaten für eine Hintergrundkarte und möchten Google Maps als Anbieter verwenden.

Die Lösung muss jedoch in die vorhandene ArcGIS Server-basierte Lösung integriert werden.

Ist dies mit ArcGIS Server (9.3.1) oder über eine Erweiterung (kommerziell oder anderweitig) sofort möglich?

Antworten:


10

Die Allgemeinen Geschäftsbedingungen von Google erlauben dies nicht.

Sie können nur dann auf ihre Grundkarten zugreifen, wenn Sie deren Kartensteuerung verwenden. Die ArcGIS JavaScript-Erweiterung für Google Maps API arbeitet mit der Kartensteuerung und ermöglicht das Überlagern von Diensten von ArcGIS Server.


7

Zusätzlich zur Verwendung von ArcGIS-Online-Tools können die ArcGIS-Serverdaten möglicherweise - über offene APIs wie WMS oder WFS - in OpenLayers , einem Open Source-Web-Mapping-Toolkit, verwendet werden. OpenLayers umschließt die Google Maps Javascript-API - zusammen mit mehreren anderen wie Bing und Yahoo! - und fügt Unterstützung für offene Standards wie WMS / WFS sowie Unterstützung für OpenStreetMap hinzu .

Es gibt bereits Unterstützung für die Verwendung einiger ArcGIS-APIs , und die Community unterstützt im Allgemeinen die Suche nach Lösungen für die Verwendung vorhandener ESRI-Dienste mit proprietären Basiskarten wie Google Maps.


2

Ich kenne keine Möglichkeit, die Karten von Google zu verwenden und sie von Ihrem ArcGIS-Server anzufordern. Mit der aktuellen Javascript-API können Sie jedoch Google-Bilder zu Ihrer Karte hinzufügen.

Schauen Sie sich die ArcGIS JavaScript-Erweiterung für Google Maps an .

Sie können die ArcGIS Online-Grundkarten (eine Einführung finden Sie hier ) auch über die Silverlight-, Flex- oder Javascript-APIs verwenden.


2

Sie können zwar nicht direkt auf die Google Maps-Kacheln zugreifen (außer bei einer expliziten Vereinbarung, die direkt mit Google ausgehandelt wurde, was unwahrscheinlich ist), aber Sie können die Google Static Map-API verwenden. Natürlich müssten Sie die Nutzungsbedingungen dieser API einhalten.

Mein Kollege Rex erklärt dies alles sehr gut in seinem Blog-Beitrag zu diesem Thema und bietet ein voll funktionsfähiges Beispiel für die ArcGIS-API für SL / WPF.

Das Rollen einer WMS-Schicht in einer MXD und das Veröffentlichen als Dienst widerspricht den Best Practices von ArcGIS Server. Ein besserer Ansatz besteht darin, das Beispiel von Rex zu bearbeiten oder, wenn Sie Silverlight nicht verwenden können, einen eigenen Ebenentyp für die JavaScript- oder Flex-APIs zu schreiben.


1

Bevor Sie es einfach als Ressource hinzufügen konnten, hat jemand einen ADF-Code erfunden, mit dem Sie eine Verbindung zu Bing (dann Virtual Earth) herstellen und ihn wie einen anderen Dienst behandeln können.

Ich kann mich nicht genau erinnern, wer es getan hat und wo der Code gefunden werden konnte, und ich denke, es war für Server 9.2, aber das kommt mir ein wenig bekannt vor:

Benutzerdefinierte Datenquelle VE für AGS
http://arcscripts.esri.com/details.asp?dbid=15504

Möglicherweise müssen Sie durch einige Rahmen springen, um eine Google-Karte hinter Ihrem Dienst hinzuzufügen, und / oder sich für die Funktionalität auf einen ArcGIS-Server verlassen, aber ich wette, dies ist machbar.


0

Google Server ihre Karten nicht als WMS. Die einzige legitime Möglichkeit, es mit ESRI-Apps zu verwenden, ist die ArcGIS JavaScript Extension für Google Maps API.

Bing ist eine bessere Wahl.
Das Veröffentlichen von WMS über einen kaskadierenden Kartendienst ist aus Leistungsgründen ohnehin eine schlechte Praxis.



0

Zuerst müssen Sie Google-Kacheln oder einen Kartenanbieter erhalten und diese dann in geeigneten Verzeichnissen ablegen.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Danach müssen Sie einen Webdienst entwickeln, der sich in x / y / z fromat befindet und von einer Clinet-seitigen Anwendung wie leaflet.ja oder ArcGis Javascript API aufgerufen werden kann

Dieser Webdienst muss Kachelbilder zum Clinchen bereitstellen

Ihre Anfrage für dieses Bild muss sein

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

und fügen Sie schließlich den Web-Service zur Clinet-Anwendung hinzu. Zum Beispiel 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);

oder in leaflet.js

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

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

-2

Es ist möglicherweise einfacher, Ihre Kunden dazu zu bringen, die Verwendung von Bing Maps von Microsoft als Hintergrund in Betracht zu ziehen, da sofort kostenlos darauf zugegriffen werden kann. Der einzige Haken dabei ist, dass Sie ArGIS Server 10 ausführen müssen, da Sie bei 9.3.1 noch für den Zugriff bezahlen müssen. Hier ist ein Link zu und eine ESRI-Seite mit weiteren Informationen. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


Vielen Dank, aber wie ich geschrieben habe, suche ich nach einer Möglichkeit, Google Maps zu unterstützen, nicht Bing.
Cumbayah
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.