ใช้ Google แผนที่เป็นแผนที่พื้นหลังผ่าน ArcGIS Server หรือไม่


9

ฉันกำลังทำโครงการ (ที่ไม่ใช่เชิงพาณิชย์) ซึ่งลูกค้าไม่มีงบประมาณสำหรับการซื้อข้อมูลแผนที่แบบที่ TeleAtlas จัดหาให้

พวกเขาต้องการเพียงข้อมูลแผนที่สำหรับแผนที่พื้นหลังและต้องการใช้ Google Maps เป็นผู้ให้บริการ

อย่างไรก็ตามโซลูชันต้องรวมเข้ากับโซลูชันที่ใช้ ArcGIS Server ที่มีอยู่

เป็นไปได้หรือไม่ที่จะใช้ ArcGIS Server (9.3.1) หรือผ่านทางส่วนขยาย (เชิงพาณิชย์หรืออย่างอื่น)?

คำตอบ:


10

ข้อกำหนดในการให้บริการของ Google ไม่อนุญาตสิ่งนี้

คุณสามารถเข้าถึง basemaps ของพวกเขาหากคุณใช้การควบคุมแผนที่ ขยาย JavaScript ArcGIS สำหรับ Google Maps APIทำงานร่วมกับการควบคุมแผนที่ของพวกเขาและช่วยให้คุณสามารถวางซ้อนบริการจาก ArcGIS เซิร์ฟเวอร์


7

นอกเหนือจากการใช้เครื่องมือออนไลน์ ArcGIS มันเป็นไปได้ที่จะใช้ข้อมูลเซิร์ฟเวอร์ ArcGIS - ผ่าน API แบบเปิดเช่น WMS หรือ WFS - ในOpenLayersซึ่งเป็นชุดเครื่องมือการทำแผนที่เว็บโอเพนซอร์ส OpenLayers ล้อม API Javascript ของ Google Maps - พร้อมกับอีกหลายอย่างเช่น Bing และ Yahoo! - และเพิ่มการสนับสนุนสำหรับมาตรฐานแบบเปิดเช่น WMS / WFS เช่นเดียวกับการสนับสนุนสำหรับOpenStreetMap

มีการสนับสนุนที่มีอยู่แล้วสำหรับการใช้ArcGIS APIบางส่วนและโดยทั่วไปชุมชนจะสนับสนุนการค้นหาโซลูชันเพื่อใช้บริการ ESRI ที่มีอยู่ด้วยแผนที่พื้นฐานที่เป็นกรรมสิทธิ์เช่น Google Maps


2

ไม่มีวิธีใดที่ฉันรู้ว่าคุณใช้แผนที่ของ Google และทำให้พวกเขาได้รับการร้องขอจาก ArcGIS Server ของคุณ อย่างไรก็ตาม Javascript API ปัจจุบันให้คุณเพิ่มรูปภาพของ Google ในแผนที่ของคุณ

ลองดูที่เป็นส่วนขยายของ JavaScript ArcGIS สำหรับ Google Maps

คุณสามารถใช้ ArcGIS Online basemaps (บทนำที่มีอยู่ที่นี่ ) ผ่าน Silverlight, Flex หรือ Javascript API


2

แม้ว่าคุณจะไม่สามารถเข้าถึงไทล์ Google Maps ได้โดยตรง (ยกเว้นข้อตกลงที่ชัดเจนซึ่งเจรจากับ Google โดยตรงซึ่งไม่น่าเป็นไปได้) แต่คุณสามารถใช้ Google Static Map API แน่นอนว่าคุณจะต้องปฏิบัติตามข้อกำหนดในการให้บริการของ API นั้น

เร็กซ์เพื่อนร่วมงานของฉันอธิบายทั้งหมดนี้เป็นอย่างดีในการโพสต์บล็อกของเขาในเรื่องนอกเหนือจากการให้ตัวอย่างที่ทำงานได้อย่างสมบูรณ์สำหรับ ArcGIS API สำหรับ SL / WPF

ในการกลิ้งเลเยอร์ WMS ใน MXD และเผยแพร่เป็นบริการสิ่งนี้จะขัดกับหลักปฏิบัติที่ดีที่สุดของ ArcGIS Server วิธีที่ดีกว่าคือการทำงานกับตัวอย่างของ Rex หรือหากคุณไม่สามารถใช้ Silverlight ให้เขียนประเภทเลเยอร์ของคุณเองสำหรับ JavaScript หรือ Flex APIs


1

ย้อนกลับไปก่อนที่คุณจะสามารถเพิ่มเป็นทรัพยากรใครบางคนปรุงรหัส ADF บางส่วนที่ให้คุณเชื่อมต่อกับ Bing (จากนั้นเสมือน Earth Earth) และปฏิบัติกับมันเหมือนบริการอื่น

ฉันจำไม่ได้ว่าใครทำอย่างนั้นและรหัสสามารถพบได้และฉันคิดว่ามันเป็นสำหรับเซิร์ฟเวอร์ 9.2 แต่มันดูคุ้นเคยเล็กน้อย:

แหล่งข้อมูล VE ที่กำหนดเองสำหรับ AGS
http://arcscripts.esri.com/details.asp?dbid=15504

คุณอาจต้องผ่านการวนซ้ำบางอย่างเพื่อเพิ่มแผนที่ Google ที่อยู่ด้านหลังบริการของคุณและ / หรือพึ่งพาเซิร์ฟเวอร์ ArcGIS สำหรับการใช้งาน แต่ฉันคิดว่ามันเป็นไปไม่ได้


0

เซิร์ฟเวอร์ของ Google ไม่ได้ทำแผนที่เป็น WMS วิธีที่ถูกต้องในการบริโภคมันด้วยแอป ESRI คือผ่าน ArcGIS JavaScript Extension สำหรับ Google Maps API

Bing เป็นทางออกที่ดีกว่า
การเผยแพร่ WMS ผ่านบริการแผนที่แบบเรียงซ้อนเป็นการปฏิบัติที่ไม่ดีด้วยเหตุผลด้านประสิทธิภาพ แต่อย่างใด


0

ในขณะที่มันไม่ได้ช่วยแอปบนเว็บคุณสามารถตรวจสอบบริการใหม่นี้ที่เราจะเพิ่มใน Arc2Earth ซึ่งคุณสามารถซื้อการเข้าถึงข้อมูล Google แผนที่ทั่วโลก (รวมถึงการเข้าถึงบริการแผนที่อื่น ๆ ของพวกเขา: ระดับความสูง, การกำหนดเส้นทาง Geocoding ฯลฯ ) โดยตรงจาก ArcMap


"คุณจะต้องเปิดเผยความเกี่ยวพันของคุณในคำตอบของคุณ" ส่วนใหญ่ทำสิ่งนี้ด้วย "การเปิดเผยข้อมูล : ฉันเป็นเจ้าของ / นักพัฒนาของ Arc2Earth"
PolyGeo

0

ในตอนแรกคุณจะต้องได้รับไทล์ Google หรือผู้ให้บริการแผนที่และวางไว้ในไดเรกทอรีที่เหมาะสม

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

หลังจากนั้นคุณต้องพัฒนาเว็บเซอร์วิสที่จะต้องอยู่ใน x / y / z fromat ที่สามารถโทรได้โดยแอปพลิเคชันด้าน clinet เช่น leaflet.ja หรือ ArcGis javascript api

บริการเว็บนี้จะต้องแสดงภาพย่อยไปยังคลีนิก

คำขอของคุณสำหรับภาพนี้จะเป็น

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

และในที่สุดก็เพิ่ม web servic ให้กับ applicetation ของ 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

อาจเป็นการง่ายกว่าที่ลูกค้าของคุณจะพิจารณาใช้ Bing Maps ของ Microsoft เป็นพื้นหลังเนื่องจากสามารถเข้าถึงได้โดยไม่ต้องเสียค่าใช้จ่าย สิ่งเดียวที่คุณต้องทำคือใช้ ArGIS Server 10 ตั้งแต่ 9.3.1 คุณยังต้องจ่ายเงินเพื่อเข้าใช้งาน นี่คือลิงค์ไปยังและหน้า ESRI พร้อมข้อมูลเพิ่มเติม http://www.esri.com/software/arcgis/arcgisonline/bing-maps.html


ขอบคุณ แต่อย่างที่ฉันเขียนฉันกำลังมองหาวิธีที่จะสนับสนุน Google แผนที่ไม่ใช่ Bing
Cumbayah
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.