Why is the World Imagery basemap loading so slow?

1663
3
Jump to solution
07-05-2017 09:14 AM
esri
by
Occasional Contributor III

I don't initially load the World Imagery basemap inside the Map object because I want it off by default. Also, the map is in our local state plane coordinate system.

So, I have something like:

SpatialReference {
     id: sr
     wkid: 102726
}

Map {
     id: map
     spatialReference: sr
}

ArcGISMapImageLayer {
     id: basemapLayer
     url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"

     visible: false
     opacity: 0.60
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

And then I have a button that when clicked turns the basemapLayer on/off.

I'm surprised how slow the imagery loads, even over a wifi connection. Is this due to the spatial reference of the map, and the imagery needing to reproject on the fly?

I've noticed when I zoom in pretty close to say a building, the imagery just never even loads.

Reply
0 Kudos
1 Solution

Accepted Solutions
LucasDanzinger
Esri Frequent Contributor

A couple of things:

If you go to that endpoint, you will see the following key - Single Fused Map Cache: true

This is basically synonymous with  a "cached tiled map service", so you should use the ArcGISTiledLayer class for this.

I'm actually not really sure how it is working with the map image layer. Maybe that is the hang up?

Another thought could be the 5.8 networking bug (not sure what version you are on) - https://community.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-for-qt/blog... 

View solution in original post

3 Replies
LucasDanzinger
Esri Frequent Contributor

A couple of things:

If you go to that endpoint, you will see the following key - Single Fused Map Cache: true

This is basically synonymous with  a "cached tiled map service", so you should use the ArcGISTiledLayer class for this.

I'm actually not really sure how it is working with the map image layer. Maybe that is the hang up?

Another thought could be the 5.8 networking bug (not sure what version you are on) - https://community.esri.com/community/developers/native-app-developers/arcgis-runtime-sdk-for-qt/blog... 

View solution in original post

esri
by
Occasional Contributor III

I am on 5.8, so that's certainly a possibility.

I used the ArcGISMapImageLayer class so that the imagery could be reprojected into our State Plane coordinate system. My understanding is that if you use ArcGISTiledLayer class, then it cannot be reprojected, and the basemap must be in the same coordinate system as the map.

I did a quick test and changed everything to use Mercator, and it definitely runs a lot faster, and that is still using the ArcGISMapImageLayer class.

So, I think I will just stick with Mercator, and I'll switch to ArcGISTiledLayer like you suggested.

Reply
0 Kudos
LucasDanzinger
Esri Frequent Contributor

Yea, it would be interesting to watch the traffic in Fiddler or something like that. My guess is the Server takes a bit of time to reproject all of that local raster data before it sends the images back. It is certainly not a trivial change, so a performance hit would likely be expected...