ArcGIS Serverを介して、Googleマップをバックグラウンドマップとして使用しますか?


9

TeleAtlasが提供するような地図データを購入するための予算がクライアントにない(非商用)プロジェクトを行っています。

背景地図の地図データのみが必要であり、Googleマップをプロバイダーとして使用したいと考えています。

ただし、ソリューションは既存のArcGIS Serverベースのソリューションと統合する必要があります。

ArcGIS Server(9.3.1)をそのまま使用することは可能ですか、それとも拡張機能(商用またはその他)を使用することが可能ですか?

回答:



7

ArcGISオンラインツールを使用することに加えて、WMSやWFSなどのオープンAPIを介して、ArcGISサーバーデータをOpen Source WebマッピングツールキットであるOpenLayersで使用できる場合があります。OpenLayersをGoogleマップのJavaScript APIをラップ-と一緒にいくつかの他ビング、ヤフーなどの -そして、WMS / WFSのようなオープンスタンダードのサポートとOpenStreetMapのサポートを追加します。

一部のArcGIS APIを使用するための既存のサポートがあり、コミュニティは通常、Googleマップなどの独自のベースマップで既存のESRIサービスを使用するためのソリューションを見つけることを支援しています。


2

Googleのマップを利用して、ArcGIS Serverからリクエストできるようにする方法はありません。ただし、現在のJavaScript APIを使用すると、Googleの画像をマップに追加できます。

見てみましょうGoogleマップのためのArcGIS JavaScriptの拡張を

また、Silverlight、Flex、またはJavaScript APIを介して、ArcGIS Onlineベースマップ(概要はこちらから入手可能)を使用することもできます。


2

Googleマップのタイルに直接アクセスすることはできませんが(Googleと直接交渉された明示的な合意がない限り、そうではありません)、Google Static Map APIを使用できます。もちろん、そのAPIの利用規約に準拠する必要があります。

私の同僚であるRexは、ArcGIS API for SL / WPFの完全に機能するサンプルを提供することに加えて、件名に関する彼のブログ投稿でこれを非常によく説明しています。

MXD内でWMSレイヤーをローリングしてサービスとして公開することに関しては、これはArcGIS Serverのベストプラクティスに反します。より良いアプローチは、Rexのサンプルを使用するか、Silverlightを使用できない場合は、JavaScriptまたはFlex APIの独自のレイヤータイプを作成することです。


1

リソースとして追加する前に、誰かがBing(当時はVirtual Earth)に接続して別のサービスのように扱えるようにするADFコードを作成しました。

だれがそれをしたのか、コードがどこにあるのかを正確に思い出せません。これはServer 9.2のせいだと思いますが、これは少しなじみがあります。

AGSのカスタムデータソースVE
http://arcscripts.esri.com/details.asp?dbid=15504

サービスの背後にGoogleマップを追加したり、機能をArcGIS Serverに依存したりするために、いくつかの手間を省く必要があるかもしれませんが、それは可能です。


0

GoogleはマップをWMSとしてサーバーに登録しません。ESRIアプリでそれを使用する唯一の正当な方法は、Google Maps APIのArcGIS JavaScript Extensionを使用することです。

Bingの方が適しています。
カスケードマップサービスを介してWMSを公開することは、とにかくパフォーマンス上の理由から悪い習慣です。


0

Webアプリには役立ちませんが、Arc2Earthに追加するこの新しいサービスをチェックして、世界中のGoogleマップデータへのアクセス(および他のマップサービスへのアクセス:標高、ルーティング、ジオコーディングなど)。ArcMapから直接。


「あなたの答えであなたの所属を開示しなければなりません」。ほとんどの場合、「開示:私はArc2Earthの所有者/開発者です」などの方法でこれを行います
PolyGeo

0

最初に、Googleタイルまたは任意のマッププロバイダーを取得し、次にそれらをいくつかの適切なディレクトリに配置する必要があります。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください

その後、x / y / z fromatにある必要があるWebサービスを開発する必要があります。このサービスは、leaflet.jaやArcGis javascript apiなどのclinetサイドアプリケーションから呼び出すことができます。

このWebサービスはタイル画像をclinetに提供する必要があります

この画像のリクエストは

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

最後に、ウェブサービスをclinetアプリケーションに追加します。たとえば、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

箱から出して無料でアクセスできるため、MicrosoftのBingマップを背景として使用することをクライアントに検討させる方が簡単かもしれません。ここでの唯一の問題は、9.3.1でもアクセス料金を支払う必要があるため、ArGIS Server 10を実行している必要があることです。詳細はESRIページへのリンクです。 http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


ありがとう、でも書いたように、BingではなくGoogleマップをサポートする方法を探しています。
クンバヤ2010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.