Bay County Florida Import
See Import/Guidelines and Automated Edits code of conduct for more information. Imports/automated edits which do not follow these guidelines might be reverted!
This is a proposal to import buildings for Bay County Florida
About
This page is intended to document plans for an upcoming import of Bay County Buildings and Addresses into OSM. This data has no special restrictions on using the data.
We plan to follow the import checklist, but our general high level plan is this:
- Identify data to import
- Translate, tag, and otherwise tenderize the data
- Invite community members to help manually import the outlines
- Divvy up the work using the HOT Tasking Manager
- Do the work: Import/merge the data
- QA the data
- Beverage of choice & on to the next task
The intent is to begin this effort as soon as possible to aid in whatever way we can with the Michael disaster in the Florida Panhandle.
Import Data
Background
Building footprints and addresses are available from Bay County, Florida
Import Type
This is a community building based effort.
There are currently no plans to script or automate this import.
Data Preparation
Tagging Plans
No source tags will be added.
Changeset Tag
Tag in import-related changesets:
#osmus-project-90
Data Transformation
The source files will need to be converted to OSM XML. Shapefiles of buildings and addresses provided by Bay County Florida have been loaded into PostGIS. pgsql2shp was used to extract just building outlines for Franklin County. These shapefiles have been divided into US Census Census Block. Census Blocks are about the right size for a task.
Paul Norman's org2osm was used to convert from Postgresql to an OSM XML for this. The translation script is:
def filterTags(attrs):
if not attrs:
return
tags = {}
tags['building'] = 'yes'
if 'ADDR_NUM' in attrs and attrs['ADDR_NUM'] != '':
tags['addr:housenumber'] = attrs['ADDR_NUM']
if 'UNIT' in attrs and attrs['UNIT'] != '':
tags['addr:unit'] = attrs['UNIT']
if 'STREET' in attrs and attrs['STREET'] != '':
tags['addr:street'] = attrs['STREET']
if 'CITY' in attrs and attrs['CITY'] != '':
tags['addr:city'] = attrs['CITY']
if 'ZIP' in attrs and attrs['ZIP'] != '':
tags['addr:postcode'] = attrs['ZIP']
if 'FEATURECOD' in attrs and attrs['FEATURECOD'] != '':
if attrs['FEATURECOD'] == 'General':
tags['building'] = 'yes'
if attrs['FEATURECOD'] == 'Commercial':
tags['building'] = 'commercial'
if attrs['FEATURECOD'] == 'Airport':
tags['building'] = 'yes'
if attrs['FEATURECOD'] == 'Religious':
tags['building'] = 'religious'
if attrs['FEATURECOD'] == 'Government':
tags['building'] = 'civic'
if attrs['FEATURECOD'] == 'Education':
tags['building'] = 'school'
if attrs['FEATURECOD'] == 'Hotel/Motel':
tags['building'] = 'hotel'
else:
tags['building'] = 'yes'
if 'NUMSTORIES' in attrs and attrs['NUMSTORIES'] != '':
tags['building:levels'] = attrs['NUMSTORIES']
return tags
Data Merge Workflow
Existing buildings will either be kept or merged with the new outlines. If the new outline is better than the existing data then the two geometries will be merged using the Replace Geometry tool in JOSM. If the existing building in JOSM is better than the new outlines, then the new outline will not be imported.
Team Approach
The work for this effort will be divided up into sections, with each section constituting a census block. Census Blocks will be used by the US Tasking Manager.
References
Using the JSOM, each volunteer will begin to work through the data for that district.
- Local knowledge
- Best available imagery
- Existing OSM data
Workflow
- Open JOSM and the OSM US Task Manager project 87
- Click on the task tab above and claim a task on the map to the right by clicking on an area you'd like to work in
- Click the "JOSM" button, this will open the area in JOSM and load up existing OSM data
- Click the ".osm" button, this will open new building outline data in a separate layer
- Select the new building layer and validate the layer, fix all issues
- Copy all geometry from building layer and paste it into the existing OSM data layer, Ctrl-c, Ctrl-Alt-v.
- Run validation on the existing OSM data layer that now contains new data, resolve all issues emanating from collisions between existing and new data (see merge rules).
- Do a sanity check on data:
- Merge with existing buildings.
- To merge with a building outline, use the Replace Geometry (Ctrl+Sift+G) by selection the existing building outline and the new address node. Note: Only merge building outline with an address node if the building outline contains just one address node.
- Change visible storage tanks from building=yes to man_made=storage_tank
- Upload data to OSM
- Go back to the Tasking Manager and mark the task as done (but not as validated)
Dedicated Import Account
Users will be expected to obtain an unique import account, for example, user Foo might pick Foo_Import.
QA
Validation
- Use of validation tools in the Tasking Manager process
- Use Slack for questions and to help others during the import.