Add US Public Land (national park/forest) layers

This commit is contained in:
Chandler Swift 2023-07-28 13:15:45 -05:00
parent 354d952567
commit eed4688c3b
Signed by: chandlerswift
GPG key ID: A851D929D52FB93F
3 changed files with 75 additions and 0 deletions

View file

@ -9,6 +9,7 @@ import bikepackingLayer from './bikepacking/layer.js';
import chains from './chains/index.js';
import census_bureau from './census-bureau/index.js';
import states from './states/index.js';
import national_land from './national-land/index.js';
const layerCategories = [
{ // Base maps
@ -75,6 +76,7 @@ const layerCategories = [
chains,
census_bureau,
states,
national_land,
];
export default layerCategories;

View file

@ -0,0 +1,22 @@
#!/bin/sh
curl --silent --output nps_boundary_geojson.zip http://gstore.unm.edu/apps/rgisarchive/datasets/7bbe8af5-029b-4adf-b06c-134f0dd57226/nps_boundary.derived.geojson
unzip nps_boundary_geojson.zip nps_boundary.geojson
rm nps_boundary_geojson.zip
# for resolution in 20m 5m; do
# curl --silent --remote-name https://www2.census.gov/geo/tiger/GENZ2022/shp/cb_2022_us_county_${resolution}.zip
# unzip cb_2022_us_county_${resolution}.zip
# ogr2ogr -f GeoJSON us-counties-${resolution}.geojson cb_2022_us_county_${resolution}.shp
# sed -i '/^"crs":/d' us-counties-${resolution}.geojson # TODO: handle this projection properly
# rm cb_2022_us_county_${resolution}.*
# # python cleanup_data.py us-counties-${resolution}.geojson # Only needed for KML files
# done
# https://data.fs.usda.gov/geodata/edw/datasets.php?xmlKeyword=Original+Proclaimed+National+Forests
curl --silent --remote-name https://data.fs.usda.gov/geodata/edw/edw_resources/shp/S_USA.ProclaimedForest.zip
unzip S_USA.ProclaimedForest.zip
ogr2ogr -f GeoJSON us-national-forests.geojson S_USA.ProclaimedForest.shp
sed -i '/^"crs":/d' us-national-forests.geojson # TODO: handle this projection properly
rm S_USA.ProclaimedForest.*
# TODO: some kind of cleanup to save space?

View file

@ -0,0 +1,51 @@
import GeoJSON from 'ol/format/GeoJSON.js';
import VectorLayer from 'ol/layer/Vector.js';
import VectorSource from 'ol/source/Vector.js';
import nationalParks from './nps_boundary.geojson?url';
import nationalForests from './us-national-forests.geojson?url';
import { Fill, Stroke, Style, Text } from 'ol/style.js';
function style(feature){
return new Style({
text: new Text({
text: feature.get('FORESTNAME') || (feature.get('UNIT_NAME') + " National Park"),
}),
fill: new Fill({
color: 'rgba(255,255,255,0.4)',
}),
stroke: new Stroke({
color: '#008800',
width: 1.25,
}),
});
}
const layers = {
name: "US Public Land",
layers: [
{
name: "National Parks",
layer: new VectorLayer({
source: new VectorSource({
url: nationalParks,
format: new GeoJSON(),
}),
style: style,
}),
},
{
name: "National Forests",
layer: new VectorLayer({
source: new VectorSource({
url: nationalForests,
format: new GeoJSON(),
}),
style: style,
}),
},
],
};
export default layers;