Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago

Custom WMS or WMTS Map Layer

I would like to display a map that contains my own custom map layer - either WMS or WMTS.  I have tried the standard Map, Arcgis and Mapbox, but could not find anywhere to add my own layer.  Is this possible out of the box or am I going to have to write something?  Thanks.

6 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for the reply.  Unfortunately this is not quite what I want.  We have published our own basemap for New Zealand as WMTS (Web mapping tile service) or WMS and would like to use it as a base map rather than any of the default ones provided.  We use it for our own mapping applications (eg. Leaflet) and have several clients asking if they can use it with PowerBI.  

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi, I am just wondering if you have managed to work this out as I have the same need - to laod a wms or wmts map into the system without going through ARCGis.

  • Anonymous's avatar
    Anonymous
    Not applicable

    I know this is some what old but you can do this by using the Query tool that is a part of ArcGIS Rest services.

     

    For example if you create a query like this and grab the json version (https://idpgis.ncep.noaa.gov/arcgis/rest/services/NWS/USGS_Stream_Gauges/MapServer/0/query?geometry=-80.549980,35.326907&geometryType=esriGeometryPoint&inSR=4326&distance=2%20&units=esriSRUnit_StatuteMile&outFields=*&returnGeometry=true&f=pjson)

     

     

    You can bring it into Power BI using the following query into a Blank Query (under New Source):

     

    let   
        url = "https://idpgis.ncep.noaa.gov/arcgis/rest/services/NWS/USGS_Stream_Gauges/MapServer/0/query?geometry=-80.549980,35.326907&geometryType=esriGeometryPoint&inSR=4326&distance=50 &units=esriSRUnit_StatuteMile&outFields=*&returnGeometry=true&f=pjson",
        Source = Json.Document(Web.Contents(url)),
        response = Source[features],
        #"Converted to Table" = Table.FromList(response, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"attributes"}, {"Column1.attributes"}),
        #"Expanded Column1.attributes" = Table.ExpandRecordColumn(#"Expanded Column1", "Column1.attributes", {"OBJECTID_1", "OBJECTID", "feature_id", "site_no", "site_name", "da_sqkm", "lat", "lon"}, {"Column1.attributes.OBJECTID_1", "Column1.attributes.OBJECTID", "Column1.attributes.feature_id", "Column1.attributes.site_no", "Column1.attributes.site_name", "Column1.attributes.da_sqkm", "Column1.attributes.lat", "Column1.attributes.lon"})
    in
        #"Expanded Column1.attributes"

     

     

    From there you can bring it into a map: