Sử dụng Google Maps làm bản đồ nền thông qua ArcGIS Server?


9

Tôi đang thực hiện một dự án (phi thương mại) trong đó khách hàng không có ngân sách để mua dữ liệu bản đồ như TeleAtlas cung cấp.

Họ chỉ cần dữ liệu bản đồ cho bản đồ nền và họ muốn sử dụng Google Maps làm nhà cung cấp.

Tuy nhiên, giải pháp phải tích hợp với giải pháp dựa trên Máy chủ ArcGIS hiện có của họ.

Có thể ra khỏi hộp với ArcGIS Server (9.3.1) hoặc có thể thông qua một phần mở rộng (thương mại hoặc cách khác)?

Câu trả lời:


10

Điều khoản và Điều kiện của Google không cho phép điều này.

Bạn chỉ có thể có quyền truy cập vào bản đồ nền của họ nếu bạn sử dụng điều khiển bản đồ của họ. Các ArcGIS mở rộng hoạt Javascript cho Google Maps API làm việc với kiểm soát bản đồ của họ và cho phép bạn để che phủ các dịch vụ từ ArcGIS Server.


7

Ngoài việc sử dụng các công cụ trực tuyến ArcGIS, có thể sử dụng dữ liệu máy chủ ArcGIS - thông qua các API mở như WMS hoặc WFS - trong OpenLayers , bộ công cụ lập bản đồ web nguồn mở. OpenLayers kết thúc API Javascript của Google Maps - cùng với một số người khác như Bing và Yahoo! - và thêm hỗ trợ cho các tiêu chuẩn mở như WMS / WFS, cũng như hỗ trợ cho OpenStreetMap .

Hiện đã có hỗ trợ cho việc sử dụng một số API ArcGIS và cộng đồng thường hỗ trợ tìm giải pháp để sử dụng các dịch vụ ESRI hiện có với bản đồ cơ sở độc quyền như Google Maps.


2

Không có cách nào tôi biết để bạn sử dụng bản đồ của Google và cho phép chúng được yêu cầu từ Máy chủ ArcGIS của bạn. Tuy nhiên, API Javascript hiện tại cho phép bạn thêm hình ảnh của Google vào bản đồ của mình.

Hãy xem phần mở rộng JavaScript ArcGIS cho Google Maps .

Bạn cũng có thể sử dụng các bản đồ nền ArcGIS Online (phần giới thiệu có sẵn ở đây ) thông qua API Silverlight, Flex hoặc Javascript.


2

Mặc dù bạn không thể truy cập trực tiếp vào các lát xếp của Google Maps (không có thỏa thuận rõ ràng được đàm phán với Google, điều này là không thể), bạn có thể sử dụng API Google Map Map. Tất nhiên, bạn sẽ phải tuân thủ các điều khoản dịch vụ của API đó.

Đồng nghiệp Rex của tôi giải thích tất cả điều này rất tốt trong bài đăng trên blog của anh ấy về chủ đề này , ngoài việc cung cấp một mẫu đầy đủ chức năng cho API ArcGIS cho SL / WPF.

Đối với việc cuộn một lớp WMS bên trong MXD và xuất bản dưới dạng dịch vụ, điều này đi ngược lại các thực tiễn tốt nhất của ArcGIS Server. Cách tiếp cận tốt hơn là xử lý mẫu của Rex hoặc, nếu bạn không thể sử dụng Silverlight, hãy viết loại lớp của riêng bạn cho API JavaScript hoặc Flex.


1

Quay trở lại trước khi bạn có thể thêm nó dưới dạng tài nguyên, ai đó đã tạo ra một số mã ADF cho phép bạn kết nối với Bing (sau đó là Trái đất ảo) và coi nó như một dịch vụ khác.

Tôi không thể nhớ chính xác ai đã làm nó và nơi có thể tìm thấy mã, và tôi nghĩ rằng nó là dành cho Máy chủ 9.2, nhưng điều này có vẻ hơi quen thuộc:

Nguồn dữ liệu tùy chỉnh VE cho AGS
http://arcscripts.esri.com/details.asp?dbid=15504

Bạn có thể phải nhảy qua một số vòng để thêm bản đồ Google đằng sau dịch vụ của mình và / hoặc dựa vào Máy chủ ArcGIS để biết chức năng, nhưng tôi cá là nó không thể.


0

Google không lưu trữ bản đồ của họ dưới dạng WMS. Chỉ có cách hợp pháp để sử dụng ứng dụng ESRI là thông qua Tiện ích mở rộng JavaScript ArcGIS cho API Google Maps.

Bing là một đặt cược tốt hơn.
Xuất bản WMS thông qua dịch vụ bản đồ xếp tầng là cách thực hành tồi vì lý do hiệu suất dù sao đi nữa.


0

mặc dù nó không giúp ích gì cho các ứng dụng web, bạn có thể kiểm tra dịch vụ mới này sẽ thêm vào Arc2Earth nơi bạn có thể mua quyền truy cập vào dữ liệu Google Map trên toàn thế giới (cũng như truy cập vào các dịch vụ Bản đồ khác của họ: Độ cao, Định tuyến, Mã hóa địa lý, vv) trực tiếp từ ArcMap.


"Bạn phải tiết lộ liên kết của bạn trong câu trả lời của bạn" . Hầu hết làm điều này với một cái gì đó như " Tiết lộ : Tôi là chủ sở hữu / nhà phát triển của Arc2Earth"
PolyGeo

0

Đầu tiên, bạn phải có được gạch google hoặc bất kỳ nhà cung cấp bản đồ nào và tiếp theo đặt chúng vào một số thư mục thích hợp.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

sau đó, bạn phải phát triển một dịch vụ web phải từ x / y / z từ đó có thể được gọi bằng ứng dụng bên lâm sàng như leaflet.ja hoặc ArcGis javascript api

dịch vụ web này phải phục vụ hình ảnh gạch để lâm sàng

yêu cầu của bạn cho hình ảnh này là

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

và cuối cùng thêm dịch vụ web vào ứng dụng lâm sàng. ví dụ trong api arcgis javascript

            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);

hoặc trong leaflet.js

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

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

-2

Có thể dễ dàng hơn để khiến khách hàng của bạn cân nhắc sử dụng Bản đồ Bing của Microsoft làm nền vì điều này có thể được truy cập miễn phí. Điều hấp dẫn duy nhất ở đây là bạn sẽ cần chạy ArGIS Server 10 vì tại 9.3.1 bạn vẫn cần trả tiền để truy cập. Đây là một liên kết đến và trang ESRI với nhiều thông tin hơn. http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


Cảm ơn, nhưng như tôi đã viết, tôi đang tìm cách hỗ trợ Google Maps chứ không phải Bing.
Cumbayah
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.