I have an annual history of Service New Brunswick property parcels dating back to 2002 (in April of each year). Each year there are new parcels created from sub-divisions and other parcels that have been retired when they are amalgamated with adjacent parcels. I have created a single GIS layer that contains the start and end date of each parcel created between 2002 and the current year. This layer is useful for two reasons. First, I can search for any parcel dating back to 2002 using a single layer. Second, using the time slider in ArcMap I can visualize how the growth of communities change over time.
In this post I explain, step-by-step, how to create a single layer with a historical record of parcels. One limitation of this method is that it retains the polygon for the first year that the parcel was created, while the parcels may have changed shape overtime.
The data required are the parcel polygons for each year that contain a unique identifier such as a parcel identifier number (PID). The general approach is to use a series of joins to identify the PIDs that are new or retired in any given year. Before starting, check out the image further below to see how I organized the data in a geodatabase.
- Data preparation: make sure the parcel identifier is in the same format (numeric or string) for each year. If they are different make them all the same by creating a new field with the correct format and copy the parcel identifier into the new field using the field calculator. This should automatically convert the format from string to numeric or numeric to string.
- Starting with the oldest year, in this case 2002, join the attribute table with the following year (2003). The records that were not joined are those that were retired in 2002. Export parcels without a join to a new feature class naming the file something like “retired_2002”. *NOTE: identify the records that were not joined by scrolling over to the parcel identifier for the second year (2003) and sort by ascending values. The records with <null> values were not joined. Select these <null> records and export them.
- For each new layer, create a field called “End_year” and populate the field with the year it was retired in using the field calculator. Make sure the field name and type are exactly the same for all years.
- Starting with the second oldest year (2003), join the attribute table with the previous year (2002). The records that were not joined are those that were new in 2003. Export the parcels without a join to a new feature class naming the file something like “new_2003”.
- For each new layer create a field called “Start_year” and populate the field with the year it was created in using the field calculator. Make sure the field name and type are exactly the same for all years.
- Repeat steps 2 and 3 for all of the years you have parcel data for. *TIP: make sure to remove the joins before exporting the data to avoid adding all of the <null> records to the output table.
- Merge all of the retired parcels from each year together in a single feature class.
- Merge all of the new parcels from each year together in a single feature class.
- Merge together all of the parcels from the first year (2002) with all of the new parcels in subsequent years (created in step 6). *TIP: Follow these instructions if you need to merge more than 3 layers but don’t have the advanced licence.
- Join the table of the layer created in step 7 to the retired parcels (created in step 5) to add the end date to the attribute table.