Compare commits
11 commits
f7f662bed1
...
f4139723e5
| Author | SHA1 | Date | |
|---|---|---|---|
| f4139723e5 | |||
| a9d7404f85 | |||
| 6cd8b7e456 | |||
| 12a2d05c7c | |||
| e19e2afe72 | |||
| 54a0b4c47d | |||
| 2d21916238 | |||
| c7ae50dc31 | |||
| 9352930ba6 | |||
| 08b3a0bac5 | |||
| 51a3629794 |
8 changed files with 945 additions and 121 deletions
4
Makefile
4
Makefile
|
|
@ -1,4 +1,4 @@
|
|||
plats.json: scripts/get_plats.py
|
||||
data/plats.json: scripts/get_plats.py
|
||||
./scripts/get_plats.py data/plats.geojson
|
||||
|
||||
.PHONY: satellite
|
||||
|
|
@ -6,5 +6,5 @@ satellite:
|
|||
./scripts/download_satellite.py
|
||||
|
||||
.PHONY: deploy
|
||||
deploy: plats.json satellite
|
||||
deploy: data/plats.json satellite
|
||||
rsync -avz --exclude=unused/ --delete ./ bert:/srv/www/lawrencedeerclub.chandlerswift.com/
|
||||
|
|
|
|||
|
|
@ -9,10 +9,7 @@
|
|||
"fridge2.jpg",
|
||||
"fridge3.jpg"
|
||||
],
|
||||
"location": [
|
||||
47.49304852,
|
||||
-93.39113721000001
|
||||
],
|
||||
"location": [47.492991, -93.391120],
|
||||
"attributes": {
|
||||
"Year Established": "2010",
|
||||
"Description": "Formerly \"Alan's Barrel\" (located where Alan's castle is now). Originally built (probably 1970s or 1980s) by some combination of Alan, Vernon, and Irving from old windmills. Moved to the driveway in 2010 when Alan's castle was built. Shortly thereafter, the southeast leg was hit with the brushmower, rendering it unusable, and replaced with a refrigerator. The large hole in the barrel was the result of an accidental discharge of Alan's .44 Magnum pistol."
|
||||
|
|
@ -27,10 +24,7 @@
|
|||
"tupperware2.jpg",
|
||||
"tupperware3.jpg"
|
||||
],
|
||||
"location": [
|
||||
47.49564466,
|
||||
-93.39410528
|
||||
],
|
||||
"location": [47.495626, -93.394064],
|
||||
"attributes": {
|
||||
"Year Established": "2017",
|
||||
"Description": "Stand and platform purchased new at a steep discount from RMI in Little Falls (https://rotomoldinginc.com/). Dave and Celine installed and assembled in a separate late-September trip. This stand replaced a post stand that had stood in this location for several years; \"For a few years, every single time I went out there, I saw a deer!\" \u2014Dave Swift. The shooting lane to the north of the stand was naturally free of trees, which made construction of a new shooting lane very straightforward. This location was especially desirable because it was our only stand placed in the NW 40."
|
||||
|
|
@ -46,10 +40,7 @@
|
|||
"castle3.jpg",
|
||||
"castle4.jpg"
|
||||
],
|
||||
"location": [
|
||||
47.49585212,
|
||||
-93.39130727000001
|
||||
],
|
||||
"location": [47.495831, -93.391287],
|
||||
"attributes": {
|
||||
"Year Established": "Late 70s/early 80s",
|
||||
"Description": "This stand was built and originally occupied largely by Irving, and was the first enclosed stand on the property. The stand was assessed as healthy in September 2006, and was discovered on the ground that November. A new castle was built on the original base in 2007. The original wooden base was replaced with a metal base of Tim's design in 2023."
|
||||
|
|
@ -64,14 +55,11 @@
|
|||
"ladder2.jpg",
|
||||
"ladder3.jpg"
|
||||
],
|
||||
"location": [47.496707, -93.388462],
|
||||
"attributes": {
|
||||
"Year Established": "\"Predates me, I think\" —Dave",
|
||||
"Description": ""
|
||||
},
|
||||
"location": [
|
||||
47.49670328333334,
|
||||
-93.38847981333333
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Alan's",
|
||||
|
|
@ -82,14 +70,11 @@
|
|||
"alans2.jpg",
|
||||
"alans3.jpg"
|
||||
],
|
||||
"location": [47.494571, -93.390979],
|
||||
"attributes": {
|
||||
"Year Established": "1970s (TODO)",
|
||||
"Description": "Half-wall platform in 2010; enclosed stands built 2012 Zack Larson"
|
||||
},
|
||||
"location": [
|
||||
47.49460865,
|
||||
-93.39097404
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "East Barrel",
|
||||
|
|
@ -101,14 +86,11 @@
|
|||
"eastbarrel3.jpg",
|
||||
"eastbarrel4.jpg"
|
||||
],
|
||||
"location": [47.495200, -93.387020],
|
||||
"attributes": {
|
||||
"Year Established": "",
|
||||
"Description": "70s or 80s, repurposed windmill stand?"
|
||||
},
|
||||
"location": [
|
||||
47.49519986,
|
||||
-93.387005555
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Iron Castle",
|
||||
|
|
@ -118,14 +100,11 @@
|
|||
"ironcastle1.jpg",
|
||||
"ironcastle2.jpg"
|
||||
],
|
||||
"location": [47.494041, -93.386468],
|
||||
"attributes": {
|
||||
"Year Established": "1990s?",
|
||||
"Description": "Also \"Iron tree\". Lawrence Deer Club's second castle, after The Castle. A successor to the Mile-high stand, purchased from Fleet Farm for $400. Installed further west than the original stand to stay on our property. Camo paint job by Paul Adams."
|
||||
},
|
||||
"location": [
|
||||
47.494131005,
|
||||
-93.38646539500002
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Mile-high stand (TODO: rename)",
|
||||
|
|
@ -135,14 +114,11 @@
|
|||
"irontree1.jpg",
|
||||
"irontree2.jpg"
|
||||
],
|
||||
"location": [47.494242, -93.385992],
|
||||
"attributes": {
|
||||
"Year Established": "",
|
||||
"Description": "Occasionally also \"Iron tree\" (as opposed to \"Iron Castle\"). Current location is maybe 8 feet lower than historic height. Likely the location for Scott's famous thirteen-shot kill. Almost always Richard's hunting spot of choice. As he aged (perhaps around when he turned 70 years old in 1994), an easier-to-climb stand was needed, so the Iron Castle was installed as a successor. TODO: whose stand is this? Dad thinks maybe Kim?"
|
||||
},
|
||||
"location": [
|
||||
47.49430932,
|
||||
-93.38599909000001
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Three-Legged Barrel",
|
||||
|
|
@ -156,14 +132,11 @@
|
|||
"stories": [
|
||||
"Dave: That stand has never been particularly productive. I only ever saw one deer out of that stand -- a decent buck. The deer was to the east, so I needed to take a left-handed shot…and the rifle went \"click\" because I hadn't fully closed the breech. The deer ran off. A few moments later, a shot from the north: Paul Adams had gotten the deer."
|
||||
],
|
||||
"location": [47.492138, -93.387125],
|
||||
"attributes": {
|
||||
"Year Established": "",
|
||||
"Description": "70s or 80s, not windmill parts. Maybe built by Alan? Originally not well-liked because of instability. 2023 barrel replaced and ladder flipped upside down/steps on barrel for easier climbing."
|
||||
},
|
||||
"location": [
|
||||
47.49214061,
|
||||
-93.38710683000001
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Hummock",
|
||||
|
|
@ -174,14 +147,11 @@
|
|||
"hummock1.jpg",
|
||||
"hummock2.jpg"
|
||||
],
|
||||
"location": [47.491351, -93.384600],
|
||||
"attributes": {
|
||||
"Year Established": "",
|
||||
"Description": "\"Prolific\" --Dave -- a good view of a lake to the south, and a bog to the east. "
|
||||
},
|
||||
"location": [
|
||||
47.49135555555556,
|
||||
-93.38455972222224
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Sofa",
|
||||
|
|
@ -193,14 +163,11 @@
|
|||
"sofa3.jpg",
|
||||
"sofa4.jpg"
|
||||
],
|
||||
"location": [47.490232, -93.386493],
|
||||
"attributes": {
|
||||
"Year Established": "1990ish, shortly before Dave's first year",
|
||||
"Description": "Alternately \"couch\" or \"davenport\". Shooting lanes went in either 2005 or 2006 (per Google Earth historic imagery), shortly after JBS' predecessors logged the area. Major rebuild in 2023, after half of tree above fork fell over. New ladder made out of square steel tubing from GSL batting cage, installed in 2020."
|
||||
},
|
||||
"location": [
|
||||
47.49022563,
|
||||
-93.38653060000001
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Ridge",
|
||||
|
|
@ -210,14 +177,11 @@
|
|||
"ridge1.jpg",
|
||||
"ridge2.jpg"
|
||||
],
|
||||
"location": [47.489358, -93.387909],
|
||||
"attributes": {
|
||||
"Year Established": "TODO",
|
||||
"Description": "John Graupmann's metal two-person stand. Installed 2015-2017 (before 2018 logging completed). Path rerouted after logging."
|
||||
},
|
||||
"location": [
|
||||
47.48936904,
|
||||
-93.38791247
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Point",
|
||||
|
|
@ -232,10 +196,7 @@
|
|||
"Year Established": "2008",
|
||||
"Description": "Originally \"South Castle\". Post stand in 2008, half-wall stand in 2009, castle in 2012. Many deer were seen from the post, so decided to put up a permanent stand. The first morning of half-wall stand, 8 deer seen before 8:30 (including 8pt buck). Next day, another buck 7:30am. New ladder (with Sofa) 2020(?)"
|
||||
},
|
||||
"location": [
|
||||
47.48888177333333,
|
||||
-93.38977630333333
|
||||
]
|
||||
"location": [47.488840, -93.389712]
|
||||
}
|
||||
],
|
||||
"fruit-trees_comment": "Dave attempted planting two fruit trees 2008 between Alan's stand and castle. Neither made it a year.",
|
||||
|
|
@ -282,6 +243,7 @@
|
|||
"outhouse built by Irving pre-1992 (when Dad started coming up; relatively new then), replaced older outhouse, which was 6 ft further north",
|
||||
""
|
||||
],
|
||||
"shack_location": [47.492264, -93.390625],
|
||||
"deer": [
|
||||
"TODO",
|
||||
{
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
211
map.html
211
map.html
|
|
@ -4,8 +4,9 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Lawrence Deer Club Maps</title>
|
||||
<link rel="stylesheet" href="/leaflet/leaflet.css" />
|
||||
<script src="/leaflet/leaflet.js"></script>
|
||||
<link rel="stylesheet" href="leaflet/leaflet.css" />
|
||||
<script src="leaflet/leaflet.js"></script>
|
||||
<script src="turf.min.js"></script>
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
|
|
@ -23,13 +24,13 @@
|
|||
.label {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
margin-top: -1em;
|
||||
}
|
||||
.label div {
|
||||
position: relative;
|
||||
left: -50%;
|
||||
top: -50%;
|
||||
text-shadow: 0 0 2px white;
|
||||
text-shadow: 0 0 6px white, 0 0 6px white, 0 0 6px white, 0 0 6px white, 0 0 6px white, 0 0 6px white;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
.label-hidden {
|
||||
opacity: 0;
|
||||
}
|
||||
.leaflet-popup-content-wrapper {
|
||||
height: min(800px, 60vh);
|
||||
|
|
@ -139,27 +140,56 @@
|
|||
</div>`;
|
||||
document.getElementById('lightbox').style.display = 'block';
|
||||
}
|
||||
function calculateCentroid(points) {
|
||||
// https://en.wikipedia.org/wiki/Centroid#Of_a_polygon
|
||||
let area = 0;
|
||||
let centroidLat = 0;
|
||||
let centroidLng = 0;
|
||||
function collectPlatEdges(featureCollection) {
|
||||
const segments = new Map();
|
||||
|
||||
for (let i = 0; i < points.length; i++) {
|
||||
const { lat: lat1, lng: lng1 } = points[i];
|
||||
const { lat: lat2, lng: lng2 } = points[(i + 1) % points.length]; // Next vertex, wrapping around
|
||||
const addSegment = (start, end) => {
|
||||
if (!start || !end || start.length !== 2 || end.length !== 2) {
|
||||
return;
|
||||
}
|
||||
if (start[0] === end[0] && start[1] === end[1]) {
|
||||
return;
|
||||
}
|
||||
const forwardKey = `${start[0]},${start[1]}|${end[0]},${end[1]}`;
|
||||
const backwardKey = `${end[0]},${end[1]}|${start[0]},${start[1]}`;
|
||||
const key = forwardKey < backwardKey ? forwardKey : backwardKey;
|
||||
if (!segments.has(key)) {
|
||||
segments.set(key, { from: start, to: end });
|
||||
}
|
||||
};
|
||||
|
||||
const determinant = lat1 * lng2 - lng1 * lat2;
|
||||
area += determinant;
|
||||
centroidLat += (lat1 + lat2) * determinant;
|
||||
centroidLng += (lng1 + lng2) * determinant;
|
||||
const visitRing = (ring) => {
|
||||
if (!Array.isArray(ring) || ring.length < 2) {
|
||||
return;
|
||||
}
|
||||
for (let i = 0; i < ring.length - 1; i++) {
|
||||
addSegment(ring[i], ring[i + 1]);
|
||||
}
|
||||
};
|
||||
|
||||
for (const feature of featureCollection.features) {
|
||||
if (!feature || !feature.geometry) {
|
||||
continue;
|
||||
}
|
||||
const { type, coordinates } = feature.geometry;
|
||||
if (type === "Polygon") {
|
||||
for (const ring of coordinates) {
|
||||
visitRing(ring);
|
||||
}
|
||||
} else if (type === "MultiPolygon") {
|
||||
for (const polygon of coordinates) {
|
||||
for (const ring of polygon) {
|
||||
visitRing(ring);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
area *= 0.5;
|
||||
centroidLat /= (6 * area);
|
||||
centroidLng /= (6 * area);
|
||||
|
||||
return [centroidLat, centroidLng];
|
||||
const features = [];
|
||||
for (const segment of segments.values()) {
|
||||
features.push(turf.lineString([segment.from, segment.to]));
|
||||
}
|
||||
return turf.featureCollection(features);
|
||||
}
|
||||
(async function() {
|
||||
const map = L.map('map', {
|
||||
|
|
@ -184,6 +214,44 @@
|
|||
],
|
||||
}).addTo(map);
|
||||
|
||||
const platLabelEntries = []; // Cache label markers paired with their plat polygons
|
||||
|
||||
function updatePlatLabelVisibility() {
|
||||
for (const entry of platLabelEntries) {
|
||||
const { marker, layer } = entry;
|
||||
const labelEl = marker.getElement();
|
||||
if (!labelEl) {
|
||||
continue;
|
||||
}
|
||||
const textEl = labelEl.querySelector('div');
|
||||
if (!textEl) {
|
||||
continue;
|
||||
}
|
||||
const bounds = layer.getBounds();
|
||||
if (!bounds.isValid()) {
|
||||
labelEl.classList.add('label-hidden');
|
||||
continue;
|
||||
}
|
||||
labelEl.classList.remove('label-hidden');
|
||||
// Compare rendered label size in pixels against the plat's projected bounding box
|
||||
const sw = map.latLngToLayerPoint(bounds.getSouthWest());
|
||||
const ne = map.latLngToLayerPoint(bounds.getNorthEast());
|
||||
const platWidth = Math.abs(ne.x - sw.x);
|
||||
const platHeight = Math.abs(ne.y - sw.y);
|
||||
const labelWidth = textEl.offsetWidth;
|
||||
const labelHeight = textEl.offsetHeight;
|
||||
const fits = labelWidth <= platWidth && labelHeight <= platHeight;
|
||||
if (fits) {
|
||||
labelEl.classList.remove('label-hidden');
|
||||
} else {
|
||||
labelEl.classList.add('label-hidden');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
map.on('zoomend', updatePlatLabelVisibility);
|
||||
map.on('moveend', updatePlatLabelVisibility);
|
||||
map.on('resize', updatePlatLabelVisibility);
|
||||
|
||||
// Make these requests in parallel
|
||||
const track_req_promise = fetch('data/track.geojson');
|
||||
|
|
@ -196,25 +264,82 @@
|
|||
const plats = await plats_req.json();
|
||||
const data = await data_req.json();
|
||||
|
||||
L.geoJSON(plats, {
|
||||
filter: feature => !feature.properties.TAO_NAME.toLowerCase().includes("lawrence deer club"),
|
||||
onEachFeature: function(feature, layer) {
|
||||
const centroid = calculateCentroid(layer.getLatLngs()[0]);
|
||||
const label = L.marker(centroid, {
|
||||
icon: L.divIcon({
|
||||
iconSize: null,
|
||||
className: "label",
|
||||
html: "<div>" + feature.properties.TAO_NAME + "</div>"
|
||||
})
|
||||
}).addTo(map);
|
||||
},
|
||||
}).addTo(map);
|
||||
const platFeatures = Array.isArray(plats.features) ? plats.features : [];
|
||||
const filteredPlats = {
|
||||
type: "FeatureCollection",
|
||||
features: platFeatures.filter(feature => {
|
||||
const name = feature?.properties?.TAO_NAME;
|
||||
if (typeof name !== "string") {
|
||||
return false;
|
||||
}
|
||||
return !name.toLowerCase().includes("lawrence deer club");
|
||||
}),
|
||||
};
|
||||
|
||||
L.geoJSON(track, {
|
||||
style: {
|
||||
color: "maroon",
|
||||
},
|
||||
}).addTo(map);
|
||||
if (filteredPlats.features.length > 0) {
|
||||
// draw deduplicated plat boundaries with a subtle stroke so the merged shapes stay legible
|
||||
const platEdges = collectPlatEdges(filteredPlats);
|
||||
if (platEdges.features.length > 0) {
|
||||
L.geoJSON(platEdges, {
|
||||
style: {
|
||||
weight: 2,
|
||||
dashArray: "15 25", // px on, px off
|
||||
},
|
||||
interactive: false,
|
||||
}).addTo(map);
|
||||
}
|
||||
|
||||
const dissolvedPlats = turf.dissolve(filteredPlats, { propertyName: "TAO_NAME" });
|
||||
|
||||
if (dissolvedPlats && dissolvedPlats.features) {
|
||||
L.geoJSON(dissolvedPlats, {
|
||||
// style: {
|
||||
// color: "#004f9f",
|
||||
// weight: 2,
|
||||
// fillOpacity: 0.1,
|
||||
// },
|
||||
onEachFeature(feature, layer) {
|
||||
if (!feature || !feature.geometry) {
|
||||
return;
|
||||
}
|
||||
// use center of mass when possible so labels stay visually centered
|
||||
let labelPoint = turf.centerOfMass(feature);
|
||||
if (!turf.booleanPointInPolygon(labelPoint, feature)) {
|
||||
labelPoint = turf.pointOnFeature(feature);
|
||||
}
|
||||
const [lng, lat] = labelPoint.geometry.coordinates;
|
||||
L.marker([lat, lng], {
|
||||
icon: L.divIcon({
|
||||
iconSize: null,
|
||||
className: "label",
|
||||
html: "<div>" + feature.properties.TAO_NAME + "</div>",
|
||||
}),
|
||||
interactive: false,
|
||||
}).once('add', function() {
|
||||
platLabelEntries.push({ marker: this, layer });
|
||||
updatePlatLabelVisibility();
|
||||
}).addTo(map);
|
||||
},
|
||||
}).addTo(map);
|
||||
}
|
||||
}
|
||||
|
||||
const trackLayer = L.geoJSON(track).addTo(map);
|
||||
window.trackLayer = trackLayer;
|
||||
map.on('zoomend', function() {
|
||||
trackLayer.setStyle(function (feature) { // zoom 15 - 21
|
||||
switch (feature.properties.type) {
|
||||
case 'road':
|
||||
return { color: '#654321', weight: (map.getZoom() - 13) * 2 };
|
||||
case 'trail':
|
||||
return { color: 'maroon', weight: (map.getZoom() - 14) / 2 + 1 };
|
||||
case 'shooting_lane':
|
||||
return { color: 'black', weight: Math.max((map.getZoom() - 16), 1), dashArray: '8,12' };
|
||||
default:
|
||||
console.log("Unknown trail type: " + feature.properties.trail_type);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
for (let stand of data.stands) {
|
||||
if (stand.location) {
|
||||
|
|
@ -246,6 +371,8 @@
|
|||
[47.4865,-93.4068],
|
||||
[47.4992,-93.3746],
|
||||
]);
|
||||
|
||||
map.whenReady(updatePlatLabelVisibility);
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
|||
660
resources/deercamp.osm
Normal file
660
resources/deercamp.osm
Normal file
|
|
@ -0,0 +1,660 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<osm version='0.6' generator='JOSM'>
|
||||
<node id='-28768' action='modify' visible='true' lat='47.49301435367' lon='-93.39710120145' />
|
||||
<node id='-28769' action='modify' visible='true' lat='47.4930105025' lon='-93.39149370823' />
|
||||
<node id='-28770' action='modify' visible='true' lat='47.49299215281' lon='-93.39133344624' />
|
||||
<node id='-28771' action='modify' visible='true' lat='47.49295839841' lon='-93.39117452536' />
|
||||
<node id='-28772' action='modify' visible='true' lat='47.49290788005' lon='-93.39104242656' />
|
||||
<node id='-28773' action='modify' visible='true' lat='47.49285147159' lon='-93.39091736857' />
|
||||
<node id='-28774' action='modify' visible='true' lat='47.49280548393' lon='-93.39084025506' />
|
||||
<node id='-28775' action='modify' visible='true' lat='47.49275224693' lon='-93.39076448265' />
|
||||
<node id='-28776' action='modify' visible='true' lat='47.49270263453' lon='-93.39070245657' />
|
||||
<node id='-28777' action='modify' visible='true' lat='47.49263580496' lon='-93.39065752957' />
|
||||
<node id='-28778' action='modify' visible='true' lat='47.49257667772' lon='-93.39064411853' />
|
||||
<node id='-28779' action='modify' visible='true' lat='47.4925082622' lon='-93.39065518264' />
|
||||
<node id='-28780' action='modify' visible='true' lat='47.49237913334' lon='-93.39068133418' />
|
||||
<node id='-28781' action='modify' visible='true' lat='47.49302160293' lon='-93.39096095446' />
|
||||
<node id='-28782' action='modify' visible='true' lat='47.49319309296' lon='-93.39093580876' />
|
||||
<node id='-28783' action='modify' visible='true' lat='47.49341124921' lon='-93.39093010906' />
|
||||
<node id='-28784' action='modify' visible='true' lat='47.49359202598' lon='-93.39095693115' />
|
||||
<node id='-28785' action='modify' visible='true' lat='47.49374878929' lon='-93.39098844711' />
|
||||
<node id='-28786' action='modify' visible='true' lat='47.49391030938' lon='-93.39100722257' />
|
||||
<node id='-28787' action='modify' visible='true' lat='47.49413254027' lon='-93.39101761613' />
|
||||
<node id='-28789' action='modify' visible='true' lat='47.49446327972' lon='-93.39101862196' />
|
||||
<node id='-28790' action='modify' visible='true' lat='47.49447800437' lon='-93.39090328697' />
|
||||
<node id='-28792' action='modify' visible='true' lat='47.49464020181' lon='-93.39081242714' />
|
||||
<node id='-28793' action='modify' visible='true' lat='47.49463046092' lon='-93.3909646425' />
|
||||
<node id='-28794' action='modify' visible='true' lat='47.49499268571' lon='-93.38997155562' />
|
||||
<node id='-28795' action='modify' visible='true' lat='47.49524821191' lon='-93.38915214077' />
|
||||
<node id='-28796' action='modify' visible='true' lat='47.49539319076' lon='-93.38878736034' />
|
||||
<node id='-28797' action='modify' visible='true' lat='47.49541403144' lon='-93.38848695293' />
|
||||
<node id='-28798' action='modify' visible='true' lat='47.4954176559' lon='-93.38828042284' />
|
||||
<node id='-28799' action='modify' visible='true' lat='47.49535150938' lon='-93.38788747922' />
|
||||
<node id='-28800' action='modify' visible='true' lat='47.49526814653' lon='-93.3874650313' />
|
||||
<node id='-28801' action='modify' visible='true' lat='47.49523190176' lon='-93.38728398219' />
|
||||
<node id='-28802' action='modify' visible='true' lat='47.49522465281' lon='-93.3870211257' />
|
||||
<node id='-28803' action='modify' visible='true' lat='47.49497546936' lon='-93.39089557663' />
|
||||
<node id='-28804' action='modify' visible='true' lat='47.49508148574' lon='-93.39087277785' />
|
||||
<node id='-28805' action='modify' visible='true' lat='47.49476524822' lon='-93.39073598519' />
|
||||
<node id='-28806' action='modify' visible='true' lat='47.49472754959' lon='-93.3906040543' />
|
||||
<node id='-28807' action='modify' visible='true' lat='47.49575835447' lon='-93.39123085275' />
|
||||
<node id='-28808' action='modify' visible='true' lat='47.49592236017' lon='-93.39050933853' />
|
||||
<node id='-28809' action='modify' visible='true' lat='47.49604559064' lon='-93.39024379984' />
|
||||
<node id='-28810' action='modify' visible='true' lat='47.49620506493' lon='-93.38996350899' />
|
||||
<node id='-28811' action='modify' visible='true' lat='47.49636816314' lon='-93.3896671249' />
|
||||
<node id='-28812' action='modify' visible='true' lat='47.49650317183' lon='-93.38928625122' />
|
||||
<node id='-28813' action='modify' visible='true' lat='47.49658472053' lon='-93.38901668921' />
|
||||
<node id='-28814' action='modify' visible='true' lat='47.49666536301' lon='-93.38869348302' />
|
||||
<node id='-28815' action='modify' visible='true' lat='47.49669322474' lon='-93.38854428414' />
|
||||
<node id='-28816' action='modify' visible='true' lat='47.49669775521' lon='-93.38841419701' />
|
||||
<node id='-28817' action='modify' visible='true' lat='47.4969410409' lon='-93.38841721449' />
|
||||
<node id='-28818' action='modify' visible='true' lat='47.49683684046' lon='-93.38814899359' />
|
||||
<node id='-28819' action='modify' visible='true' lat='47.49655300716' lon='-93.38789284363' />
|
||||
<node id='-28821' action='modify' visible='true' lat='47.4965009059' lon='-93.3875729892' />
|
||||
<node id='-28840' action='modify' visible='true' lat='47.4930598883' lon='-93.39111551709' />
|
||||
<node id='-28841' action='modify' visible='true' lat='47.49323160474' lon='-93.39122884043' />
|
||||
<node id='-28842' action='modify' visible='true' lat='47.49333807771' lon='-93.3913401521' />
|
||||
<node id='-28843' action='modify' visible='true' lat='47.49343684819' lon='-93.39147761531' />
|
||||
<node id='-28844' action='modify' visible='true' lat='47.49346675114' lon='-93.39154668219' />
|
||||
<node id='-28845' action='modify' visible='true' lat='47.49348713951' lon='-93.39163519509' />
|
||||
<node id='-28846' action='modify' visible='true' lat='47.49352927544' lon='-93.39173108406' />
|
||||
<node id='-28847' action='modify' visible='true' lat='47.49363710703' lon='-93.39199326999' />
|
||||
<node id='-28848' action='modify' visible='true' lat='47.49364934001' lon='-93.39205160804' />
|
||||
<node id='-28849' action='modify' visible='true' lat='47.49364390313' lon='-93.39213274486' />
|
||||
<node id='-28850' action='modify' visible='true' lat='47.49362351483' lon='-93.39222393997' />
|
||||
<node id='-28851' action='modify' visible='true' lat='47.49359315889' lon='-93.39230507679' />
|
||||
<node id='-28852' action='modify' visible='true' lat='47.49357095827' lon='-93.3923821903' />
|
||||
<node id='-28853' action='modify' visible='true' lat='47.49357322364' lon='-93.39246131547' />
|
||||
<node id='-28856' action='modify' visible='true' lat='47.49361082877' lon='-93.39263096519' />
|
||||
<node id='-28857' action='modify' visible='true' lat='47.4936461685' lon='-93.39272685416' />
|
||||
<node id='-28858' action='modify' visible='true' lat='47.4936901166' lon='-93.39279525049' />
|
||||
<node id='-28859' action='modify' visible='true' lat='47.49371639482' lon='-93.39287303455' />
|
||||
<node id='-28860' action='modify' visible='true' lat='47.49375943672' lon='-93.39299708672' />
|
||||
<node id='-28861' action='modify' visible='true' lat='47.49383872432' lon='-93.39310772784' />
|
||||
<node id='-28862' action='modify' visible='true' lat='47.49391257496' lon='-93.39322038062' />
|
||||
<node id='-28863' action='modify' visible='true' lat='47.49399775225' lon='-93.39337259598' />
|
||||
<node id='-28864' action='modify' visible='true' lat='47.49405257373' lon='-93.39346848495' />
|
||||
<node id='-28865' action='modify' visible='true' lat='47.49410920743' lon='-93.39352481134' />
|
||||
<node id='-28866' action='modify' visible='true' lat='47.49416040424' lon='-93.3935871727' />
|
||||
<node id='-28867' action='modify' visible='true' lat='47.4942374259' lon='-93.39366696842' />
|
||||
<node id='-28868' action='modify' visible='true' lat='47.49431172904' lon='-93.39369513161' />
|
||||
<node id='-28869' action='modify' visible='true' lat='47.49439826489' lon='-93.39369915493' />
|
||||
<node id='-28870' action='modify' visible='true' lat='47.49453599704' lon='-93.39370116659' />
|
||||
<node id='-28871' action='modify' visible='true' lat='47.49467101043' lon='-93.39371390708' />
|
||||
<node id='-28872' action='modify' visible='true' lat='47.49476252939' lon='-93.39373536475' />
|
||||
<node id='-28873' action='modify' visible='true' lat='47.49482958278' lon='-93.39372731812' />
|
||||
<node id='-28874' action='modify' visible='true' lat='47.4948830442' lon='-93.39368239112' />
|
||||
<node id='-28875' action='modify' visible='true' lat='47.49490705652' lon='-93.39367032118' />
|
||||
<node id='-28876' action='modify' visible='true' lat='47.49498362402' lon='-93.39365825124' />
|
||||
<node id='-28877' action='modify' visible='true' lat='47.4950556608' lon='-93.39368306167' />
|
||||
<node id='-28878' action='modify' visible='true' lat='47.49512724442' lon='-93.39374072917' />
|
||||
<node id='-28879' action='modify' visible='true' lat='47.49518976674' lon='-93.39382052489' />
|
||||
<node id='-28880' action='modify' visible='true' lat='47.49527494196' lon='-93.39387752183' />
|
||||
<node id='-28881' action='modify' visible='true' lat='47.4953791455' lon='-93.3939130611' />
|
||||
<node id='-28882' action='modify' visible='true' lat='47.49548742635' lon='-93.39393988319' />
|
||||
<node id='-28883' action='modify' visible='true' lat='47.49554949518' lon='-93.39399889179' />
|
||||
<node id='-28884' action='modify' visible='true' lat='47.49559887837' lon='-93.39408740468' />
|
||||
<node id='-28885' action='modify' visible='true' lat='47.49562606175' lon='-93.39410282739' />
|
||||
<node id='-28886' action='modify' visible='true' lat='47.49547564685' lon='-93.39456282623' />
|
||||
<node id='-28887' action='modify' visible='true' lat='47.4954149371' lon='-93.39427515931' />
|
||||
<node id='-28888' action='modify' visible='true' lat='47.4968502069' lon='-93.39479148656' />
|
||||
<node id='-28894' action='modify' visible='true' lat='47.49482369295' lon='-93.39405387707' />
|
||||
<node id='-28895' action='modify' visible='true' lat='47.49480239898' lon='-93.39433685012' />
|
||||
<node id='-28896' action='modify' visible='true' lat='47.49480375817' lon='-93.39458964832' />
|
||||
<node id='-28897' action='modify' visible='true' lat='47.49482323989' lon='-93.39486926861' />
|
||||
<node id='-28898' action='modify' visible='true' lat='47.49482595827' lon='-93.3951488889' />
|
||||
<node id='-28899' action='modify' visible='true' lat='47.49481146025' lon='-93.39541442759' />
|
||||
<node id='-28900' action='modify' visible='true' lat='47.49476796615' lon='-93.39580871232' />
|
||||
<node id='-28901' action='modify' visible='true' lat='47.49471042703' lon='-93.39618086882' />
|
||||
<node id='-28902' action='modify' visible='true' lat='47.49466466753' lon='-93.39645445414' />
|
||||
<node id='-28903' action='modify' visible='true' lat='47.49463884284' lon='-93.39659661122' />
|
||||
<node id='-28904' action='modify' visible='true' lat='47.49462434477' lon='-93.39685343273' />
|
||||
<node id='-28905' action='modify' visible='true' lat='47.49494466114' lon='-93.39345172182' />
|
||||
<node id='-28906' action='modify' visible='true' lat='47.49501805716' lon='-93.3932974948' />
|
||||
<node id='-28907' action='modify' visible='true' lat='47.4951829713' lon='-93.39318886533' />
|
||||
<node id='-28908' action='modify' visible='true' lat='47.49533248092' lon='-93.39310571685' />
|
||||
<node id='-28909' action='modify' visible='true' lat='47.49547202284' lon='-93.3929997696' />
|
||||
<node id='-28910' action='modify' visible='true' lat='47.49554451201' lon='-93.39280396834' />
|
||||
<node id='-28911' action='modify' visible='true' lat='47.49561337663' lon='-93.39251563087' />
|
||||
<node id='-28912' action='modify' visible='true' lat='47.49565596391' lon='-93.39218840137' />
|
||||
<node id='-28913' action='modify' visible='true' lat='47.4956704617' lon='-93.39181423321' />
|
||||
<node id='-28914' action='modify' visible='true' lat='47.49574113837' lon='-93.39134886995' />
|
||||
<node id='-28915' action='modify' visible='true' lat='47.49569537931' lon='-93.38705062933' />
|
||||
<node id='-28916' action='modify' visible='true' lat='47.49534063552' lon='-93.38618226416' />
|
||||
<node id='-28917' action='modify' visible='true' lat='47.49511908933' lon='-93.38640421696' />
|
||||
<node id='-28918' action='modify' visible='true' lat='47.4951675668' lon='-93.38691115446' />
|
||||
<node id='-28919' action='modify' visible='true' lat='47.49496414236' lon='-93.38715523548' />
|
||||
<node id='-28920' action='modify' visible='true' lat='47.49233767679' lon='-93.38983208075' />
|
||||
<node id='-28921' action='modify' visible='true' lat='47.49272279733' lon='-93.3892808868' />
|
||||
<node id='-28922' action='modify' visible='true' lat='47.49308888576' lon='-93.38870152965' />
|
||||
<node id='-28923' action='modify' visible='true' lat='47.49339788416' lon='-93.3885084106' />
|
||||
<node id='-28924' action='modify' visible='true' lat='47.49355011731' lon='-93.38822811976' />
|
||||
<node id='-28925' action='modify' visible='true' lat='47.49382105498' lon='-93.38758304849' />
|
||||
<node id='-28926' action='modify' visible='true' lat='47.49398053603' lon='-93.38707611099' />
|
||||
<node id='-28927' action='modify' visible='true' lat='47.49411826927' lon='-93.3865155293' />
|
||||
<node id='-28928' action='modify' visible='true' lat='47.49428046782' lon='-93.38604077831' />
|
||||
<node id='-28929' action='modify' visible='true' lat='47.49249353768' lon='-93.38616550103' />
|
||||
<node id='-28930' action='modify' visible='true' lat='47.49232680231' lon='-93.38652558692' />
|
||||
<node id='-28934' action='modify' visible='true' lat='47.49257373291' lon='-93.38916622169' />
|
||||
<node id='-28935' action='modify' visible='true' lat='47.49247949164' lon='-93.38887788422' />
|
||||
<node id='-28937' action='modify' visible='true' lat='47.49243217496' lon='-93.38873311588' />
|
||||
<node id='-28938' action='modify' visible='true' lat='47.49239306557' lon='-93.38857613521' />
|
||||
<node id='-28939' action='modify' visible='true' lat='47.49235580017' lon='-93.38830322161' />
|
||||
<node id='-28940' action='modify' visible='true' lat='47.49229329187' lon='-93.38784544163' />
|
||||
<node id='-28941' action='modify' visible='true' lat='47.49223852818' lon='-93.38744437991' />
|
||||
<node id='-28942' action='modify' visible='true' lat='47.49217816095' lon='-93.38702786106' />
|
||||
<node id='-28950' action='modify' visible='true' lat='47.49188187166' lon='-93.38743016258' />
|
||||
<node id='-28951' action='modify' visible='true' lat='47.49182025158' lon='-93.3871673061' />
|
||||
<node id='-28952' action='modify' visible='true' lat='47.49172691514' lon='-93.38706404105' />
|
||||
<node id='-28953' action='modify' visible='true' lat='47.49169791737' lon='-93.38686823979' />
|
||||
<node id='-28954' action='modify' visible='true' lat='47.49167526286' lon='-93.38671401277' />
|
||||
<node id='-28955' action='modify' visible='true' lat='47.49166982577' lon='-93.38670060173' />
|
||||
<node id='-28956' action='modify' visible='true' lat='47.49163720326' lon='-93.38592678443' />
|
||||
<node id='-28957' action='modify' visible='true' lat='47.49164445271' lon='-93.38556736842' />
|
||||
<node id='-28958' action='modify' visible='true' lat='47.49167435668' lon='-93.38533938065' />
|
||||
<node id='-28959' action='modify' visible='true' lat='47.49171151008' lon='-93.38517040148' />
|
||||
<node id='-28960' action='modify' visible='true' lat='47.49169157411' lon='-93.38502824441' />
|
||||
<node id='-28961' action='modify' visible='true' lat='47.49162723526' lon='-93.38493034378' />
|
||||
<node id='-28962' action='modify' visible='true' lat='47.49153752321' lon='-93.38482841983' />
|
||||
<node id='-28963' action='modify' visible='true' lat='47.49143693679' lon='-93.38476136461' />
|
||||
<node id='-28964' action='modify' visible='true' lat='47.49133725636' lon='-93.38470369712' />
|
||||
<node id='-28965' action='modify' visible='true' lat='47.49132366356' lon='-93.3846393241' />
|
||||
<node id='-28967' action='modify' visible='true' lat='47.49198970663' lon='-93.38783517614' />
|
||||
<node id='-28968' action='modify' visible='true' lat='47.49204679564' lon='-93.38822946087' />
|
||||
<node id='-28969' action='modify' visible='true' lat='47.49209210434' lon='-93.38849365845' />
|
||||
<node id='-28970' action='modify' visible='true' lat='47.49214194386' lon='-93.38873371616' />
|
||||
<node id='-28971' action='modify' visible='true' lat='47.49216550434' lon='-93.38900998369' />
|
||||
<node id='-28972' action='modify' visible='true' lat='47.49219631419' lon='-93.38923931256' />
|
||||
<node id='-28973' action='modify' visible='true' lat='47.49232952127' lon='-93.38937744632' />
|
||||
<node id='-28974' action='modify' visible='true' lat='47.49250984868' lon='-93.38945254818' />
|
||||
<node id='-28975' action='modify' visible='true' lat='47.49261457027' lon='-93.38943559174' />
|
||||
<node id='-28984' action='modify' visible='true' lat='47.49229236785' lon='-93.3895115561' />
|
||||
<node id='-28985' action='modify' visible='true' lat='47.49208530758' lon='-93.38908642597' />
|
||||
<node id='-28986' action='modify' visible='true' lat='47.49194303813' lon='-93.38903009959' />
|
||||
<node id='-28987' action='modify' visible='true' lat='47.49183973395' lon='-93.38894561' />
|
||||
<node id='-28988' action='modify' visible='true' lat='47.49170380709' lon='-93.38876120813' />
|
||||
<node id='-28989' action='modify' visible='true' lat='47.49155023425' lon='-93.38871077782' />
|
||||
<node id='-28990' action='modify' visible='true' lat='47.49138097916' lon='-93.38868074153' />
|
||||
<node id='-28991' action='modify' visible='true' lat='47.49129896917' lon='-93.3885699326' />
|
||||
<node id='-28992' action='modify' visible='true' lat='47.49122522814' lon='-93.38838787766' />
|
||||
<node id='-28993' action='modify' visible='true' lat='47.49115975598' lon='-93.38823851215' />
|
||||
<node id='-28994' action='modify' visible='true' lat='47.49109349082' lon='-93.38809199648' />
|
||||
<node id='-28995' action='modify' visible='true' lat='47.49101555836' lon='-93.38796375336' />
|
||||
<node id='-28996' action='modify' visible='true' lat='47.49093932489' lon='-93.38786400871' />
|
||||
<node id='-28997' action='modify' visible='true' lat='47.49086558335' lon='-93.38779712113' />
|
||||
<node id='-28998' action='modify' visible='true' lat='47.49078006115' lon='-93.38778220134' />
|
||||
<node id='-28999' action='modify' visible='true' lat='47.49073962213' lon='-93.38778320717' />
|
||||
<node id='-29000' action='modify' visible='true' lat='47.49062838635' lon='-93.38774465041' />
|
||||
<node id='-29001' action='modify' visible='true' lat='47.4904867926' lon='-93.38772805424' />
|
||||
<node id='-29002' action='modify' visible='true' lat='47.49041769471' lon='-93.38771212863' />
|
||||
<node id='-29003' action='modify' visible='true' lat='47.49032967973' lon='-93.38768916221' />
|
||||
<node id='-29004' action='modify' visible='true' lat='47.49027032333' lon='-93.387676757' />
|
||||
<node id='-29005' action='modify' visible='true' lat='47.49020077206' lon='-93.38766669871' />
|
||||
<node id='-29006' action='modify' visible='true' lat='47.49015580156' lon='-93.3876661958' />
|
||||
<node id='-29007' action='modify' visible='true' lat='47.49002870622' lon='-93.38748447664' />
|
||||
<node id='-29008' action='modify' visible='true' lat='47.48993446038' lon='-93.38732019134' />
|
||||
<node id='-29009' action='modify' visible='true' lat='47.48986513521' lon='-93.38713444836' />
|
||||
<node id='-29010' action='modify' visible='true' lat='47.48982254324' lon='-93.38703788884' />
|
||||
<node id='-29011' action='modify' visible='true' lat='47.48981755907' lon='-93.38698491521' />
|
||||
<node id='-29012' action='modify' visible='true' lat='47.48994895975' lon='-93.38680923052' />
|
||||
<node id='-29013' action='modify' visible='true' lat='47.4900790008' lon='-93.3866690851' />
|
||||
<node id='-29014' action='modify' visible='true' lat='47.490149685' lon='-93.38652558692' />
|
||||
<node id='-29015' action='modify' visible='true' lat='47.49019499533' lon='-93.38649004765' />
|
||||
<node id='-29016' action='modify' visible='true' lat='47.4904614193' lon='-93.38637471266' />
|
||||
<node id='-29017' action='modify' visible='true' lat='47.49028742829' lon='-93.38641159303' />
|
||||
<node id='-29018' action='modify' visible='true' lat='47.4902715697' lon='-93.38629961081' />
|
||||
<node id='-29019' action='modify' visible='true' lat='47.49016010638' lon='-93.38603206046' />
|
||||
<node id='-29020' action='modify' visible='true' lat='47.49004954902' lon='-93.3860890574' />
|
||||
<node id='-29021' action='modify' visible='true' lat='47.49014560707' lon='-93.38633112676' />
|
||||
<node id='-29022' action='modify' visible='true' lat='47.49009848428' lon='-93.38646456666' />
|
||||
<node id='-29023' action='modify' visible='true' lat='47.49042517122' lon='-93.38607430525' />
|
||||
<node id='-29024' action='modify' visible='true' lat='47.4901247643' lon='-93.38565722175' />
|
||||
<node id='-29025' action='modify' visible='true' lat='47.48979037267' lon='-93.38529579408' />
|
||||
<node id='-29026' action='modify' visible='true' lat='47.48965172186' lon='-93.38636130162' />
|
||||
<node id='-29027' action='modify' visible='true' lat='47.49009803117' lon='-93.38661678202' />
|
||||
<node id='-29028' action='modify' visible='true' lat='47.48989549331' lon='-93.38652625747' />
|
||||
<node id='-29029' action='modify' visible='true' lat='47.48989775883' lon='-93.38662281699' />
|
||||
<node id='-29030' action='modify' visible='true' lat='47.49003347263' lon='-93.38658792746' />
|
||||
<node id='-29032' action='modify' visible='true' lat='47.48960187998' lon='-93.38693462379' />
|
||||
<node id='-29041' action='modify' visible='true' lat='47.49016826269' lon='-93.38799208537' />
|
||||
<node id='-29042' action='modify' visible='true' lat='47.49021447922' lon='-93.38834747806' />
|
||||
<node id='-29043' action='modify' visible='true' lat='47.49017007465' lon='-93.38856540687' />
|
||||
<node id='-29044' action='modify' visible='true' lat='47.49008353184' lon='-93.38862508602' />
|
||||
<node id='-29045' action='modify' visible='true' lat='47.48996481844' lon='-93.38861905105' />
|
||||
<node id='-29046' action='modify' visible='true' lat='47.48984972961' lon='-93.388720975' />
|
||||
<node id='-29047' action='modify' visible='true' lat='47.48978040433' lon='-93.38895700939' />
|
||||
<node id='-29048' action='modify' visible='true' lat='47.48969204845' lon='-93.3891085542' />
|
||||
<node id='-29049' action='modify' visible='true' lat='47.48956744374' lon='-93.38922120698' />
|
||||
<node id='-29050' action='modify' visible='true' lat='47.48952077354' lon='-93.38926747508' />
|
||||
<node id='-29051' action='modify' visible='true' lat='47.48941248039' lon='-93.38922254808' />
|
||||
<node id='-29052' action='modify' visible='true' lat='47.48932321767' lon='-93.38928356834' />
|
||||
<node id='-29053' action='modify' visible='true' lat='47.48925570414' lon='-93.38942974873' />
|
||||
<node id='-29054' action='modify' visible='true' lat='47.48917459716' lon='-93.38964231379' />
|
||||
<node id='-29055' action='modify' visible='true' lat='47.48910980212' lon='-93.38982403345' />
|
||||
<node id='-29056' action='modify' visible='true' lat='47.48906041283' lon='-93.38985018499' />
|
||||
<node id='-29057' action='modify' visible='true' lat='47.48899697698' lon='-93.38981866904' />
|
||||
<node id='-29058' action='modify' visible='true' lat='47.48893354106' lon='-93.3897630132' />
|
||||
<node id='-29059' action='modify' visible='true' lat='47.48886013654' lon='-93.38976904817' />
|
||||
<node id='-29073' action='modify' visible='true' lat='47.48946594733' lon='-93.3892433352' />
|
||||
<node id='-29081' action='modify' visible='true' lat='47.48955022561' lon='-93.38925071128' />
|
||||
<node id='-29095' action='modify' visible='true' lat='47.48949268078' lon='-93.38925942846' />
|
||||
<node id='-29104' action='modify' visible='true' lat='47.49013110775' lon='-93.38860228725' />
|
||||
<node id='-29114' action='modify' visible='true' lat='47.49020315119' lon='-93.38846482404' />
|
||||
<node id='-29127' action='modify' visible='true' lat='47.49002326896' lon='-93.38861502774' />
|
||||
<node id='-29139' action='modify' visible='true' lat='47.48990138368' lon='-93.38865794308' />
|
||||
<node id='-29140' action='modify' visible='true' lat='47.49004229935' lon='-93.38800013132' />
|
||||
<node id='-29141' action='modify' visible='true' lat='47.48986151037' lon='-93.3878291405' />
|
||||
<node id='-29142' action='modify' visible='true' lat='47.48976771734' lon='-93.38777214356' />
|
||||
<node id='-29143' action='modify' visible='true' lat='47.48968797048' lon='-93.38770575888' />
|
||||
<node id='-29144' action='modify' visible='true' lat='47.48960459863' lon='-93.38771715827' />
|
||||
<node id='-29145' action='modify' visible='true' lat='47.48953119505' lon='-93.38777549632' />
|
||||
<node id='-29146' action='modify' visible='true' lat='47.48935856029' lon='-93.38790290125' />
|
||||
<node id='-29148' action='modify' visible='true' lat='47.49483366034' lon='-93.39331224628' />
|
||||
<node id='-29149' action='modify' visible='true' lat='47.4947711376' lon='-93.39289382167' />
|
||||
<node id='-29150' action='modify' visible='true' lat='47.49472990879' lon='-93.39265309341' />
|
||||
<node id='-29151' action='modify' visible='true' lat='47.49466149608' lon='-93.39230239458' />
|
||||
<node id='-29152' action='modify' visible='true' lat='47.49457631987' lon='-93.39198790558' />
|
||||
<node id='-29153' action='modify' visible='true' lat='47.49452104587' lon='-93.39180819757' />
|
||||
<node id='-29154' action='modify' visible='true' lat='47.49449567417' lon='-93.39160300858' />
|
||||
<node id='-29155' action='modify' visible='true' lat='47.49449114351' lon='-93.3913093067' />
|
||||
<node id='-29162' action='modify' visible='true' lat='47.49262674355' lon='-93.38995210893' />
|
||||
<node id='-29163' action='modify' visible='true' lat='47.49264441375' lon='-93.39026726849' />
|
||||
<way id='-598' action='modify' visible='true'>
|
||||
<nd ref='-28768' />
|
||||
<nd ref='-28769' />
|
||||
<nd ref='-28770' />
|
||||
<nd ref='-28771' />
|
||||
<nd ref='-28772' />
|
||||
<nd ref='-28773' />
|
||||
<nd ref='-28774' />
|
||||
<nd ref='-28775' />
|
||||
<nd ref='-28776' />
|
||||
<nd ref='-28777' />
|
||||
<nd ref='-28778' />
|
||||
<nd ref='-28779' />
|
||||
<nd ref='-28780' />
|
||||
<tag k='type' v='road' />
|
||||
</way>
|
||||
<way id='-610' action='modify' visible='true'>
|
||||
<nd ref='-28885' />
|
||||
<nd ref='-28884' />
|
||||
<nd ref='-28883' />
|
||||
<nd ref='-28882' />
|
||||
<nd ref='-28881' />
|
||||
<nd ref='-28880' />
|
||||
<nd ref='-28879' />
|
||||
<nd ref='-28878' />
|
||||
<nd ref='-28877' />
|
||||
<nd ref='-28876' />
|
||||
<nd ref='-28875' />
|
||||
<nd ref='-28874' />
|
||||
<nd ref='-28873' />
|
||||
<nd ref='-28872' />
|
||||
<nd ref='-28871' />
|
||||
<nd ref='-28870' />
|
||||
<nd ref='-28869' />
|
||||
<nd ref='-28868' />
|
||||
<nd ref='-28867' />
|
||||
<nd ref='-28866' />
|
||||
<nd ref='-28865' />
|
||||
<nd ref='-28864' />
|
||||
<nd ref='-28863' />
|
||||
<nd ref='-28862' />
|
||||
<nd ref='-28861' />
|
||||
<nd ref='-28860' />
|
||||
<nd ref='-28859' />
|
||||
<nd ref='-28858' />
|
||||
<nd ref='-28857' />
|
||||
<nd ref='-28856' />
|
||||
<nd ref='-28853' />
|
||||
<nd ref='-28852' />
|
||||
<nd ref='-28851' />
|
||||
<nd ref='-28850' />
|
||||
<nd ref='-28849' />
|
||||
<nd ref='-28848' />
|
||||
<nd ref='-28847' />
|
||||
<nd ref='-28846' />
|
||||
<nd ref='-28845' />
|
||||
<nd ref='-28844' />
|
||||
<nd ref='-28843' />
|
||||
<nd ref='-28842' />
|
||||
<nd ref='-28841' />
|
||||
<nd ref='-28840' />
|
||||
<nd ref='-28773' />
|
||||
<nd ref='-28781' />
|
||||
<nd ref='-28782' />
|
||||
<nd ref='-28783' />
|
||||
<nd ref='-28784' />
|
||||
<nd ref='-28785' />
|
||||
<nd ref='-28786' />
|
||||
<nd ref='-28787' />
|
||||
<nd ref='-28789' />
|
||||
<nd ref='-28790' />
|
||||
<nd ref='-28792' />
|
||||
<nd ref='-28793' />
|
||||
<nd ref='-28789' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-624' action='modify' visible='true'>
|
||||
<nd ref='-28792' />
|
||||
<nd ref='-28806' />
|
||||
<nd ref='-28794' />
|
||||
<nd ref='-28795' />
|
||||
<nd ref='-28796' />
|
||||
<nd ref='-28797' />
|
||||
<nd ref='-28798' />
|
||||
<nd ref='-28799' />
|
||||
<nd ref='-28800' />
|
||||
<nd ref='-28801' />
|
||||
<nd ref='-28802' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-633' action='modify' visible='true'>
|
||||
<nd ref='-28793' />
|
||||
<nd ref='-28803' />
|
||||
<nd ref='-28804' />
|
||||
<nd ref='-28805' />
|
||||
<nd ref='-28792' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-637' action='modify' visible='true'>
|
||||
<nd ref='-28805' />
|
||||
<nd ref='-28806' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-639' action='modify' visible='true'>
|
||||
<nd ref='-28804' />
|
||||
<nd ref='-28807' />
|
||||
<nd ref='-28808' />
|
||||
<nd ref='-28809' />
|
||||
<nd ref='-28810' />
|
||||
<nd ref='-28811' />
|
||||
<nd ref='-28812' />
|
||||
<nd ref='-28813' />
|
||||
<nd ref='-28814' />
|
||||
<nd ref='-28815' />
|
||||
<nd ref='-28816' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-650' action='modify' visible='true'>
|
||||
<nd ref='-28821' />
|
||||
<nd ref='-28819' />
|
||||
<nd ref='-28816' />
|
||||
<nd ref='-28818' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-656' action='modify' visible='true'>
|
||||
<nd ref='-28816' />
|
||||
<nd ref='-28817' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-780' action='modify' visible='true'>
|
||||
<nd ref='-28886' />
|
||||
<nd ref='-28885' />
|
||||
<nd ref='-28887' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-782' action='modify' visible='true'>
|
||||
<nd ref='-28888' />
|
||||
<nd ref='-28885' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-803' action='modify' visible='true'>
|
||||
<nd ref='-28807' />
|
||||
<nd ref='-28914' />
|
||||
<nd ref='-28913' />
|
||||
<nd ref='-28912' />
|
||||
<nd ref='-28911' />
|
||||
<nd ref='-28910' />
|
||||
<nd ref='-28909' />
|
||||
<nd ref='-28908' />
|
||||
<nd ref='-28907' />
|
||||
<nd ref='-28906' />
|
||||
<nd ref='-28905' />
|
||||
<nd ref='-28875' />
|
||||
<nd ref='-28894' />
|
||||
<nd ref='-28895' />
|
||||
<nd ref='-28896' />
|
||||
<nd ref='-28897' />
|
||||
<nd ref='-28898' />
|
||||
<nd ref='-28899' />
|
||||
<nd ref='-28900' />
|
||||
<nd ref='-28901' />
|
||||
<nd ref='-28902' />
|
||||
<nd ref='-28903' />
|
||||
<nd ref='-28904' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-838' action='modify' visible='true'>
|
||||
<nd ref='-28915' />
|
||||
<nd ref='-28802' />
|
||||
<nd ref='-28916' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-840' action='modify' visible='true'>
|
||||
<nd ref='-28917' />
|
||||
<nd ref='-28918' />
|
||||
<nd ref='-28802' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-842' action='modify' visible='true'>
|
||||
<nd ref='-28919' />
|
||||
<nd ref='-28918' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-869' action='modify' visible='true'>
|
||||
<nd ref='-28780' />
|
||||
<nd ref='-28920' />
|
||||
<nd ref='-28975' />
|
||||
<nd ref='-28921' />
|
||||
<nd ref='-28922' />
|
||||
<nd ref='-28923' />
|
||||
<nd ref='-28924' />
|
||||
<nd ref='-28925' />
|
||||
<nd ref='-28926' />
|
||||
<nd ref='-28927' />
|
||||
<nd ref='-28928' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-873' action='modify' visible='true'>
|
||||
<nd ref='-28929' />
|
||||
<nd ref='-28930' />
|
||||
<nd ref='-28942' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-889' action='modify' visible='true'>
|
||||
<nd ref='-28975' />
|
||||
<nd ref='-28934' />
|
||||
<nd ref='-28935' />
|
||||
<nd ref='-28937' />
|
||||
<nd ref='-28938' />
|
||||
<nd ref='-28939' />
|
||||
<nd ref='-28940' />
|
||||
<nd ref='-28941' />
|
||||
<nd ref='-28942' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-918' action='modify' visible='true'>
|
||||
<nd ref='-28942' />
|
||||
<nd ref='-28950' />
|
||||
<nd ref='-28951' />
|
||||
<nd ref='-28952' />
|
||||
<nd ref='-28953' />
|
||||
<nd ref='-28954' />
|
||||
<nd ref='-28955' />
|
||||
<nd ref='-28956' />
|
||||
<nd ref='-28957' />
|
||||
<nd ref='-28958' />
|
||||
<nd ref='-28959' />
|
||||
<nd ref='-28960' />
|
||||
<nd ref='-28961' />
|
||||
<nd ref='-28962' />
|
||||
<nd ref='-28963' />
|
||||
<nd ref='-28964' />
|
||||
<nd ref='-28965' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-944' action='modify' visible='true'>
|
||||
<nd ref='-28950' />
|
||||
<nd ref='-28967' />
|
||||
<nd ref='-28968' />
|
||||
<nd ref='-28969' />
|
||||
<nd ref='-28970' />
|
||||
<nd ref='-28971' />
|
||||
<nd ref='-28972' />
|
||||
<nd ref='-28973' />
|
||||
<nd ref='-28974' />
|
||||
<nd ref='-28975' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-966' action='modify' visible='true'>
|
||||
<nd ref='-28920' />
|
||||
<nd ref='-28984' />
|
||||
<nd ref='-28972' />
|
||||
<nd ref='-28985' />
|
||||
<nd ref='-28986' />
|
||||
<nd ref='-28987' />
|
||||
<nd ref='-28988' />
|
||||
<nd ref='-28989' />
|
||||
<nd ref='-28990' />
|
||||
<nd ref='-28991' />
|
||||
<nd ref='-28992' />
|
||||
<nd ref='-28993' />
|
||||
<nd ref='-28994' />
|
||||
<nd ref='-28995' />
|
||||
<nd ref='-28996' />
|
||||
<nd ref='-28997' />
|
||||
<nd ref='-28998' />
|
||||
<nd ref='-28999' />
|
||||
<nd ref='-29000' />
|
||||
<nd ref='-29001' />
|
||||
<nd ref='-29002' />
|
||||
<nd ref='-29003' />
|
||||
<nd ref='-29004' />
|
||||
<nd ref='-29005' />
|
||||
<nd ref='-29006' />
|
||||
<nd ref='-29007' />
|
||||
<nd ref='-29008' />
|
||||
<nd ref='-29009' />
|
||||
<nd ref='-29010' />
|
||||
<nd ref='-29011' />
|
||||
<nd ref='-29012' />
|
||||
<nd ref='-29013' />
|
||||
<nd ref='-29014' />
|
||||
<nd ref='-29015' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-1016' action='modify' visible='true'>
|
||||
<nd ref='-29016' />
|
||||
<nd ref='-29017' />
|
||||
<nd ref='-29018' />
|
||||
<nd ref='-29019' />
|
||||
<nd ref='-29020' />
|
||||
<nd ref='-29021' />
|
||||
<nd ref='-29022' />
|
||||
<nd ref='-29014' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1025' action='modify' visible='true'>
|
||||
<nd ref='-29015' />
|
||||
<nd ref='-29017' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1030' action='modify' visible='true'>
|
||||
<nd ref='-29018' />
|
||||
<nd ref='-29023' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1031' action='modify' visible='true'>
|
||||
<nd ref='-29024' />
|
||||
<nd ref='-29019' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1032' action='modify' visible='true'>
|
||||
<nd ref='-29025' />
|
||||
<nd ref='-29020' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1033' action='modify' visible='true'>
|
||||
<nd ref='-29022' />
|
||||
<nd ref='-29026' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1034' action='modify' visible='true'>
|
||||
<nd ref='-29027' />
|
||||
<nd ref='-29030' />
|
||||
<nd ref='-29028' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1035' action='modify' visible='true'>
|
||||
<nd ref='-29029' />
|
||||
<nd ref='-29030' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1051' action='modify' visible='true'>
|
||||
<nd ref='-29032' />
|
||||
<nd ref='-29011' />
|
||||
<tag k='type' v='shooting_lane' />
|
||||
</way>
|
||||
<way id='-1070' action='modify' visible='true'>
|
||||
<nd ref='-29006' />
|
||||
<nd ref='-29041' />
|
||||
<nd ref='-29042' />
|
||||
<nd ref='-29114' />
|
||||
<nd ref='-29043' />
|
||||
<nd ref='-29104' />
|
||||
<nd ref='-29044' />
|
||||
<nd ref='-29127' />
|
||||
<nd ref='-29045' />
|
||||
<nd ref='-29139' />
|
||||
<nd ref='-29046' />
|
||||
<nd ref='-29047' />
|
||||
<nd ref='-29048' />
|
||||
<nd ref='-29049' />
|
||||
<nd ref='-29081' />
|
||||
<nd ref='-29050' />
|
||||
<nd ref='-29095' />
|
||||
<nd ref='-29073' />
|
||||
<nd ref='-29051' />
|
||||
<nd ref='-29052' />
|
||||
<nd ref='-29053' />
|
||||
<nd ref='-29054' />
|
||||
<nd ref='-29055' />
|
||||
<nd ref='-29056' />
|
||||
<nd ref='-29057' />
|
||||
<nd ref='-29058' />
|
||||
<nd ref='-29059' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-1167' action='modify' visible='true'>
|
||||
<nd ref='-29041' />
|
||||
<nd ref='-29140' />
|
||||
<nd ref='-29141' />
|
||||
<nd ref='-29142' />
|
||||
<nd ref='-29143' />
|
||||
<nd ref='-29144' />
|
||||
<nd ref='-29145' />
|
||||
<nd ref='-29146' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-1205' action='modify' visible='true'>
|
||||
<nd ref='-28875' />
|
||||
<nd ref='-29148' />
|
||||
<nd ref='-29149' />
|
||||
<nd ref='-29150' />
|
||||
<nd ref='-29151' />
|
||||
<nd ref='-29152' />
|
||||
<nd ref='-29153' />
|
||||
<nd ref='-29154' />
|
||||
<nd ref='-29155' />
|
||||
<nd ref='-28789' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
<way id='-1230' action='modify' visible='true'>
|
||||
<nd ref='-28975' />
|
||||
<nd ref='-29162' />
|
||||
<nd ref='-29163' />
|
||||
<nd ref='-28776' />
|
||||
<tag k='type' v='trail' />
|
||||
</way>
|
||||
</osm>
|
||||
BIN
resources/deercamp.qgz
Normal file
BIN
resources/deercamp.qgz
Normal file
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell --quiet -p python3 -p python3Packages.requests -i python
|
||||
#! nix-shell --quiet -p python3 -p python3Packages.requests -i python
|
||||
|
||||
import json
|
||||
import sys
|
||||
|
|
@ -15,13 +15,7 @@ params={
|
|||
"f": "geojson",
|
||||
"returnGeometry": "true",
|
||||
"spatialRel": "esriSpatialRelIntersects",
|
||||
# {"xmin":-10397214.368951382,"ymin":6023763.834217183,"xmax":-10397185.705065776,"ymax":6023792.498102792,"spatialReference":{"wkid":102100}}
|
||||
# {"xmin":-10395523.199700572,"ymin":6021824.244624444,"xmax":-10395465.871929357,"ymax":6021881.572395659,"spatialReference":{"wkid":102100}}
|
||||
"geometry": json.dumps({
|
||||
# "xmin": -10397313.413735004,
|
||||
# "ymin": 6024888.239059315,
|
||||
# "xmax": -10395148.64317237,
|
||||
# "ymax": 6021777.960551391,
|
||||
"geometry": json.dumps({ # TODO: why do I need json.dumps here?
|
||||
"xmin": -10397214.368951382,
|
||||
"xmax": -10395465.871929357,
|
||||
"ymin": 6021824.244624444,
|
||||
|
|
|
|||
88
turf.min.js
vendored
Normal file
88
turf.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue