We have had several questions about configuring the Tax Parcel Editing Toolbar from those of you in the Land Records community who have downloaded it. Thank you for all of your good feedback and questions. The toolbar can be configured to set default values and behaviors for its tools. You can configure settings such as the feature class and field names used for searches and for retiring parcels, as well as default values for the Snake PIN tool and Zipper Task. If you would like to configure the toolbar settings to meet the specific needs of your tax parcel editors, read on for instructions.

An XML configuration file called TaxParcelDesktopTools.config is included with the Toolbar during installation. By editing the configuration file, you can change the settings for the toolbar. Here is where you can find the configuration file if you used the default installation path.

Config File Location

Before editing the file it is a good idea to make a copy as a backup. The file can be opened in Notepad, but it's better to use an IDE application like Microsoft Visual Web Developer 2008 Express Edition to provide color coded text like you will see in the XML code shown throughout this blog entry.

When you open the XML configuration file, you will notice that it contains a series of key and value pairs such as the one shown below. The key and value pairs control various behaviors of the toolbar.

<add key="Search_ParcelID_FeatureClass" value="TaxParcel" />

Warning: Do not modify the key text. Only the values should be altered.

Let's examine the various components of the configuration file.

Search Tools

Search Tool

The first part of the configuration file configures the search capability of the toolbar. The keys control each feature class and field name to search on and control the zoom extent around a search result. Here are the keys for the Parcel ID search, for example:

<add key ="Search_ParcelID_FeatureClass" value="TaxParcel"/>
<add key ="Search_ParcelID_FieldName" value="PARCELID"/>
<add key ="Search_ParcelID_ExpandX" value="1.5"/>
<add key ="Search_ParcelID_ExpandY" value="1.5"/>
<add key ="Search_ParcelID_ExpandAsRatio" value="true"/>

The Parcel ID search looks for a feature in the TaxParcel feature class with a value in the PARCELID field that matches the search value entered. When a parcel is found by the search or when a user clicks on a parcel from the list of results, the display zooms to 1.5 times the extent of the parcel in both the X and Y directions.

Notice in the configuration file that for each of the four types of searches included on the "Search By" list (Parcel ID, Conveyance, Map Page, or PLSS Polygon) there is a set of configurable parameters using XML key and value pairs. The purpose of the keys is as follows:

a. FeatureClass - This value is the name of the feature class for the layer in the map that the application will search.

b. FieldName - This value tells the application which field in the feature class to use for the search query.

c. ExpandX (optional) - If a record is found, the map will zoom to it but zoom out by this amount in the X direction.

d. ExpandY (optional) - If a record is found, the map will zoom to it but zoom out by this amount in the Y direction.

e. ExpandAsRatio (optional) - Controls whether the zoom out expansion is a ratio or an actual distance.


Search Results Window

When a search query returns multiple results, it is up to the user to manually select the correct record to zoom to. This is done by double clicking a record in the Search Results Window. You can control whether the Search Results Window pops up automatically after every search using the following key.

<add key ="Search_SearchResultsWindow_OpenAfterSearch" value="true"/>

The valid settings for the value key are:

a. true - The Search Window will appear automatically after every search.

b. false - The Search Window will remain hidden until the user clicks the button to show it. Search Window Button


Retire Selected Parcels

The Retire Selected Parcels tool provides a quick way to export selected tax parcels to an archive feature class before they are edited. The keys control which feature classes and fields are used during the process.

Retire Selected Parcels Dialog 

<add key ="RetireTaxParcel_DynamicValuesFeatureLimit" value="1000"/>
<add key ="RetireTaxParcel_OriginFeatureClass" value="TaxParcel"/>
<add key ="RetireTaxParcel_OriginParcelIDField" value="PARCELID"/>
<add key ="RetireTaxParcel_DestFeatureClass" value="TaxParcelHistory"/>
<add key ="RetireTaxParcel_DestParcelIDField" value="PARCELID"/>
<add key ="RetireTaxParcel_DestDocumentReferenceField" value="DOCREF"/> 
<add key ="RetireTaxParcel_DestHistoryTypeField" value="HISTORYTYP"/>
<add key ="RetireTaxParcel_DestHistoryDateField" value="HISTORYDT"/>
<add key ="RetireTaxParcel_DestCommentsField" value="COMMENTS"/>
<add key ="RetireTaxParcel_HistoryTypeDomainList" value="Retired Tax Parcel,ROW Vacation,Alley Vacation,Other,Unknown"/>

The purpose for each of the keys is described here:

a. DynamicValuesFeatureLimit - This is a control valve for the OnCreate trigger for Dynamic Values. Too many records can be very CPU intensive, thus the need for a limit.

b. OriginFeatureClass - Selected features will be copied from this feature class.

c. OriginParcelIDField - The specified field in the origin feature class will provide the parcel ID attribute value for the new record created in the History layer.

d. DestFeatureClass - This feature class is the target for the copied records.

e. DestParcelIDField - The parcel ID attribute value will be pasted in this destination feature class field for each record.

f. DestDocumentReferenceField - Information entered into the document reference input of the Retire Selected Parcels form is added into this destination feature class field.

g. DestHistoryTypeField - The History Type chosen on the Retire Selected Parcels form is added to this destination feature class field. An attribute domain that includes the valid history types should be set on this field.

h. DestHistoryDateField - This destination feature class field will hold the timestamp of when the record was added to the history layer.

i. DestCommentsField - The text entered into the Comments on the form is added into this destination feature class field.

j. HistoryTypeDomainList - Enter the valid domain values from your destination feature class history type field here. The drop-down list in the Retire Selected Parcels form comes from here.

Zipper Task

The zipper task uses a form to control which features will be "zipped up" together within a given tolerance.

<add key ="ZipperTask_SearchDistance" value="30"/>

The value for the SearchDistance key specifies the tolerance in map units for the coordinate search during the zipping process. The zipper task form uses this value.

Snake PIN Task

The Snake PIN task is used to create parcel identification numbers for parcels using a digitized sketch (snake path) by incrementing from a starting value.

Snake PIN Dialog 

<add key ="SnakePIN_TargetLayerName" value="TaxParcel"/>
<add key ="SnakePIN_TargetLayerField" value="PARCELID"/>
<add key ="SnakePIN_StartValue" value="1"/>
<add key ="SnakePIN_IncrementValue" value="1"/>
<add key ="SnakePIN_PrefixValue" value=""/>
<add key ="SnakePIN_SuffixValue" value=""/>
<add key ="SnakePIN_IncludeEnds" value="true"/>
<add key ="SnakePIN_ParsePrefixes" value="false"/>

a. TargetLayerName - This is the default layer for the task. The form will search for this layer in the map.

b. TargetLayerField - This is the default field in the target layer to use for the new PIN values.

c. StartValue - This is the default starting value for the first parcel found in the digitized sketch.

d. IncrementValue - Each subsequent parcel found along the sketch will have its PIN value equal to the last value plus this value.

e. PrefixValue - This will put a value in the Prefix box in the form. It is blank by default.

f. SuffixValue - This will put a value in the Suffix box in the form. It is blank by default.

g. IncludeEnds- This Boolean value specifies whether to update the PIN for the first and last parcels found along the digitized sketch.

h. ParsePrefixes - When the results of incremented values exceed the string length of the original value it may be necessary to drop a digit from the Prefix value. Since Prefixes are not always used this value is set to false by default.

Combine Parcels

The Combine Parcels tool uses the built-in Merge command with a little twist. It has the capability to capture shared boundaries before a merge and copy them to a historical line layer. This functionality can be turned on or off.

<add key ="MergeCmd_UpdateHistory" value="true"/>
<add key ="MergeCmd_MergeLayer" value="TaxParcel"/>
<add key ="MergeCmd_HistoryLayer" value="ParcelBoundary"/>
<add key ="MergeCmd_HistoryField" value="CARTLNTYP"/>
<add key ="MergeCmd_HistoryVal" value="Tax Parcel Historical Boundary"/>

The purpose of each key is as follows:

a. UpdateHistory - This is the toggle for the historical boundary functionality. True = on and false = off.

b. MergeLayer - The merge layer is the feature class that contains the selected records that are being merged (tax parcels).

c. HistoryLayer - A line feature class that will take the shared boundaries of selected records before they are merged.

d. HistoryField - The name of the field in the history layer feature class that is used to symbolize old boundaries.

e. HistoryVal - The text value that will be written in the history field for the new record (typically a domain value).

Dynamic Values

The Dynamic Values extension is used to automatically update attributes when a feature is created or modified. It uses a table in the database to keep track of which functions will be performed on various datasets. Please consult the Tax Parcel Editing Toolbar Functionality blog entry for more information about this tool and its options for updating fields.

Dynamic Values Table

<add key ="DynamicValues_TableName" value="DYNAMICVALUE"/>
<add key ="DynamicValues_EnabledOnStartUp" value="true"/>

Following is the purpose of the dynamic value keys:

a. TableName - The name of the table that will be used for keeping track of the functions that need to be performed when data is created or changed in registered layer(s). This table should be in the map document.

b. EnabledOnStartUp - The extension can be toggled on or off from the toolbar. This parameter controls whether the extension is turned on when ArcMap is opened or not.

We hope you find this information to be helpful. Feel free to post comments or send an email to ArcGISTeamLandRecords@esri.com.