...
- Create the polyline shapefile, either with ArcGIS Advanced or ET GeoTools.
- ArcGIS Advanced option (option 1 of 2):
Run the ArcGIS ‘Polygon to Polyline’ tool (Toolbox > Data Management Tools > Features > Polygon To Line) with: "Input Features" = (input polygon shapefile); "Output Feature Class" = (as desired); "Identify and store polygon neighboring information (optional)" selected; and all environment settings set as default.
- ArcGIS Advanced option (option 1 of 2):
...
The output polyline shapefile will have the fields:
- FID
Shape*
- LEFT_FID
- RIGHT_FID
Example Polygon To Line output
- ET GeoWizard option (two steps) (option 2 of 2):
- Step 1: Run the ‘Polygon to Polyline’ tool
...
This will create lines that close all polygons - one line per polygon.
Step 2: Run the ‘Clean PolyLine Layer’ tool
The remaining processes are completed in ArcGIS, regardless of whether ArcGIS or ET GeoWizards was used for the creation of the line shapefile.
- Add the following fields to the output polyline shapefile:
- LEFT_A2, LEFT_A1, LEFT_A0, RIGHT_A0, RIGHT_A1, RIGHT_A2 (if the input polygon shapefile is administrative level 3), with the field type (typically TEXT) and length being compatible with the input polygon shapefile administrative level 3 P-code field. Note that the necessary fields correspond to the administrative levels above the input polygon shapefile.
- AdminLevel or similar, type integer
- Open Right-click the output polyline shapefile properties, select the ‘Joins & Relates’ tab, and add a join > "Joins & Relates" > "Join..." (or properties > Joins & Relates) and provide the Join Data as follows:
- "What do you want to join to this layer?" = Join attributes from a table
- "Choose the field in this layer that the join will be based on:" = LEFT_FID
- "Choose the table to join to this layer, or load the table from disk:" = (the input polygon shapefile)
- "Choose the field in the table to base the join on:" = OBJECTID (or FID)
- (Optionally) Click the ‘Validate Join’ button. Do not expect all records to match - because the ‘left’ side of all exterior lines will have no neighboring polygon. Do not worry if you receive a “Field names that match reserved words should not be used in database schema and can cause the join to fail. The following fields match reserved words….” message
- Click ‘OK’
- Set a definition query to exclude the ‘NULL’ values of the input polygon shapefile. (This might refer to a .FID or a .OBJECTID)
...
- Similarly LEFT_A1 = adm1code, and LEFT_A0 = adm0code.
- Close the attribute table, remove the join, and establish a new join basing on RIGHT_FID. Anticipate all records matching.
- This time there should be no need to make a definition query, as there should be no null values.
- Open the output polyline shapefile attribute table.
- Use the Field Calculator to calculate the RIGHT_A2 = adm2code, RIGHT_A1 = adm1code, and RIGHT_A0 = adm0code.
- Create a definition query to select the line segments with different LEFT_A0 and RIGHT_A0 attributes.
[IF THIS DOES NOT WORK, ENTER ' "LEFT_A0" IS NULL']
- calculate AdminLevel = 0
- Open an editing session for the line shapefile.
- Manually select line segments that represent shorelines (splitting line segments where an international border meets the water). It may be useful to add a world country layer or neighboring country layers.
...