< Import

Import/Milwaukee County, Wisconsin addresses

Goals

To add the vast majority of addresses in Milwaukee County, WI to OpenStreetMap without creating duplicates. This import is completed.

Progress/Schedule

The import should start in late 2022-early 2023 and last 1-2 months, depending on interest from local mappers.

  • Data processing was done in late 2022.
  • All active local mappers were messaged and asked for any comments/concerns and if they would like to participate (corporate and streetcomplete-only users were not queried)
    • Feedback has been positive, just a comment to be careful when merging in the areas with some addressing already
  • An email was sent to the imports mailing list on 2022-11-13.
    • A modification to the QA based on feedback
  • The import was started on 2022-11-25 via the accont popball-import (on osm, edits, contrib, heatmap, chngset com.)
  • The import was finished on 2022-12-06

Import Data

Background

Data source site: https://gis-mclio.opendata.arcgis.com/maps/MCLIO::address-points

Data license:: Public Domain (confirmed with the municipality that this is the case)

Type of license: Public Domain

Link to permission: n/a

ODbL Compliance verified: Yes

The data is of rather good quality, and the address points are directly above the buildings they represent. Therefore conflation should yield good results.

Import Type

A one time import that will be completed in many small uploads.

Data Preparation

Data Reduction & Simplification

The data was converted to OSM xml using JOSM using the OpenData plugin.

The following fields were used:

  • HOUSENO
  • HOUSESX
  • DIR
  • STREET
  • PDIR
  • MUNI
  • UNIT (mostly deleted)
  • ZIP_CODE
  • ADDR_STATUS (Only used for filtering)

Fields not relevant to OSM were deleted. These are:

  • OBJECTID
  • SOURCE_OID
  • TAXKEY
  • ALT_ID
  • DATE_CHANGED
  • COMMENT
  • SOURCE
  • SOURCE_DATE
  • SOURCE_ID
  • FULLADDR
  • ADDR_STATUS
  • STREET_LN_OID
  • BLDG_POLY_ID
  • MAILABLE

Using JOSM, the address points were filtered. Specifically, this removed houses without house numbers or without a street specified (house names do not exist in Milwaukee County, at least as part of the official address) In addition, addresses the ADDR_STATUS was used to detect addresses unwanted for import. This includes utility rights of way, freeway rights of way, railroad rights of way, waterways, and vacant lots. Parking lots addresses were also filtered out (the addresses of these are rarely verifiable on the ground and are usually duplicate of the buildings they serve. This data may be useful in a future import, however.

Using JOSM and Python scripts, the street types (ST, AVE, etc.), Directions (N, S, E, W), Post Directions (Like direction, but after the street name) were expanded into their abbreviated couterparts (e.g. ST -> Street). The fields were converted from all caps to title case. Then, using a python script, the street name, type, directions, and post directions were combined to get the addr:street=* field for OSM. Housenumber extensions (HOUSESX) were added onto the end of addresses (123 + A => 123A).

Using JOSM, the dataset was split into tracts of approximately 5000 addresses for easier manageability.

Zip codes often contained a Zip+4 code. A dash was added to fit the standard formatting of Zip+4.

Due to a bug in the JOSM OpenData import plugin, addresses "stacked" on one point were reduced to only one address in the stack. The additional addresses were added back by reading the CSV manually in with a python script and editing the OSM files. Stacked addresses had their housenumbers concatinated with commas unless they were on different streets, in which case a new address node was added.

Units numbers were removed for the most part when they corresponded to units in the same building. This helps simplify the merging process and should lead to more consistent results.

Duplicate addresses were detected with JOSM and cleaned up (after units were removed).

A few fixme=* tags were added. This was done where the dataset included the same housenumber for a number of buildings (this is accurate in some housing complexes) but it would be desirable for the exact unit numbers to be captured on the ground.

In cases where a single building has a large number of addresses (more than 10 for example) this was replaced with address interpolation (very long addr:housenumber=* are undesirable)

Tagging Plans

addr:housenumber=*, addr:street=*, addr:city=*, addr:postcode=*, and addr:state=* will be used on each address point. addr:unit=* will be added where available and appropriate. No source tags will be used on the addresses.

Changeset Tags

The changeset should have source=Milwaukee County LIO

Data Transformation Results

The scripts used to process the address points alongside a sample of the proccessed address points (as well as the entire compressed set of points) are available on github.

Data Merge Workflow

Team Approach

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.

Workflow

Note: Do all import via a dedicated import account

  1. Open one tract in JOSM
  2. Within the tract, remove any address points not corresponding to addresses according to OSM standards. This includes addresses in freeway Right of Ways, Unility righ of ways, and demolished buildings, etc.(Most of these should have been removed already, but some may still remain)
  3. Run JOSM validation to find any anomolies (most importantly duplicate housenumbers).
  4. Manually conflate any non-building addresses with areas. This includes things like cemetaries, parks, etc. Also manually conflate any buildings which are multipolygons.
  5. 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)
  6. Review the address nodes which did not match with anything
    1. 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.
    2. Manually match buildings which automatic conflation missed
    3. Delete address nodes which don't refer to objects on the ground anymore. Typically this will happen if a building was demolished.
  1. Pay special attention to conflations with a large distance or a large distance, as these are more likely to be faulty conflations.

Conflation

The JOSM conflation tool will be used to conflate the addresses with the existing buildings (The vast majority of buildings already have outlines in the county from a prior import).

Quality Assurance

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.

As a "sanity test" of the data, the data was conflated locally in an area where many housenumbers were tagged already (the neighborhood bounded by Bluemound Road, 76th Street, Hawley Road, and I-94). Out of 1317 address nodes, 170 conflicts had to be resolved.

  • 86 had a missing address extension in OSM (e.g. 170 vs 170,170A).
  • 18 were conflicts due to mutiple addresses separated by commas vs using separate nodes.
  • 17 conflicts were due to the street name (Blue Mound Road vs Bluemound Road; even street signs are inconsistent on this issue).
  • 14 were due to the imported data node being in the wrong place. Two neighboring houses would have their addresses swapped in this case.
  • 12 were due to a missing housenumber in OSM (on a house with multiple housenumbers.
  • 9 were conflation conflicts due to nodes selecting the wrong matching node in the subject.
  • 7 were due to incorrect data in OSM (invariably due to small typos).
  • 5 were due to a missing address extension in the import dataset.
  • 2 were due to a missing address in the import dataset.

Tract Status

Tract FileUserStatus
addresses_tract1watmildonCompleted
addresses_tract2popballCompleted
addresses_tract3popballCompleted
addresses_tract4watmildonCompleted
addresses_tract5watmildonCompleted
addresses_tract6popballCompleted
addresses_tract7watmildonCompleted
addresses_tract8watmildonCompleted
addresses_tract9PopballCompleted
addresses_tract10PopballCompleted
addresses_tract11PopballCompleted
addresses_tract12PopballCompleted
addresses_tract13PopballCompleted
addresses_tract14PopballCompleted
addresses_tract15PopballCompleted
addresses_tract16PopballCompleted
addresses_tract17watmildonCompleted
addresses_tract18watmildonCompleted
addresses_tract19watmildonCompleted
addresses_tract20watmildonCompleted
addresses_tract21PopballCompleted
addresses_tract22watmildonCompleted
addresses_tract23watmildonCompleted
addresses_tract24watmildonCompleted
addresses_tract25PopballCompleted
addresses_tract26watmildonCompleted
addresses_tract27watmildonCompleted
addresses_tract28watmildonCompleted
addresses_tract29watmildonCompleted
addresses_tract30watmildonCompleted
addresses_tract31watmildonCompleted
addresses_tract32watmildonCompleted
addresses_tract33watmildonCompleted
addresses_tract34watmildonCompleted
addresses_tract35watmildonCompleted
addresses_tract36watmildonCompleted
addresses_tract37watmildonCompleted
addresses_tract38watmildonCompleted
addresses_tract39watmildonCompleted
addresses_tract40watmildonCompleted
addresses_tract41PopballCompleted
addresses_tract42watmildonCompleted
addresses_tract43PopballCompleted
addresses_tract44PopballCompleted
addresses_tract45PopballCompleted
addresses_tract46PopballCompleted
addresses_tract47PopballCompleted
addresses_tract48PopballCompleted
addresses_tract49PopballCompleted
addresses_tract50PopballCompleted
addresses_tract51PopballCompleted
addresses_tract52PopballCompleted
addresses_tract53PopballCompleted
addresses_tract54PopballCompleted
addresses_tract55PopballCompleted
addresses_tract56PopballCompleted
addresses_tract57PopballCompleted
addresses_tract58PopballCompleted
addresses_tract59PopballCompleted
addresses_tract60PopballCompleted
addresses_tract61PopballCompleted
addresses_tract62PopballCompleted
addresses_tract63PopballCompleted
addresses_tract64PopballCompleted
addresses_tract65PopballCompleted
addresses_tract66PopballCompleted
addresses_tract67popballCompleted
addresses_tract68PopballCompleted
addresses_tract69popballCompleted
addresses_tract70PopballCompleted
addresses_tract71PopballCompleted
addresses_tract72PopballCompleted
addresses_tract73PopballCompleted
addresses_tract74PopballCompleted
This article is issued from Openstreetmap. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.