Import/Maine E911 Roads

From OpenStreetMap Wiki
Jump to navigation Jump to search

See also:

Goal

Improve Routing in Maine.

  • Add missing roads
  • Fix details of existing roads (geometry, names, class, surface)
  • Verify route relations, ref tags
  • This will not fix one-way tags, I can't find useful data.

Status

Planning, seeking collaborators and consensus.

Data Sources

Primary Data Source: Road Details and Geometry

  • Maine Data Catalog
    • Maine Roads - NG911 select the green rectangle for a shape file
      • I have verified that the license is compatible with OSM
      • Islands are included as "roads"
      • Has the following interesting fields:
        • SPEED is too unreliable to use
        • ONEWAY is too unreliable to use
        • PREDIR, STREETNAME, POSTDIR, SUFFIX => name
          • Has no punctuation, sometimes conflicts with street signs, abbreviations need expanding.
        • RDCLASS
          • RDCLASS=Vehicular Trail => highway=road
          • RDCLASS=Service => highway=service
          • RDCLASS=Alley => highway=alley
          • RDCLASS=Crossover => highway=service, access=private, emergency=designated
          • RDCLASS=Trail => highway=track
          • RDCLASS=Private => highway=?, ownership=private
          • RDCLASS=Gated => highway=service, access=private
          • RDCLASS=Local => highway=?
          • RDCLASS=Secondary => highway=?
          • RDCLASS=Ramp => highway=?_link
          • RDCLASS=Primary => highway=?
          • RDCLASS=Walkway, RDCLASS=Paper Street, RDCLASS=Other Exclude these, they are islands or planned streets.
        • ROUTE_NUM (sample values: "", "0", "100A", "11/100/139", "Route 1") There's no indication if there are ME or US?
        • RDNAME used as a foreign key to in MEDOT Public Roads.strtname
    • MEDOT Public Roads
      • Contains only public roads (a subset of E911)
      • Has the following interesting fields
        • strtname (as a foreign key to RDNAME in E911)
        • num_lanes
        • surfc_type (Flexible, Unimproved, Gravel, Other, High rigid, Water, Port cement comp)
        • speed_lim (This seems more accurate?)
        • speedsrc (Posted, Unposted)
        • faadt (daily traffic)
        • capacity (hourly design capacity)
        • fedfunccls (Interstate, Local, Major Collector, Minor Arterial, Minor Collector, Other Freeway or Expressway, Other Principal Arterial)

Secondary Data Sources: Alignment

  • Strava Heatmap
  • Bing Satellite Imagery
  • Bing & Mapillary Street Side imagery

Translation

Open in JOSM, convert .shp to .osm, use this script with this tool to perform these changes:

Click on BOLD tags to see exact translation.

Then "simplify" and "dissolve" the result.

Act 1: Repair Missing or Misnamed Roads

  • Get an OSM extract
  • Use OSM pipeline to Create a file of "missing" public roads.
    • Should I include private roads too? Clearly public roads are more important
    • Find all E911 Road Nodes which don't have any similarly named OSM Road Nodes near them.
    • Slice it into manageable pieces with upload=never
    • Distribute the missing roads file somehow? The whole file really isn't that big. But how do you keep multiple mappers from stepping on toes?
  • Use Task Manager (somehow?) to coordinate mappers?
  • Manual review with JOSM, maybe with a session file?
    • OSM Maine snapshot?
    • Translated E911_Maine_Roads
    • OSMInspector Address validation
    • Strava Layer (for geometry)
    • Bing Imagery
  • Commits will include specific tags, and messages? A link to this site?
  • Using these changeset tags

Act 2: Fix Geometry and details of existing roads

Could suggest a highway tag based on context: straightness, length, connectivity, Ref tags, membership in a relation, Highlight extreme differences

Find another source for speed limits? (E911 isn't accurate)

Highlight one-way differences between the data source and OSM

Remove these Tiger tags

  • name_* (should become alt_name)
  • tiger:county
  • tiger:name_base*
  • tiger:name_type
  • tiger:zip_left*
  • tiger:zip_right*
  • tiger:reviewed
  • tiger:source
  • tiger:upload_uuid
  • tiger:cfcc
  • tiger:separated
  • source
  • created_by
  • oneway=yes

Maybe keep these tags:

  • tiger:tlid (for reference?)

Act 3: Repair Routes

Relations and ref tags

This has official names of ME routes: https://en.wikipedia.org/wiki/Module:Road_data/strings/USA/ME https://en.wikipedia.org/wiki/List_of_United_States_Numbered_Highways

https://en.wikipedia.org/wiki/List_of_state_routes_in_Maine

Route relations should have wikidata or wikipedia tags.

Route relations should have a network tag.

Act 4: Validation

  • All highway={motorway, trunk, primary, secondary, tertiary, residential} should have a name= or noname=, or should be changed to a service road
  • There shouldn't be any severe jumps between connected highway types. (No Motorway should touch a residential road)

Data sources

  • As a result of the address import, it is easy to find roads with missing names or wrong names usig GeoFabrik's Address validation layer.
    • In iD: go to Background Settings -> Custom -> https://tools.geofabrik.de/osmi/tiles/addresses/{zoom}/{x}/{y}.png
  • There is street level view from Bing maps
    • In iD: go to Map Data -> Photo Overlays -> Bing Streetside.
  • There is a tools that highlights missing road names http://qa.poole.ch/#
    • In iD: go to Background Settings -> Custom -> https://tile2.poole.ch/noname/{zoom}/{x}/{y}.png
  • Maine has an E911 road layer GIS data (Warning, road names are missing punctuation)
    • In iD: use this iD fork. But it would need for the schema to be translated.
  • There is also recent Tiger data available.
    • In iD: go to Background Settings -> Overlays -> TIGER Roads 2019 (or most recent)

Possible Collaborators

Please add your username to this list if you want to plan, implement, or validate this project.

  • blackboxlogic
  • tmerc58
  • Alan Bragg
  • vorpalblade
  • aweech
  • ZeLonewolf (maybe just municipal boundaries)
  • pokey
  • ‪St Pauls
  • emulsi
  • mtc

Questions that need to be answered

What should happen to tiger:reviewed=no tags? Is Maine's data source enough to claim that it is reviewed.

How to slice Maine into manageable chunks? I've set up taskmanager for Franklin County. "Draft" is at https://tasks.openstreetmap.us/admin/edit-project/208

Who is going to be doing work?

Which roads should get noname tags?

Should I generate josm session files? What should they have in them? Should I include subject data, or will it get stale?

Should I trust max_speed? NO. Not from E911. Maybe from MEDOT? Should I include source:maxspeed?

Should alt_names be "Route 302" or "State Route 302" or "Maine State Route 302"? Should it be "US Route 1", or "U.S. Route 1"? "Route 1A" or "Route 1 Bypass"?

There are some "roads" that are lakes, there are some "roads" that are islands

Do people have github accounts? Could that: Track issues, track progress, distribute files.

What to do when there is a naming conflict between osm and E911 data