Споживаєте Карти Google як фонову карту через ArcGIS Server?


9

Я роблю проект (не комерційний), коли клієнт не має бюджету на придбання даних карт, таких як TeleAtlas.

Їм потрібні дані лише для фонової карти, і вони хочуть використовувати Карти Google в якості постачальника.

Однак рішення має інтегруватися з існуючим рішенням на базі ArcGIS Server.

Чи можливо це нестандартно з ArcGIS Server (9.3.1) чи, можливо, через розширення (комерційне чи інше)?

Відповіді:


10

Загальні положення та умови Google цього не дозволяють.

Ви можете отримати доступ до їх базових карт лише в тому випадку, якщо ви використовуєте їх управління картами. Розширення ArcGIS JavaScript для API Карт Google працює з керуванням ними карт і дозволяє накладати сервіси з сервера ArcGIS.


7

Окрім використання онлайн-інструментів ArcGIS, можливо, можна використовувати дані сервера ArcGIS - через відкриті API, такі як WMS або WFS - у OpenLayers , наборі інструментів веб-зіставлення з відкритим кодом. OpenLayers обертає Javascript API Google Maps - разом з кількома іншими, такими як Bing та Yahoo! - і додає підтримку відкритих стандартів, таких як WMS / WFS, а також підтримку OpenStreetMap .

Існує існуюча підтримка використання деяких API ArcGIS , і спільнота, як правило, підтримує пошук рішень щодо використання існуючих служб ESRI з власними базовими картами, такими як Google Maps.


2

Я не знаю для вас, щоб ви споживали карти Google і дозволяли запитувати їх з вашого сервера ArcGIS. Однак, поточний API Javascript дозволяє додавати зображення Google на вашу карту.

Погляньте на розширення ArcGIS JavaScript для Карт Google .

Ви також можете скористатись базовими картами ArcGIS Online (вступ до них можна переглянути тут ) через API Silverlight, Flex або Javascript.


2

Хоча ви не можете отримати доступ до плиток Google Maps безпосередньо (якщо заборонити явну угоду, узгоджену безпосередньо з Google, що малоймовірно), ви можете використовувати API статичної карти Google. Звичайно, вам доведеться відповідати умовам надання послуги API.

Мій колега Рекс дуже добре пояснює це у своїй публікації в блозі на цю тему , на додаток до надання повністю функціональної вибірки для ArcGIS API для SL / WPF.

Що стосується прокатки шару WMS всередині MXD та публікації як сервісу, це суперечить кращим практикам ArcGIS Server. Кращим підходом є відпрацювання зразка Rex або, якщо ви не можете використовувати Silverlight, написати свій власний тип шару для API JavaScript або Flex.


1

Ще до того, як ви могли просто додати його як ресурс, хтось підготував код ADF, який дозволив вам підключитися до Bing (тоді віртуальної Землі) і ставитися до нього як до іншої служби.

Я не можу точно згадати, хто це робив і де можна було знайти код, і я думаю, що це було для Server 9.2, але це виглядає трохи знайомо:

Спеціальне джерело даних VE для AGS
http://arcscripts.esri.com/details.asp?dbid=15504

Можливо, вам доведеться перестрибнути кілька обручів, щоб додати карту Google за вашу послугу та / або покластися на сервер ArcGIS для функціональності, але я думаю, що це можливо.


0

Google не отримує сервер для створення своїх карт як WMS. Єдиний законний спосіб споживати його за допомогою програм ESRI - це розширення JavaScript ArcGIS для API Карт Google.

Бінг - краща ставка.
Опублікування WMS за допомогою каскадного сервісу карт - все одно погана практика з міркувань продуктивності.


0

хоча це не допоможе веб-додаткам, ви можете перевірити цю нову службу, яку ми додамо до Arc2Earth, де ви можете придбати доступ до даних у Картах Google по всьому світу (а також доступ до інших їхніх карт-послуг: піднесення, маршрутизація, Геокодування тощо) безпосередньо з ArcMap.


"ви повинні розкрити свою приналежність у своїх відповідях" . Більшість роблять це з чимось на кшталт " Розкриття інформації : я власник / розробник Arc2Earth"
PolyGeo

0

спочатку ви повинні отримати плитки google або будь-якого постачальника карт, а потім помістити їх у відповідні каталоги.

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

після цього ви повинні розробити веб-сервіс, який повинен бути в x / y / z fromat, який можна викликати за допомогою сторони програми Clinet, наприклад leaflet.ja або ArcGis javascript api

цей веб-сервіс повинен подавати зображення плитки для клінету

Ваш запит на це зображення повинен бути

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

і, нарешті, додати веб-сервіс до застосування в клініці. наприклад у 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);

або в leaflet.js

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

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

-2

Вашим клієнтам може бути легше розглянути можливість використання Bing Maps Microsoft як фон, оскільки це можна отримати безкоштовно з коробки. Єдиним уловом тут є те, що вам потрібно запустити ArGIS Server 10, оскільки в 9.3.1 вам все одно потрібно платити за доступ. Ось посилання на та сторінку ESRI з додатковою інформацією. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


Дякую, але, як я писав, я шукаю спосіб підтримати Карти Google, а не Bing.
Cumbayah
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.