Washington landuse import
Jump to navigation
Jump to search
Goal
- More complete coverage of the "landuse" tag, specifically landuse=residential. Initially starting with the city of Kenmore and potentially expanding to King County.
Data Source
- King County GIS [1] , specifically the "Property" dataset
Data Translation
- Each parcel in the property dataset as a "PRESENTUSE" field (aka what is this parcel presently used for). The possible values are enumerated here : [2]
- Initially I am focused on correctly marking areas as landuse=residential
- The following values from the input dataset will be mapped to landuse=residential
Code | Description | Example Parcel (todo) |
---|---|---|
2 | Single family (residential use / zone) | |
3 | Duplex | |
4 | Triplex | |
5 | 4-plex | |
7 | Houseboat | |
8 | Mobile home | |
11 | Apartment | |
16 | Apartment (Mixed use) | |
17 | Apartment (Co-op) | |
18 | Apartment (Subsidized) | |
20 | Condominium (Residential) | |
25 | Condominium (Mixed use) | |
29 | Townhouse plat | |
38 | Mobile home park | |
48 | Condominium (Mobile Home Park) | |
49 | Retirement facility | |
57 | Group home | |
341 | Rooming House | |
342 | Fraternity / Sorority House |
- Other values to consider for potentially being residential
Code | Description | Notes | |
---|---|---|---|
6 | Single family (C/I Zone) | ||
9 | Single family (C/I use) | ||
300 | Vacant (Single-family) | "Single family" seems misleading here. This is used for various parcels without anything built on them, including Parks. | |
301 | Vacant (Multi-family) |
Data Manipulation for use in OSM
- People have different opinions about how landuse areas should be mapped. How big should each polygon be? Should they cross roads (only small residential roads maybe)? If not crossing a road should it extend to the road centerline or stop at the edge of the road?
- I plan to combine neighboring parcels that are both landuse=residential to form larger polygons where possible. If I can come up with a good solution for automating the process of allowing these residential polygons to cross small roads (highway=residential ?) then I'll do it (as this will result in a smaller/simpler dataset). Otherwise I'll just only do the neighboring parcel merging and therefore not have the resulting areas cross any roads.
- The polygons from the King County GIS are more detailed than is necessary for OSM. I will simplify the resulting polygons to reduce the number of nodes.
Handling existing OSM data (todo)
- Exclude the area from the import if it overlaps with existing landuse=* tags or non-residential amenities? Maybe replace existing unnamed landuse=residential areas that overlap with the imported ones, but don't import if it overlaps with landuse=[anything except residential] ?
Tech Process
- Using some custom java code for parsing kml (todo replace with an existing library)
- Currently using JTS Topology Suite (Java) [3]
- CascadedPolygonUnion class for merging the adjacent polygons
- TopologyPreservingSimplifier for simplifying the resulting polygons
- todo : how to download osm data and translate to JTS polygons
- todo : JTS Polygon -> OSM XML ?
- osm xml -> ... upload somehow ...
Results so far
- Process King County file (600k+ parcels)
- Filter to Kenmore residential parcels (~6426 of them)
- kml->JTS polygons (10 of them failed due to being invalid polygons, havent looked at details)
- After merging the 6000+ parcels it results in 353 areas, a few of which have holes (OSM multipolygon)