Vermont Town Boundary Import 2018

From OpenStreetMap Wiki
(Redirected from VCGI Town Boundary Import)
Jump to: navigation, search

Background

This page documents a proposed import of Vermont town boundaries. As can be seen from this OSM screen-shot, only a portion of the state of Vermont has Town boundaries:

VermontTownBoundaries.png

Boundary data is available from the State of Vermont with a usage grant for import into OSM in VCGI's VT Boundaries - all lines data set.

As described in United_States_admin_level Vermont Towns, Cities, and Gores encompass the entire area of the state should have admin-level 8. Additionally, incorporated villages are embedded within Towns with admin-level 9. Village polygons are available in the VT Boundaries - village polygons data-set.

Object and Tagging details

Care will be taken to ensure that each town, village, and county exists as a a relation, with the following tags:

  • type=boundary
  • boundary=administrative
  • admin_level=[6,8,9] (county, town/city/gore, incorporated village)
  • name=*

The member ways will each be given the following tags:

  • boundary=administrative
  • admin_level=[2,4,6,8,9] - (national, state, county, town/city/gore, incorporated village) The way will have the lowest-number admin_level of the relations it is a part of.

People/Accounts

This import is being prepared by Adam Franco, a mapper from Middlebury, VT. A separate AdamFranco-VT-Towns account will be used for this import.

Process

1. Data sources

Loading OSM Data

The OSM data is first loaded into JOSM via an OverPass Query to select all current boundary ways and relations for Vermont, (as well as a few relations joining its boarders:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“place=village and boundary=administrative and admin_level=8 and is_in:state_code=VT”
*/
[out:xml]/*fixed by auto repair*/[timeout:25];
// gather results
(
  area[admin_level=4]["name"="Vermont"][boundary=administrative]->.boundaryarea;
  // query part for: “place=village and boundary=administrative and admin_level=8 and "is_in:state_code"=VT”
  way["boundary"="administrative"]["admin_level"="6"](area.boundaryarea);
  way["boundary"="administrative"]["admin_level"="8"](area.boundaryarea);
  way["boundary"="administrative"]["admin_level"="9"](area.boundaryarea);
  relation["boundary"="administrative"]["admin_level"="6"](area.boundaryarea);
  relation["boundary"="administrative"]["admin_level"="8"](area.boundaryarea);
  relation["boundary"="administrative"]["admin_level"="9"](area.boundaryarea);
  
);
// print results
out meta;/*fixed by auto repair*/
>;
out meta qt;/*fixed by auto repair*/

Once opened in JOSM, all relations are selected and "Download members" is performed to ensure that ways not directly tagged with boundary=administrative are also loaded.

Loading Reference data

The VT Boundaries - all lines shape


2. Data cleanup

OSM data tweaks

Split existing county boundaries

Many of the existing boundary ways are not split on town-borders, but rather include multiple town borders that make up a previously imported county boundary. By overlaying both data-sets in JOSM, it is easy to see these overly-long boundaries and split them at the town boundary: VermontTownBoundaries-county-split-example.png

Disconnect waterways

There are several cases where town boundaries follow waterways and the way also has a water=stream or water=river tag. In these cases, the existing ways will be left as only water features and new ways will be created for the boundary.


Reference data tweaks

Joining segments

The ways in the shape-file mostly run the entire length of town boundaries, however some town-boundaries are made up of separate segments, each with different tags with things like differing data-sources for each segment. These will be joined into a single way so that its geometry can replace the one in OSM.

Splitting for external/other boundaries

Along the state boarder, the ways that make up the shared state-boundary, county-boundary, and town-boundary also serve as town/county boundaries for neighboring states. In these locations, individual nodes are added at the adjoining boundary position and the reference way is split.

Here is an example on the Vermont/New York border:

VermontTownBoundaries-border-town-example.png


3. Conflation

Currently exploring the use of the JOSM Conflation Plugin and the JOSM utils2 Replace Geometry features for updating/replacing ways....

State and national boundaries

As the goal of this import is focused on the internal boundaries of Vermont, where possible existing national and state boundaries will be left with their geometry in place. In general the VCGI data is within 10 meters of the OSM data on the state borders, so there is little advantage to changing the border geometry.

Exceptions:

1. Near Poultney, VT and Hampton, NY, the Vermont data has the state border following the course of the Poultney River until east of Poutlney, wOhile OSM has the border leaving he river north of Poultney and beginning a straight cross-country line.

OSM (orange) vs VCGI data (black)

The state border in this location will need to be verified via additional sources.

2. The western bank of the Connecticut river seems to define the border between Vermont and New Hampshire. The VCGI data set generally follows this shoreline more closely than the current OSM border. This border will be updated to reflect the VCGI data.

4. Final data preparation

Manually creating relations for missing towns...

admin_level tweaks to new and existing boundary ways...

Validation....

...

5. Upload

...


Previous efforts by others

A previous import was discussed in 2012 at http://lists.openstreetmap.org/pipermail/imports/2012-August/001473.html .