Import/Waukesha County, Wisconsin addresses
To add the vast majority of addresses in Waukesha County, WI to OpenStreetMap without creating duplicates. This import is in planning.
The import should start in mid 2023 and last about 1 month, depending on interest from local mappers.
- In December 2022 the data owner was contacted and it was clarified that this data can be used in OSM (see conversation below)
- In early 2023 the data was processed into OSM tags.
- In July 2023 feedback was sought from the local community via the OSMUS slack channel and OSM messages to active local mappers. No opposition was found.
This data source comes from the Waukesha County Land Information Systems and contains approximately 163,000 address points.
Data source site: https://hub.arcgis.com/datasets/2a241d300d4d4aeab62131480824b0ef_10/
Data license:: No specific license specified, but confirmed with the data owner that there are no restrictions on use.
Type of license: N/A
ODbL Compliance verified: Yes
Alongside the clarification that there is no restrictions on data usage the following disclaimer was provided: The information and depictions herein are for informational purposes and Waukesha County specifically disclaims accuracy in this reproduction and specifically admonishes and advises that if specific and precise accuracy is required, the same should be determined by procurement of certified maps, surveys, plats, Flood Insurance Studies, or other official means. Waukesha County will not be responsible for any damages which result from third party use of the information and depictions herein, or for use which ignores this warning.
A one time import that will be completed in many small uploads.
Data Reduction & Simplification
The data was converted to OSM xml using JOSM using the OpenData plugin.
The following fields where used:
- PostOffice: converted to addr:city=* (as described on addr:city=* the postal service city is the name of the USPS post office that serves the address' ZIP code)
- Full Address: parsed into addr:housenumber=* and addr:street=* using simpleaddress
- UnitNumber and UnitType: some cases were deemed useful to tag separate units, such as semidetached housing with a shared housenumber, or for determining ranges of units in buildings in a complex with one shared housenumber. Individual unit numbers where tagged as addr:unit=* and ranges were tagged as addr:flats=*.
- ZipCode: converted to addr:postcode=*
The following fields were used indirectly:
- Comments (these were read individually and adjustments were made such as excluding demolished or uncertain addresses)
- County (Milwaukee County were eliminated, as Milwaukee County is already fully addressed)
- Addr_Type (Used to filter out cases such as apartment buildings having lots of address nodes, one for each apartment)
Fields not relevant to OSM were deleted. These are:
- Address_Use (it was considered that building=* could be set from this, but this refers to address use, not building construction purpose)
- Date Verified
- Municipality (OSM addr:city=* refers to mailing address city, which this is not, see PostOffice above)
Data for apartment buildings needed to be fixed. The data provided address points for both individual units and for the whole building. In this case only the address for the whole building was kept. There were a couple cases where the units were spread through multiple buildings under a single address, and in this case addr:units=* was useful.
Duplicate addresses were detected with JOSM and cleaned up (after units were removed).
addr:housenumber=*, addr:street=*, addr:city=*, addr:postcode=*, and addr:state=* will be used on each address point. addr:unit=* will be added where it is feasable to map individual unit. addr:flats=* will be used to add ranges of apartments when a single housenumber is spread across multiple buildings. No source tags will be used on the addresses.
Data Transformation Results
The final result is available here.
The sections split up into managable sections are available here.
Data Merge Workflow
While getting local consensus, active local mappers will be asked if they want to participate in merging the data. If this is the case, then the processed tracts will be assigned to the mapper to import.
Note: Do all import via a dedicated import account
- Open one tract in JOSM
- Within the tract, remove any address points not corresponding to addresses according to OSM standards. This includes addresses in freeway Right of Ways, Utility right of ways, and demolished buildings, etc.(Most of these should have been removed already, but some may still remain)
- Run JOSM validation to find any anomolies (most importantly duplicate housenumbers).
- Manually conflate any non-building addresses with areas. This includes things like cemeteries, parks, etc. Also manually conflate any buildings which are multipolygons.
- Conflate addresses with buildings if the majority of buildings are present in the tract (for example the City of Brookfield already has all buildings in OSM)
- Run conflation using the JOSM plugin to find matches. The 'subject' of the conflation should be any building=* as well as any points with addr:housenumber already filled in (to avoid duplication)
- Review the address nodes which did not match with anything
- In case it is a building with multiple address nodes, unmatch the node automatic conflation matched it with and keep the nodes within the building.
- Manually match buildings which automatic conflation missed
- Delete address nodes which don't refer to objects on the ground anymore. Typically this will happen if a building was demolished.
- Pay special attention to conflations with a large distance or a large distance, as these are more likely to be faulty conflations.
The JOSM conflation tool will be used to conflate the addresses with the existing buildings where buildings outlines already exist. The cities of Waukesha, New Berlin, Brookfield, and Oconomowoc already have most of their building outlines while others like Muskego and Mukwonago lack most of their building outlines.
JOSM address data validation was run on the dataset, and will be run with the merged data before upload. Additionally, we will run JOSM/Plugins/FixAddresses, which scans addr:street=* names and compares them with the names of the surrounding streets.
This table should be used to track the progress of the import.