Presentation is loading. Please wait.

Presentation is loading. Please wait.

MXD, Maps, Layers arcpy.mapping Classes.

Similar presentations


Presentation on theme: "MXD, Maps, Layers arcpy.mapping Classes."— Presentation transcript:

1 MXD, Maps, Layers arcpy.mapping Classes

2 Without opening ArcMap, wouldn’t it be nice to
Get or update MapDocument (MXD) properties e.g. title, keywords, relative path, author, etc DataFrame properties e.g. name, coordinate system, etc. Layer properties e.g. name, visibility, data source, symbology, etc. Layout element properties e.g. size, position, Add, remove, move, and update layers Save MXD or LYR to earlier version for distribution Build PDF map books e.g. Export to PDF or insert into existing PDF

3 arcpy.mapping module

4 Arcpy.mapping Classes & Functions

5 MapDocument Properties

6 MapDocument – Class / Function
NOTE: Disable background processing when using “CURRENT”

7 MapDocument Properties & Methods
activeDataFrame (ro) activeView (rw) author (rw) credits (rw) dataDrivenPages (ro) dateExported (ro) datePrinted (ro) dateSaved (ro) description (rw) filePath (ro) hyperlinkBase (rw) relativePaths (rw) summary (rw) tags (rw) title (rw) Methods deleteThumbnail() findAndReplaceWorkspacePaths( find_workspace_path, replace_workspace_path, {validate}) makeThumbnail () replaceWorkspaces( old_workspace_path, old_workspace_type, new_workspace_path, new_workspace_type, {validate}) save () saveACopy( file_name, {version}) (ro) = read-only (rw) = read-write

8 MapDocument.ActiveView

9 DataFrame Properties

10 DataFrame Properties & Methods
credits (rw) description (rw) displayUnits (rw) elementHeight (rw) elementPositionX (rw) elementPositionY (rw) elementWidth (rw) extent (rw) geographicTransformations (rw) mapUnits (ro) name (rw) referenceScale (rw) rotation (rw) scale (rw) spatialReference (rw) time (ro) type (ro) Methods panToExtent(extent) zoomToSelectedFeatures()

11 Find DataFrames in MapDocument

12 Layer Properties

13 Find Layers in a DataFrame
i.e. All layers in all DataFrame’s

14 Layer Class / Function Layer Class Layer Function

15 Layer Properties & Methods
brightness (rw) contrast (rw) credits (rw) datasetName (rw) dataSource (rw) definitionQuery (rw) description (rw) isFeatureLayer (ro) isGroupLayer (ro) isRasterizingLayer (ro) isRasterLayer (ro) labelClasses (rw) longName (ro) name (rw) serviceProperties (ro) showLabels (rw) transparency (rw) visible (rw) workspacePath (ro) Methods findAndReplaceWorkspacePath( find_workspace_path, replace_workspace_path, {validate}) getExtent( {symbolized_extent}) getSelectedExtent( {symbolized_extent}) replaceDataSource( workspace_path, workspace_type, dataset_name, {validate}) save () saveACopy( file_name, {version}) supports( layer_property) Layer = .lyr file Layer in DataFrame Selected properties

16 Finding a specific layer in a DataFrame

17 Working with Layers arcpy.mapping can’t arcpy.mapping can
Create new map layers in DataFrame or .lyr files from scratch Change all layer properties in a script arcpy.mapping can Add lyr file to DataFrame & change selected layer properties dataSource, definitionQuery, etc. (see “(rw)” on previous slide) Apply symbology from existing lyr files to existing layers in DataFrame

18 Adding a Layer to a DataFrame

19 Managing Layers in a DataFrame
Function Description AddLayer Add a layer to a data frame within a map document (.mxd) using simple placement options. AddLayerToGroup Add a layer to a group layer within a map document (.mxd) using simple placement options. InsertLayer Insert a layer at a specific location within a data frame or within a group layer in a map document (.mxd). MoveLayer Move a layer to a specific location within a data frame or group layer in a map document (.mxd). RemoveLayer Remove a single layer or group layer from a specific data frame. If there is more than one layer that meets the criteria, then only the first layer will be removed unless the script iterates through each layer in a returned list. UpdateLayer Update all layer properties or just the symbology for a layer in a map document (.mxd) by extracting the information from a source layer.

20 Fixing broken data sources

21 Methods for fixing broken data sources
MapDocument.findAndReplaceWorkspacePaths(find_workspace_path, replace_workspace_path, {validate}) MapDocument.replaceWorkspaces(old_workspace_path, old_workspace_type, new_workspace_path, new_workspace_type, {validate}) Layer.findAndReplaceWorkspacePath(find_workspace_path, replace_workspace_path, {validate}) Layer.replaceDataSource(workspace_path, workspace_type, dataset_name, {validate}) TableView.findAndReplaceWorkspacePath(find_workspace_path, replace_workspace_path, {validate}) TableView.replaceDataSource(workspace_path, workspace_type, dataset_name, {validate})

22 Fixing broken data source examples
Update all workspace paths to new folder and save to new mxd. Update all workspace paths for all the mxd’s in a folder from local system to UNC paths

23 Page Layout elements

24 Getting Page Layout Elements

25 MapSurround Element

26 Text Element

27 RefreshActiveView() and RefreshTOC()
After changing the content of a DataFrame or Page Layout … arcpy.RefreshActiveView() After changing items in the Table of Contents (add, remove, move, update layers) … arcpy.RefreshTOC()

28 Exporting maps to images (jpg)

29 Exporting maps to PDF

30 PDFDocument’s

31 Creating/Opening PDF Documents

32 PDFDocument.appendPages Example

33 Working with arcpy.mapping scripts
Python Window has nice help … but pain for defining/calling functions, debugging, etc. Edit in PyScripter and use Load …

34 Help is not perfect Should be:
Find the MAPSURROUND_ELEMENT with the name "ScaleBar" and move it's x position (relative to its anchor point) to the center of the parentDataFrame.  Save this change to the MXD. Update: ESRI listened to me:

35 MapDocument, DataFrame, Layer
MapDocument.ActiveView = “PAGE_LAYOUT” 1:* DataFrame DATAFRAME_ELEMENT MAPSURROUND_ELEMENT * Layer GRAPHIC_ELEMENT PICTURE_ELEMENT GRAPHIC_ELEMENT LEGEND_ELEMENT


Download ppt "MXD, Maps, Layers arcpy.mapping Classes."

Similar presentations


Ads by Google