¿Consumir Google Maps como mapa de fondo a través de ArcGIS Server?

9

Estoy haciendo un proyecto (no comercial) en el que el cliente no tiene el presupuesto para comprar datos de mapas como el proporcionado por TeleAtlas.

Solo necesitan datos de mapas para un mapa de fondo, y les gustaría usar Google Maps como proveedor.

Sin embargo, la solución tiene que integrarse con su solución existente basada en ArcGIS Server.

¿Es posible fuera de la caja con ArcGIS Server (9.3.1) o tal vez a través de una extensión (comercial o de otro tipo)?

Cumbayah
fuente

Respuestas:

7

Además de usar las herramientas en línea de ArcGIS, es posible usar los datos del servidor de ArcGIS, a través de API abiertas como WMS o WFS, en OpenLayers , un kit de herramientas de mapeo web de código abierto. OpenLayers envuelve la API de JavaScript de Google Maps, junto con varias otras como Bing y Yahoo! - y agrega soporte para estándares abiertos como WMS / WFS, así como soporte para OpenStreetMap .

Existe un soporte existente para usar algunas de las API de ArcGIS , y la comunidad generalmente apoya la búsqueda de soluciones para usar los servicios ESRI existentes con mapas base patentados como Google Maps.

Christopher Schmidt
fuente
2

No sé de ninguna manera que usted consuma los mapas de Google y permita que se soliciten desde su servidor ArcGIS. Sin embargo, la API Javascript actual le permite agregar imágenes de Google a su mapa.

Eche un vistazo a la Extensión de JavaScript de ArcGIS para Google Maps .

También puede usar los mapas base de ArcGIS Online (una introducción disponible aquí ) a través de las API Silverlight, Flex o Javascript.

Michael Todd
fuente
2

Si bien no puede acceder a los mosaicos de Google Maps directamente (salvo un acuerdo explícito negociado directamente con Google, lo cual es poco probable), puede usar la API de Google Static Map. Por supuesto, tendría que cumplir con los términos de servicio de esa API.

Mi colega Rex explica todo esto muy bien en su publicación de blog sobre el tema , además de proporcionar una muestra completamente funcional para la API de ArcGIS para SL / WPF.

En cuanto a rodar una capa WMS dentro de un MXD y publicar como un servicio, esto va en contra de las mejores prácticas de ArcGIS Server. Un mejor enfoque es trabajar con la muestra de Rex o, si no puede usar Silverlight, escriba su propio tipo de capa para las API de JavaScript o Flex.

zwaap
fuente
1

Antes de que pudieras agregarlo como un recurso, alguien preparó un código ADF que te permitía conectarte a Bing (luego Virtual Earth) y tratarlo como otro servicio.

No puedo recordar exactamente quién lo hizo y dónde se pudo encontrar el código, y creo que fue para el Servidor 9.2, pero esto parece un poco familiar:

Fuente de datos personalizada VE para AGS
http://arcscripts.esri.com/details.asp?dbid=15504

Es posible que tenga que saltar algunos obstáculos para agregar un mapa de Google detrás de su servicio, y / o confiar en un servidor ArcGIS para la funcionalidad, pero apuesto a que es factible.

mwalker
fuente
0

Google no sirve sus mapas como WMS. La única forma legítima de consumirlo con aplicaciones ESRI es a través de la Extensión ArcGIS JavaScript para la API de Google Maps.

Bing es una mejor apuesta.
Publicar WMS a través de un servicio de mapas en cascada es una mala práctica por razones de rendimiento de todos modos.

Simón
fuente
0

Si bien no ayudará con las aplicaciones web, puede consultar este nuevo servicio que agregaremos a Arc2Earth donde puede comprar el acceso a los datos de Google Map en todo el mundo (así como el acceso a sus otros servicios de mapas: Elevación, Enrutamiento, Geocodificación, etc.) directamente desde ArcMap.

bInundación
fuente
"debe revelar su afiliación en sus respuestas" . La mayoría hace esto con algo como " Divulgación : soy el propietario / desarrollador de Arc2Earth"
PolyGeo
0

Al principio debe obtener los mosaicos de Google o cualquier proveedor de mapas y luego colocarlos en algunos directorios apropiados.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

después de eso, debe desarrollar un servicio web que debe estar en x / y / z desde que se pueda llamar mediante una aplicación del lado del clinet, como leaflet.ja o ArcGis javascript api

este servicio web debe servir imágenes de mosaico para clinizar

su solicitud para esta imagen debe ser

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

y finalmente agregue el servicio web a la aplicación de clinet. por ejemplo en 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 en leaflet.js

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

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

Puede ser más fácil hacer que sus clientes consideren usar Bing Maps de Microsoft como fondo, ya que se puede acceder a él de forma gratuita desde el primer momento. El único inconveniente aquí es que necesitaría ejecutar ArGIS Server 10 ya que en 9.3.1 todavía debe pagar por el acceso. Aquí hay un enlace y una página de ESRI con más información. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html

Chris M
fuente
Gracias, pero como escribí, estoy buscando una manera de admitir Google Maps, no Bing.
Cumbayah