Import/Catalogue/Erie County Building Import

From OpenStreetMap Wiki
Jump to navigation Jump to search

exclamation mark

Imports and automated edits should only be carried out by those with experience and understanding of the way the OpenStreetMap community creates maps, and only with careful planning and consultation with the local community.
See Import/Guidelines and Automated Edits code of conduct for more information. Imports/automated edits which do not follow these guidelines might be reverted!

An import of Erie County building footprints from Microsoft Building Footprint Data.

Current status

2018.25.10 - The import documentation is being prepared.

2018.29.10 - After data quality reviewing, this import proposal has been aborted. Buildings will be mapped by hand.

Proposal

On June 28, 2018 Microsoft released computer generated data for 125 million building footprints in all 50 states. As stated in the Github page, these footprints are available for use in OpenStreetMap.

The idea of this proposal is to improve OpenStreetMap buildings in Erie County.

Data

Data Merge Workflow

The work for this effort will be divided up into towns. Those divisions will be used by the US Tasking Manager.

License

This data is licensed by Microsoft under the Open Data Commons Open Database License (ODbL).

Import process

  1. Get original New York state dataset from Microsoft
  2. Convert from GeoJSON to GeoPackage file format (using GDAL/ogr2ogr)
  3. Check geometry validity (using QGIS)
  4. Crop data to Erie County boundary (with NYS Civil Boundaries) (using QGIS)
  5. Convert each town dataset to OSM data (using Paul Norman's ogr2osm Python script)
  6. Divvy up the work using the HOT Tasking Manager
  7. Start importing and merge the datasets

Attribute mapping (tags)

Each geometry comes with an integer identificator. No further data other than the footprint is found on Microsoft's dataset, so each building will be a closed way tagged with building:yes.

The translation script to use with Paul Norman's ogr2osm is:

def filterTags(attrs):
	if not attrs:
		return
	tags = {}
	tags['building'] = 'yes' 
	return tags

It is mandatory to review data in order to classify building types (see Key:building).