Custom Map Server, darb.ae

Topics: Feature Requests
Jan 23, 2012 at 4:19 PM

Hi

I have been asked to pull in maps from http://www.darb.ae/ArcGIS/rest/services/BaseMaps 

I have create a custom MapProvider as seen below but can't get the map files to load, I very much suspect that I need to do some sort of coordinate conversion (the projection is GCS - WGS84). Thanks in advance for any help.

Public Class AbuDhabi_Q2_2011_NAVTQ_Eng_V5_MapProvider
    Inherits ArcGISMapPlateCarreeProviderBase

    Public Shared ReadOnly Instance As AbuDhabi_Q2_2011_NAVTQ_Eng_V5_MapProvider

    Private Sub New()
    End Sub

    Shared Sub New()
        Instance = New AbuDhabi_Q2_2011_NAVTQ_Eng_V5_MapProvider()
    End Sub

'#region GMapProvider Members


    Private Function MakeTileImageUrl(ByVal pos As GPoint, ByVal zoom As Integer, ByVal language As String) As String
        Return String.Format(UrlFormat, zoom, pos.Y, pos.X)
    End Function

    Shared ReadOnly UrlFormat As String = "http://www.darb.ae/ArcGIS/rest/services/BaseMaps/Q2_2011_NAVTQ_Eng_V5/MapServer/tile/{0}/{1}/{2}"

Jan 23, 2012 at 9:20 PM

set unique Id, Name, and projection like all the other arcgis providers

Jan 24, 2012 at 10:42 AM

Hi Radioman

Thanks for the quick reply. Sorry I ommited the id bit and name bit from the code, its in the '#region GMapProvider Members bit:

    Private m_id As Object = Nothing
    Public Overrides ReadOnly Property Id() As Guid
        Get
            If m_id Is Nothing Then
                m_id = New Guid("A5430308-5FEF-431C-B1A3-18785A8BAC0A")
            End If
            Return m_id
        End Get
    End Property

    ReadOnly m_name As String = "ArcGIS_AbuDhabi_Q2_2011_NAVTQ_Eng_V5"
    Public Overrides ReadOnly Property Name() As String
        Get
            Return m_name
        End Get
    End Property

So it is exactly the same as the ArcGIS_Imagery_World_2D_MapProvider (except in VB and a different name and id). I have tried changing the class to inherit from ArcGISMapMercatorProviderBase or ArcGISMapPlateCarreeProviderBase. Unless I put an error trap in GetTileImage I get "The remote server returned an error: (404) Not Found.", an example of the sort of URL it is looking for is: "http://www.darb.ae/ArcGIS/rest/services/BaseMaps/Q2_2011_NAVTQ_Eng_V5/MapServer/tile/11/439/667",  Any ideas.?

Cheers

Will

Jan 24, 2012 at 12:17 PM

i guess it's not standart projection

Jan 25, 2012 at 10:05 AM

done, works perfectly

Jan 25, 2012 at 10:09 AM

Hi radioman

Nice one, when you say done, do you mean there is a new build or something?

Cheers, WIll

Jan 25, 2012 at 11:52 AM

yes

Jan 25, 2012 at 12:08 PM

Outstanding, just downloaded the latest and it works a treat. Thanks radioman