Read Map of Maps text version

Map of Maps

Indexer of ArcMap documents (MXD) By Robert Graham ­ [email protected] And Xavier Berni ­ [email protected]


We communicate thru maps

· Why do we send people to a file on disk? · Shouldn't their be a geographic way to browse for a map?

Petroleum IT 3/12/2008 Page 2

Petroleum IT 3/12/2008 Page 3

Why did we make the MXD Indexer?

· Geographic browser to maps · Further the development of a tool to Manage the MXD's

Petroleum IT 3/12/2008 Page 4

How would we build an Mxd Indexer?

· Access the mxd content by reading binary directly (x)

­ Pros

­ Fast ­ No ESRI license necessary

­ Cons

­ Take a long time to implement ­ ESRI may change format

· Access the mxd through ArcObjects API ()

­ Pros

­ Dealing with the mxd the way it was intended ­ Faster implementation ­ Easier to support and modify moving forward

­ Cons

­ Not fast for initial load

Petroleum IT 3/12/2008 Page 5

The technology choices we made

· · · · Standalone ArcObjects Application Implementation in C# .Net Windows interface for configuration Command line interface for geoprocess scripting and scheduled jobs

Petroleum IT 3/12/2008 Page 6

Application Parts

· Run from Windows interface or Command line mode · Crawling

­ Search folders on a local or a network file system

· Capture Metadata

­ Inspect any mxd file found in the search path

· Store Metadata

­ Storage is to an sde layer called the index_layer

· View or Use Metadata

­ Provide an index map with the index_layer ­ Use the ESRI document linking tool to open mxd documents from the index_layer polygons

Petroleum IT 3/12/2008 Page 7

Application Overview : Configuration

Petroleum IT 3/12/2008 Page 8

Application Overview : Configuration

Petroleum IT 3/12/2008 Page 9

Application Overview : Logging

Petroleum IT Page 10 3/12/2008

What attributes are we capturing in the Index Layer?

· · · · · · · Map Name Author Title Subject Category Document File Path Status Code (broken links) · · · · · · Keywords Comments Last Updated Date Coordinate System Layer Count Units

Petroleum IT Page 11 3/12/2008

Key Challenges

· There are some key challenges

­ Application performance or speed ­ Data issues ­ Visualizing the data in a way that makes sense

Petroleum IT Page 12 3/12/2008

Performance Challenges

· Several ways to read document content with ArcObjects · ArcMap mode (x)

­ Manage a hidden ArcMap instance used to inspect mxds ­ Must re-initialize ArcMap for every document resulting in slow performance ­ When third party extensions error then the process becomes unstable

· MapReader ()

­ Provides access to mxd attribute data such as Title and Author ­ Fast Access

· MapDocument ()

­ Provides more control over the map document ­ Inspect individual layers

Petroleum IT Page 13 3/12/2008

Performance Challenges

· Problem

­ Slow insert to sde ­ Rebuilding the whole layer every time the application runs

· Solution

­ ­ ­ ­ Store the last updated date as part of the metadata Only process map projects where the last update date is changed Now subsequent scans are faster May also split the effort across multiple command line jobs

Petroleum IT Page 14 3/12/2008

Data Issue: Unset Coordinate System

· Problem

­ If the coordinate system is unset then receive a full extent of (1000,1000)

· Solution

­ Include a check for the coordinate system and store in Metadata ­ Perform a coordinate system transformation from the source data to the sde index layer

Petroleum IT Page 15 3/12/2008

Data Issue: Empty Layer

· Problem

­ If one of the layers is empty then the extent shows very large numbers for X and Y

· Solution

­ Check the number of features in each layer and store as metadata ­ Now the mxd is marked for data clean up

Petroleum IT Page 16 3/12/2008

Data Issue: Broken Layer

· Problem

­ Slow while trying to connect to broken layers

· Solution

­ Include indicator for broken layers in Metadata ­ The log provides details on the broken layers ­ More data clean up

Petroleum IT Page 17 3/12/2008

Visualization Challenge

· Problem

­ ­ ­ ­ Remember the goal is a linkable index map Many map projects means many extents Often the map projects overlap How do we make sense of this information?

· Solution

­ Spatial View sorted by Area with the smallest areas stacked on top ­ Dissolve map projects into area of interest?

Petroleum IT Page 18 3/12/2008

Lessons Learned

· 4000-5000 mxds is slow to process on initial load · Visualization is tricky with overlapping extents · Data clean up effort

Petroleum IT Page 19 3/12/2008

Future Plans

· Auto fix broken links · Analysis tools to identify unused layers or mxds with outdated layers · Store list of layers associated with mxds · Add more attribute data to make more robust tool for metadata collection

Petroleum IT Page 20 3/12/2008


· Are any other companies struggling with this issue? · What are some other approaches?

Petroleum IT Page 21 3/12/2008


Map of Maps

21 pages

Report File (DMCA)

Our content is added by our users. We aim to remove reported files within 1 working day. Please use this link to notify us:

Report this file as copyright or inappropriate


Notice: fwrite(): send of 200 bytes failed with errno=104 Connection reset by peer in /home/ on line 531