[Imports] NHD data skipped by nhd2osm

Dylan Semler dylan.semler at gmail.com
Tue Jun 22 20:36:07 BST 2010


I've patched the nhd2osm scripts to print details about the NHD
tag conversions[1].  I'm attaching the output of the scripts with my patch
applied if anyone is interested in what it does.

When running against my test subbasin, it shows me that a few tags were
skipped:

FType       FCode
BayInlet    31200
Reservoir   43624
Waterfall   48700

I'm wondering what the best way to handle these three is.

BayInlet:
In my data sample, the BayInlet ways are mostly identical (with many
duplicate nodes) to the bay portion the lake that they're in.  If a straight
tag-conversion is done, then there would be two mostly identical-overlapping
ways, which may not be _too_ bad of a result.  However, the ideal solution
is probably for the bay way to be identical to the relevant portion of the
lake way.  This would require manually creating each bay.  What have other
people done?

Reservoir:
The script maps most features to osm tags based on their FType.  However,
Reservoirs need to be mapped based on their FCode.  It looks like the 43624
FCode might have been added to the NHD data after the script was made.
 There are a few other new Reservoir FCodes as well.  According to the FCode
changes document[2] 43624 corresponds to "Reservoir Type|treatment".
 Perhaps this one should be tagged as water_works[3]?

Waterfall:
I'm not sure why the script doesn't convert Waterfalls.  The
wiki recommends waterway=waterfall[4].  Maybe it was accidentally omitted?

[1]http://trac.openstreetmap.org/ticket/3014
[2]http://nhd.usgs.gov/fcode_changes.pdf
[3]http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dwater_works
 <http://wiki.openstreetmap.org/wiki/Tag:man_made%3Dwater_works>[4]
http://wiki.openstreetmap.org/wiki/NHD
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/imports/attachments/20100622/963615bc/attachment.html>
-------------- next part --------------
[Dylan at PCI-DSEMLER-0 hydrography]$ ../../nhd2osm/polyshp2osm-Area.py -S NHDArea.shp 
Running 1 slices with poly_output base filename against shapefile NHDArea.shp

------------------------- Fields without osm mapping --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
(none)                 (none)                   BayInlet; 31200              19

-------------------------   Fields with osm mapping  --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
Rapids                 waterway: rapids         43100                        16
                       whitewater: rapid                                       
StreamRiver            waterway: riverbank      46006                        58
DamWeir                waterway: dam            34306                         1
[Dylan at PCI-DSEMLER-0 hydrography]$ ../../nhd2osm/polyshp2osm-WaterBody.py -S NHDWaterbody.shp 
Running 1 slices with poly_output base filename against shapefile NHDWaterbody.shp
Splitting file with 27459 objs
Splitting file with 29221 objs

------------------------- Fields without osm mapping --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
(none)                 (none)                   Reservoir; 43624              3

-------------------------   Fields with osm mapping  --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
43612                  landuse: reservoir       Reservoir                     3
43610                  landuse: reservoir       Reservoir                     1
LakePond               natural: water           39004                       511
43601                  landuse: reservoir       Reservoir                     2
LakePond               natural: water           39009                       110
[Dylan at PCI-DSEMLER-0 hydrography]$ ../../nhd2osm/shape_to_osm-Line.py NHDLine.shp 
parsing shpfile
compiling nodelist
compiling waylist
constructing osm xml file
writing NHDLine.osm1.osm

------------------------- Fields without osm mapping --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
(none)                 (none)                   48700; Waterfall              2

-------------------------       Ignored fields       --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
(none)                 (none)                   Nonearthen Shore; 41100      43

-------------------------   Fields with osm mapping  --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
DamWeir                waterway: stream         34306                         2
[Dylan at PCI-DSEMLER-0 hydrography]$ ../../nhd2osm/shape_to_osm-Flowline.py NHDFlowline.shp 
parsing shpfile
compiling nodelist
compiling waylist
constructing osm xml file
writing NHDFlowline.1.osm
writing NHDFlowline.2.osm
writing NHDFlowline.3.osm
writing NHDFlowline.4.osm

-------------------------       Ignored fields       --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
(none)                 (none)                   Connector; 33400            120

-------------------------   Fields with osm mapping  --------------------------
Mapped shp Field(s)    OSM tag(s)               Unmapped shp Field(s)     Count
StreamRiver            waterway: stream         46006                       803
Pipeline               man_made: pipeline       42803                         2
                       type: water                                             
StreamRiver            waterway: stream         46003                       287


More information about the Imports mailing list