Moved to https://github.com/OpenSidewalks/opensidewalks-data
- The
uwashington
"region" requires the command line utilityosmosis
.
-
(Optional) Install a virtualenv
python3 -m venv venv source venv/bin/activate pip install --upgrade pip
-
Install GDAL
sudo apt install gdal-bin
-
Install dependencies pip install snakemake pip install -r requirements.txt
- Build the container docker build -t accessmapdata .
Note: if you used docker
to install the dependencies, you can run a modified version
of these commands by (1) including a volume bind (-v
) to the region's directory and
(2) running an extended command, e.g.
bash -c "cd /bound/directory && snakemake -j 8"
.
-
Enter a region's directory cd cities/{region}
-
Fetch the source data snakemake -j 8 --snakefile Snakefile.fetch
-
Extract / build into a connected pedestrian network snakemake -j 8
Note: if you used docker
to install the dependencies, you can run a modified version
of the merge command by (1) binding the entirey repo to a volume (-v
) and (2) running
an extended command: bash -c cd /bound/directory && python ./merge.py
.
-
Extract each region one at a time. Their
output
directories will now be populated with atransportation.geojson
. -
In the main repo directory, run the merge script, which will (1) merge all
transportation.geojson
files into a single set of (otherwise unchanged) data and (2) create aregions.geojson
that describes the different regions that were extracted (used by AccessMap). python ./merge.py
This is the shared schema used to generation transportation.geojson
. It is used by
AccessMap for shared data (GeoJSON), map tiles (Mapbox Vector Tiles), and the routing
engine on accessmap.io. It is intended to be an extension of the OpenMapTiles spec and
uses the same licensing terms (CC-BY).
This is the only way/linestring-based layer currently used by AccessMap, and it is a direct extension of the OpenMapTiles schema.
Unique to AccessMap
This is not from the original OpenStreetMap data, but is a free-form text field derived from spatial and other metadata, e.g. using street data one might have a description of "NE of Main St".
Unique to AccessMap
The original value for footway
on OpenStreetMap. This allows differentiation between
different classes of footway. Possible values:
crossing
sidewalk
Unique to AccessMap
Values for the crossing
key in OpenStreetMap as applied to ways. This is not the
original value, as there is fragmentation in tagging standards regarding marked
crossings and they all roughly mean the same thing. Therefore, uncontrolled
and zebra
are all converted to marked
. Possible values:
marked
unmarked
Unique to AccessMap
This is an inferred quantity based on either network analysis or spatial proximity of a crossing to lowered curbs, and should be interpreted as indicating that using this path requires crossing over a raised curb interface. This quantity is useful for visualization - which paths required traversing a curb? Possible values:
- 1
- 0
Unique to AccessMap
This is not the original OpenStreetMap tag for incline, which would indicate the
maximum incline over a path, but is instead an estimated minimum incline based on DEM
data over the length of the path. The original OpenStreetMap incline
tag is fairly
rare on footways to begin with. The value represents a "rise over run" estimate, i.e.
a fraction of elevation gain/loss versus distance, and is directional: a negative value
indicates downhill in the direction of the way whereas a positive value indicates
uphill.
Unique to AccessMap
This is the original surface
key in the OpenStreetMap data. It indicates the surface
of the way being traversed, such as concrete vs. grass. Possible values:
asphalt
concrete
gravel
grass
paved
paving_stones
unpaved
Unique to AccessMap
This is the calculated length of the way, in meters, according to the Haversine
formula (Great-Circle Distance). This calculation is typically left up to consumers of
geometry data, as the geometry is, itself, furnished for geometrical analysis. This
is likely how AccessMap should also handle these data, but for now length
is
precalculated.
Unique to AccessMap
Original value of the foot
key if it is set to yes or no. Possible values:
- 1
- 0
Unique to AccessMap
Original value of the opening_hours
tag.
Unique to AccessMap
Whether the path uses an elevator for vertical movement, e.g. building paths. Possible values:
- 1
- 0
Unique to AccessMap
Original value of the width
tag if it has no units (unit conversion not yet
supported) - implied unit is meters.
The original layer tag on OpenStreetMap, this refers to the relative z-order of map elements. This is an integer that can be negative, so e.g. layer=0 is above layer=-1.
The original value of the service tag on OpenStreetMap, this refers to service ways, which includes driveways, parking lots, and alleys. Possible values:
alley
crossover
driveway
parking_aisle
siding
spur
yard
This is not yet used, but should be in future specs. It is an integer indicating the associated building level of a feature, including footways - e.g. a pathway around part of a building.
This contains information on the bridge/tunnel/ford tags. Possible values:
bridge
ford
tunnel
Whether the pathways is indoor or not (this is not yet implemented). Possible values are stated to be '1' in the OpenMapTiles spec - presumably the key doesn't exist at all if indoor=no. Possible values:
1
This is an ambiguous / undefined tag for pedestrian ways and is not currently used by Accessmap. We do not use this OpenMapTiles field.
The highway=*
subclass of the displayed way. The only values used by AccessMap are:
cycleway
footway
path
pedestrian
steps
There are plans to add corridor
for indoor routing.
Unique to AccessMap
This is a layer not found in the OpenMapTiles spec that should, ideally, be contributed
back into separate appropriate layers. It is focused on pedestrian features that pose
potential barriers (though depending on the values, some are helpful infrastructure).
Note that all features in the barriers
layer are points.
The value of the original kerb tag. Possible values:
flush
lowered
raised
rolled
The value of the original tactile_paving
tag. Possible values:
- 1
- 0