Manage Tile Cache ignores AOI polygon

410
8
06-26-2019 02:17 AM
Highlighted
New Contributor III

Hello,

I'm running Manage Tile Cache in ArcGIS Pro 2.3.3, Windows 7, with an input AOI polygon.

The result is not what I expect, since areas outside AOI are included in the resulting tile cache, see attached images.

Is it a bug, or are there some limitations on the cache size og number of nodes in the AOI polygon?

(When I Export Tile Cache with the same AOI Polygon, the resulting .tpk omits the area outside the AOI..)

Best regards

Malik

Reply
0 Kudos
8 Replies
Highlighted
New Contributor III

I get the same result/error in ArcMap 10.6 (version 10.6.0.8321)

Reply
0 Kudos
Highlighted
New Contributor III
Reply
0 Kudos
Highlighted
Esri Frequent Contributor

You may want to add other groups to the post for better visibility: ArcGIS Pro

Have you also tried with the latest version of ArcGIS Pro 2.4.1?

If you need a more direct response, I would recommend contacting Technical Support (https://www.esri.com/en-us/contact#c=us&t=5) and opening a new support case.

--- George T.
Reply
0 Kudos
Highlighted
New Contributor III

Thanks for the reply George,

I'll try making a new suppport case.

Reply
0 Kudos
Highlighted
Esri Frequent Contributor

GeoNet is a great place to look and solicit information from the GIS community, but if it is more time sensitive I would always recommend a support case is opened.

--- George T.
Reply
0 Kudos
Highlighted
Occasional Contributor III

Hi Malik,

Very likely what you are/were encountering is expected behavior. Please allow me to explain how the AOI functionality works.

Two things often cause a bit of confusion on the Area of Interest feature:

  1. Scales are generated which exceed the extent of the Area of Interest - this results in the creation of low-resolution super tiles at smaller scales (smaller in GIS terms, e.g. 1:4,622,324). To not see super tiles you would simply create tiles for scales that more accurately capture the full extent of the Area of Interest.
  2. In general, seeing imagery outside of the Area of Interest is expected: https://enterprise.arcgis.com/en/server/latest/publish-services/windows/common-caching-questions.htm.... As explained in the documentation, "You should not see tiles created outside the boundary of your area of interest beyond 4,096 pixels in any direction." So, at any given scale there may be tiles created outside of the boundary boundary The 'bleed over' is very apparent if you create smaller scales as per #1.

To better visualize the above points, consider NVIDIA's concept of Conservative Rasterization:

consraster

From the above, it's easier to imagine that a super tile would be generated if the Area of Interest overlaps with its boundary.

When one provides an AOI for a given scale, the caching tools will try to render an area of 4096x4096 pixel (no antialiasing) or 2048 x 2048 pixels (antialiasing) of the map at the scale provided and store the tiles on disk. If the AOI is smaller than the super tile, then the cache will be generated for the entire super tile regardless.

In the above example, if one tries to generate cache for the State of Louisiana at L00 to L04  using the ArcGIS Online tiling scheme they would still see the entire world as the entire world can be rendered in 4096x4096 pixels at these levels.

To ensure cache tiles are only being generated for the super tiles, one should use the scale within the range of the Area of Interest. For Louisiana, this would constitute level 8 (2311162.217) and above. At these levels, the super tile extents would be smaller than the Area of Interest. You can confirm the cache is generate up to 4096 x 4096 pixels around the state of Louisiana and no cache generated for the state of “Missouri” at Level 10:

Note above that for L10, the shading ends before reaching Missouri.

How about a more in-depth example? Suppose one loads the following feature classes into an MXD:

  • Illinois substations (point)
  • Illinois transmission lines (polyline)
  • Illinois natural gas pipelines (polyline)
  • State boundary (polygon).

Everything is projected to EPSG: 3857. Here it is apparent that the State of Illinois is entirely visible at a scale of 1:3,711,017:

1

Let's suppose this data is published as a Map Service and the below tiling scheme is defined:

2

The scheme's minimum scale level is 7, or 1:4,622,324 - it was established earlier that the State of Illinois is visible at 1:3,711,017. Therefore, if using an Area of Interest it may not make sense to create scales lower than 1:288,895 or else you will see portions of State of Illinois when zoomed out:

3

The cache is created and the Cached Map Service is loaded into the MXD. As expected, nothing in the service is visible at 1:609,711:

4

However, zoom to the scale of the smallest scale that was generated (1:288,895) and you can see features. Here, notice that there are some tiles generated outside of the Area of Interest boundary. Again, this is expected and won't exceed 4096 pixels in any direction:

5

For even greater confidence that the Area of Interest was honored and only the desired scales were generated, you can view the Status.gdb that is generated with the service's cache. You will typically find this File Geodatabase here: arcgisserver\directories\arcgiscache\<service name>\Layers

Establish a folder connection to the cache directory and view the contents of the File Geodatabase:

cachegdb

The most relevant Feature Classes are JobStatus and TaskStatus. Load one or both of these into the same MXD. From the Feature Class extents, it should be immediately apparent that tiles were only created for the Area of Interest:

gdbfc

Furthermore, review the JobStatus Attribute Table to confirm that only the desired scales were generated:

jobstat

Hope this helps you and anyone else interested in knowing how the AOI functionality works!

Kind regards,

Earl

Highlighted
New Contributor III

Hi Earl,

Thanks for the detailed description of how AOI functionality works, but I think my case is another type of AOI functionality?

I was creating a tile cache from a mosaic (which had too much whitespace around, since the mosaic was created by topographic maps) and included an AOI polygon to exclude the excess whitespace.

But the AOI polygon was neglected, and the excess whitespace was exported to the tile cache.

Or is it the same AOI functionality? I am a little puzzled, since I am still new to tile caching...

Best regards

Malik

Reply
0 Kudos
Highlighted
Occasional Contributor III

Hi Malik,

I believe the underlying processes are pretty much the same, the only difference being that one tool is run by the server while the other is run by the client. I assisted someone not long ago who was seeing this same kind of behavior with both tools. From what you describe, it sounds like that white space may be within the 4096 pixel limit and that's what's going on.

You mentioned the imagery was coming from topographic maps - I assume this white space is coming from the collars on those maps? If so, you might see if you can create a better mosaic using the manual or automated SheetCut workflow described here: http://proceedings.esri.com/library/userconf/proc15/tech-workshops/tw_409-119.pdf . You can try the Create Envelopes tool for the automated approach. 

-Earl 

Reply
0 Kudos