@pascal-app/editor 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -0
- package/package.json +42 -38
- package/src/components/editor/__bench__/room-label-placement.bench.ts +108 -0
- package/src/components/editor/action-menu-button.tsx +83 -0
- package/src/components/editor/bake-thumbnail.tsx +307 -5
- package/src/components/editor/capture-level-picker.tsx +72 -0
- package/src/components/editor/construction-reveal-audio.test.tsx +150 -0
- package/src/components/editor/construction-reveal-audio.tsx +40 -0
- package/src/components/editor/custom-camera-controls.tsx +275 -57
- package/src/components/editor/delete-confirmation-dialog.tsx +297 -7
- package/src/components/editor/duplicate-node.ts +244 -0
- package/src/components/editor/editor-layout-mobile.tsx +37 -26
- package/src/components/editor/editor-layout-v2.tsx +132 -59
- package/src/components/editor/export-manager.tsx +47 -26
- package/src/components/editor/first-person/build-collider-world.test.ts +320 -0
- package/src/components/editor/first-person/build-collider-world.ts +28 -7
- package/src/components/editor/first-person/ground-holes.test.ts +128 -0
- package/src/components/editor/first-person/ground-holes.ts +130 -0
- package/src/components/editor/first-person/mechanism-targets.test.ts +162 -0
- package/src/components/editor/first-person/mechanism-targets.ts +88 -0
- package/src/components/editor/first-person-controls.tsx +220 -9
- package/src/components/editor/floating-action-menu.tsx +63 -207
- package/src/components/editor/floor-aware-camera-controls.test.ts +466 -0
- package/src/components/editor/floor-aware-camera-controls.ts +324 -0
- package/src/components/editor/floor-openings-overlay.tsx +243 -0
- package/src/components/editor/floor-region-controls.tsx +846 -0
- package/src/components/editor/floor-region-webgpu-materials.test.ts +12 -0
- package/src/components/editor/floor-surface.test.ts +165 -0
- package/src/components/editor/floor-surface.ts +182 -0
- package/src/components/editor/floorplan-background-selection.test.ts +11 -2
- package/src/components/editor/floorplan-background-selection.ts +1 -3
- package/src/components/editor/floorplan-mode-coordinator.tsx +2 -2
- package/src/components/editor/floorplan-panel.tsx +414 -363
- package/src/components/editor/follow-pascal.test.tsx +912 -0
- package/src/components/editor/follow-pascal.tsx +354 -0
- package/src/components/editor/footprint-height-handle.tsx +204 -0
- package/src/components/editor/group-actions.ts +56 -2
- package/src/components/editor/group-move-3d.ts +2 -0
- package/src/components/editor/group-rotate-handle.tsx +2 -0
- package/src/components/editor/group-transform-shared.test.ts +460 -0
- package/src/components/editor/handles/handle-hit-priority.test.tsx +63 -0
- package/src/components/editor/handles/handle-hit-priority.tsx +37 -0
- package/src/components/editor/handles/swallow-next-click.test.ts +28 -0
- package/src/components/editor/handles/use-handle-drag.ts +269 -197
- package/src/components/editor/index.tsx +409 -197
- package/src/components/editor/join-walls-pill.tsx +44 -0
- package/src/components/editor/node-action-menu.tsx +68 -70
- package/src/components/editor/node-arrow-handles.tsx +25 -6
- package/src/components/editor/open-wall-ends-3d-layer.tsx +273 -0
- package/src/components/editor/open-wall-ends-hint.tsx +89 -0
- package/src/components/editor/quick-measurement-hud.tsx +3 -2
- package/src/components/editor/registry-action-contributions.test.tsx +63 -0
- package/src/components/editor/registry-action-contributions.tsx +80 -1
- package/src/components/editor/riser-diagram-panel.tsx +14 -7
- package/src/components/editor/room-controls.tsx +847 -0
- package/src/components/editor/room-floor-highlight.tsx +128 -0
- package/src/components/editor/room-handles-2d.tsx +354 -0
- package/src/components/editor/room-handles.tsx +675 -0
- package/src/components/editor/room-highlight.tsx +233 -0
- package/src/components/editor/room-labels.test.ts +850 -0
- package/src/components/editor/room-labels.tsx +1890 -0
- package/src/components/editor/room-transform-ghost.tsx +256 -0
- package/src/components/editor/room-webgpu-materials.test.ts +27 -0
- package/src/components/editor/selection-manager.tsx +474 -419
- package/src/components/editor/slab-hole-highlights.tsx +5 -2
- package/src/components/editor/snapshot-capture-overlay.tsx +7 -2
- package/src/components/editor/snapshot-capture.test.ts +119 -60
- package/src/components/editor/snapshot-capture.ts +36 -5
- package/src/components/editor/thumbnail-generator.test.ts +654 -0
- package/src/components/editor/thumbnail-generator.tsx +1103 -223
- package/src/components/editor/use-floorplan-background-placement.ts +34 -12
- package/src/components/editor/vector-edge-extractor.tsx +121 -0
- package/src/components/editor/views/host-view.tsx +61 -0
- package/src/components/editor/views/plugins-view.tsx +663 -0
- package/src/components/editor/views/scene-region.tsx +59 -0
- package/src/components/editor/views/use-editor-views.ts +57 -0
- package/src/components/editor/views/view-bar.test.tsx +54 -0
- package/src/components/editor/views/view-bar.tsx +343 -0
- package/src/components/editor/wall-justification.test.ts +140 -0
- package/src/components/editor/wall-move-side-handles.tsx +43 -142
- package/src/components/editor/wall-push-arrow.tsx +92 -0
- package/src/components/editor/wall-region-handles.tsx +509 -0
- package/src/components/editor/wall-snap-beacon-layer.tsx +8 -4
- package/src/components/editor-2d/floorplan-cursor-indicator-overlay.tsx +8 -4
- package/src/components/editor-2d/floorplan-group-move.tsx +3 -0
- package/src/components/editor-2d/floorplan-open-wall-ends-layer.test.tsx +86 -0
- package/src/components/editor-2d/floorplan-open-wall-ends-layer.tsx +290 -0
- package/src/components/editor-2d/floorplan-registered-tool-layer.tsx +2 -2
- package/src/components/editor-2d/floorplan-registry-action-menu.tsx +11 -1
- package/src/components/editor-2d/floorplan-registry-move-overlay.tsx +116 -106
- package/src/components/editor-2d/renderers/floorplan-dimension-edit-overlay.test.ts +156 -0
- package/src/components/editor-2d/renderers/floorplan-dimension-edit-overlay.tsx +278 -0
- package/src/components/editor-2d/renderers/floorplan-dimension-renderer.tsx +77 -0
- package/src/components/editor-2d/renderers/{floorplan-draft-wall-measurement.tsx → floorplan-draft-measurement.tsx} +8 -8
- package/src/components/editor-2d/renderers/floorplan-geometry-renderer.tsx +4 -1
- package/src/components/editor-2d/renderers/floorplan-registry-layer.test.ts +38 -8
- package/src/components/editor-2d/renderers/floorplan-registry-layer.tsx +319 -233
- package/src/components/editor-2d/renderers/floorplan-reveal.test.tsx +254 -0
- package/src/components/editor-2d/renderers/floorplan-reveal.ts +141 -0
- package/src/components/editor-2d/svg-paths.ts +12 -15
- package/src/components/point-ask/bubble.tsx +538 -0
- package/src/components/point-ask/hover-chip.tsx +91 -0
- package/src/components/point-ask/mode-pill.tsx +92 -0
- package/src/components/point-ask/optional-motion.ts +22 -0
- package/src/components/point-ask/outline-corners.tsx +93 -0
- package/src/components/point-ask/pins.tsx +711 -0
- package/src/components/point-ask/point-ask-layer.tsx +83 -0
- package/src/components/point-ask/point-ask-styles.ts +105 -0
- package/src/components/point-ask/region-marquee-styles.ts +15 -0
- package/src/components/point-ask/region-marquee.tsx +64 -0
- package/src/components/procedural-items/inspector.tsx +40 -15
- package/src/components/systems/ceiling/ceiling-bracket-batch.test.ts +12 -2
- package/src/components/systems/ceiling/ceiling-selection-affordance-system.test.ts +97 -14
- package/src/components/systems/ceiling/ceiling-selection-affordance-system.tsx +18 -18
- package/src/components/systems/roof/roof-edit-system.tsx +1 -0
- package/src/components/systems/zone/zone-system.test.ts +47 -0
- package/src/components/systems/zone/zone-system.tsx +29 -68
- package/src/components/tools/distribution/connection-compatibility.test.ts +34 -0
- package/src/components/tools/distribution/connection-compatibility.ts +43 -0
- package/src/components/tools/distribution/distribution-public.ts +9 -0
- package/src/components/tools/distribution/distribution-run-contract.test.ts +26 -0
- package/src/components/tools/distribution/distribution-run-contract.ts +94 -0
- package/src/components/tools/distribution/distribution-run-tool.test.ts +241 -0
- package/src/components/tools/distribution/distribution-run-tool.test.tsx +125 -0
- package/src/components/tools/distribution/distribution-run-tool.tsx +1323 -0
- package/src/components/tools/distribution/draw-alignment.ts +35 -0
- package/src/components/tools/distribution/ports.test.ts +56 -0
- package/src/components/tools/distribution/ports.ts +378 -0
- package/src/components/tools/distribution/run-cursor.test.ts +135 -0
- package/src/components/tools/distribution/run-cursor.ts +36 -0
- package/src/components/tools/distribution/run-direction-feedback.test.ts +60 -0
- package/src/components/tools/distribution/run-direction-feedback.tsx +251 -0
- package/src/components/tools/distribution/run-port-snap.test.ts +79 -0
- package/src/components/tools/distribution/run-port-snap.ts +25 -0
- package/src/components/tools/distribution/run-screen-direction.test.ts +23 -0
- package/src/components/tools/distribution/run-screen-direction.ts +30 -0
- package/src/components/tools/elevator/elevator-tool.tsx +3 -6
- package/src/components/tools/elevator/move-elevator-tool.tsx +2 -3
- package/src/components/tools/item/item-surface-strategy-resolver.test.ts +67 -68
- package/src/components/tools/item/placement-history.test.tsx +512 -0
- package/src/components/tools/item/placement-strategies.test.ts +46 -1
- package/src/components/tools/item/placement-strategies.ts +11 -10
- package/src/components/tools/item/shelf-surface-strategy-resolver.test.ts +56 -56
- package/src/components/tools/item/use-draft-node.test.tsx +432 -1
- package/src/components/tools/item/use-draft-node.ts +166 -95
- package/src/components/tools/item/use-placement-coordinator.tsx +148 -95
- package/src/components/tools/paint-region/use-paint-tint.ts +37 -0
- package/src/components/tools/paint-region/wall-paint-region-tool.tsx +466 -0
- package/src/components/tools/registry/item-surface-move.test.ts +62 -63
- package/src/components/tools/registry/item-surface-move.ts +2 -0
- package/src/components/tools/registry/item-surface-resolver.test.ts +26 -26
- package/src/components/tools/registry/move-registry-node-tool.test.ts +268 -1
- package/src/components/tools/registry/move-registry-node-tool.tsx +66 -30
- package/src/components/tools/select/box-select-tool.tsx +2 -12
- package/src/components/tools/select/plane-box-select-tool.test.tsx +79 -0
- package/src/components/tools/select/plane-box-select-tool.tsx +35 -22
- package/src/components/tools/select/select-candidates.test.ts +37 -4
- package/src/components/tools/select/select-candidates.ts +15 -11
- package/src/components/tools/shared/cursor-sphere.tsx +36 -12
- package/src/components/tools/site/site-boundary-editor.tsx +1 -2
- package/src/components/tools/tool-manager.tsx +59 -24
- package/src/components/tools/wall/wall-drafting.test.ts +175 -47
- package/src/components/tools/zone/zone-tool.tsx +4 -12
- package/src/components/ui/action-menu/action-button.tsx +9 -1
- package/src/components/ui/action-menu/camera-actions.tsx +9 -4
- package/src/components/ui/action-menu/control-modes.tsx +15 -42
- package/src/components/ui/action-menu/follow-pascal-pill.tsx +32 -0
- package/src/components/ui/action-menu/follow-pascal-toggle.tsx +36 -0
- package/src/components/ui/action-menu/index.tsx +56 -33
- package/src/components/ui/action-menu/measurement-control.tsx +14 -19
- package/src/components/ui/action-menu/placement.ts +20 -0
- package/src/components/ui/action-menu/point-ask-button.tsx +52 -0
- package/src/components/ui/action-menu/view-toggles.tsx +47 -42
- package/src/components/ui/build-panel/build-panel.tsx +242 -0
- package/src/components/ui/command-palette/editor-commands.tsx +7 -42
- package/src/components/ui/command-palette/index.tsx +50 -39
- package/src/components/ui/command-palette/ranked-groups.test.ts +31 -0
- package/src/components/ui/controls/action-button.tsx +5 -2
- package/src/components/ui/controls/finish-swatch.tsx +110 -0
- package/src/components/ui/controls/material-paint-panel.tsx +97 -26
- package/src/components/ui/controls/material-picker.tsx +4 -1
- package/src/components/ui/controls/metric-control.tsx +1 -1
- package/src/components/ui/controls/scene-material-list.tsx +4 -32
- package/src/components/ui/controls/segmented-control.tsx +21 -8
- package/src/components/ui/controls/select-control.tsx +65 -0
- package/src/components/ui/controls/slider-control.tsx +1 -1
- package/src/components/ui/controls/toggle-control.tsx +3 -3
- package/src/components/ui/controls/tool-options-panel.tsx +1 -1
- package/src/components/ui/floating-level-selector.tsx +159 -59
- package/src/components/ui/helpers/building-helper.tsx +4 -1
- package/src/components/ui/helpers/contextual-helper-panel.tsx +181 -72
- package/src/components/ui/helpers/helper-manager.test.tsx +121 -0
- package/src/components/ui/helpers/helper-manager.tsx +331 -14
- package/src/components/ui/helpers/item-helper.tsx +17 -1
- package/src/components/ui/helpers/registered-tool-helper.tsx +8 -1
- package/src/components/ui/icon-ref.tsx +45 -1
- package/src/components/ui/level-duplicate-dialog.tsx +1 -1
- package/src/components/ui/node-icon-image.tsx +16 -0
- package/src/components/ui/panels/collections/collections-popover.tsx +28 -22
- package/src/components/ui/panels/floor-foundation-panel.tsx +551 -0
- package/src/components/ui/panels/floor-opening-panel.tsx +143 -0
- package/src/components/ui/panels/mobile-panel-sheet.tsx +4 -4
- package/src/components/ui/panels/mobile-selection-bar.tsx +8 -5
- package/src/components/ui/panels/multi-field-value.test.ts +26 -3
- package/src/components/ui/panels/multi-field-value.ts +6 -3
- package/src/components/ui/panels/multi-parametric-inspector.tsx +52 -2
- package/src/components/ui/panels/multi-selection-panel.tsx +161 -5
- package/src/components/ui/panels/node-display.ts +8 -3
- package/src/components/ui/panels/panel-manager.tsx +103 -68
- package/src/components/ui/panels/panel-wrapper.tsx +130 -62
- package/src/components/ui/panels/parametric-field-control.tsx +3 -3
- package/src/components/ui/panels/parametric-inspector.tsx +7 -7
- package/src/components/ui/panels/reference-panel.tsx +2 -3
- package/src/components/ui/panels/room-construction-rows.tsx +774 -0
- package/src/components/ui/panels/room-name-options.test.ts +55 -0
- package/src/components/ui/panels/room-name-options.ts +47 -0
- package/src/components/ui/panels/room-openings-field.tsx +110 -0
- package/src/components/ui/panels/room-panel.tsx +790 -0
- package/src/components/ui/panels/shape-choice.tsx +58 -0
- package/src/components/ui/panels/wall-region-list.tsx +109 -0
- package/src/components/ui/primitives/badge.tsx +8 -0
- package/src/components/ui/primitives/color-dot.tsx +36 -24
- package/src/components/ui/primitives/sidebar.tsx +3 -1
- package/src/components/ui/right-stack.test.ts +29 -0
- package/src/components/ui/right-stack.tsx +164 -0
- package/src/components/ui/sidebar/app-sidebar.tsx +1 -1
- package/src/components/ui/sidebar/icon-rail.tsx +8 -3
- package/src/components/ui/sidebar/panels/items-panel/function-tree-panel.tsx +1 -1
- package/src/components/ui/sidebar/panels/items-panel/index.tsx +6 -6
- package/src/components/ui/sidebar/panels/settings-panel/animation-speed-setting.tsx +40 -0
- package/src/components/ui/sidebar/panels/settings-panel/audio-settings-dialog.tsx +7 -8
- package/src/components/ui/sidebar/panels/settings-panel/construction-animation-setting.test.tsx +170 -0
- package/src/components/ui/sidebar/panels/settings-panel/construction-animation-setting.tsx +92 -0
- package/src/components/ui/sidebar/panels/settings-panel/index.tsx +138 -27
- package/src/components/ui/sidebar/panels/settings-panel/interface-theme.test.tsx +20 -0
- package/src/components/ui/sidebar/panels/settings-panel/keyboard-shortcuts-dialog.tsx +5 -5
- package/src/components/ui/sidebar/panels/settings-panel/print-export-button.tsx +4 -10
- package/src/components/ui/sidebar/panels/site-panel/building-tree-node.tsx +3 -11
- package/src/components/ui/sidebar/panels/site-panel/ceiling-tree-node.tsx +4 -4
- package/src/components/ui/sidebar/panels/site-panel/chimney-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/collection-tree-node.tsx +197 -0
- package/src/components/ui/sidebar/panels/site-panel/column-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/door-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/dormer-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/elevator-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/fence-tree-node.tsx +24 -11
- package/src/components/ui/sidebar/panels/site-panel/gutter-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/index.tsx +181 -223
- package/src/components/ui/sidebar/panels/site-panel/inline-rename-input.tsx +30 -8
- package/src/components/ui/sidebar/panels/site-panel/item-tree-node.tsx +1 -3
- package/src/components/ui/sidebar/panels/site-panel/level-tree-node.tsx +4 -1
- package/src/components/ui/sidebar/panels/site-panel/registry-tree-node.tsx +1 -3
- package/src/components/ui/sidebar/panels/site-panel/roof-tree-node.tsx +1 -4
- package/src/components/ui/sidebar/panels/site-panel/shelf-tree-node.tsx +1 -3
- package/src/components/ui/sidebar/panels/site-panel/slab-tree-node.tsx +21 -13
- package/src/components/ui/sidebar/panels/site-panel/solar-panel-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/spawn-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/stair-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/tree-node.tsx +13 -37
- package/src/components/ui/sidebar/panels/site-panel/unit-tree-node.tsx +2 -3
- package/src/components/ui/sidebar/panels/site-panel/wall-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/window-tree-node.tsx +1 -5
- package/src/components/ui/sidebar/panels/site-panel/zone-tree-node.tsx +9 -4
- package/src/components/ui/sidebar/panels/zone-panel/index.tsx +2 -4
- package/src/components/ui/sidebar/tab-bar.tsx +14 -4
- package/src/components/ui/sidebar/use-plugin-panels.tsx +15 -5
- package/src/components/viewer/floorplan-compass-button.tsx +9 -1
- package/src/components/viewer/floorplan-preview.tsx +5 -6
- package/src/components/viewer/viewer-controls-bar.tsx +18 -6
- package/src/components/viewer/viewer-hover-label.tsx +34 -0
- package/src/components/viewer/viewer-rooms.tsx +191 -0
- package/src/components/viewer/viewer-scene-header.tsx +181 -145
- package/src/components/viewer/viewer-selection-manager.tsx +124 -0
- package/src/components/viewer/viewer-stage.tsx +2 -2
- package/src/components/viewer-zone-system.tsx +3 -8
- package/src/hooks/use-auto-save.integration.test.tsx +215 -43
- package/src/hooks/use-auto-save.ts +60 -9
- package/src/hooks/use-ceiling-events.test.ts +123 -118
- package/src/hooks/use-grid-events.test.ts +105 -105
- package/src/hooks/use-keyboard.test.ts +243 -19
- package/src/hooks/use-keyboard.ts +118 -83
- package/src/hooks/use-open-wall-ends.test.ts +99 -0
- package/src/hooks/use-open-wall-ends.ts +238 -0
- package/src/hooks/use-placement-notice.test.ts +71 -0
- package/src/hooks/use-placement-notice.ts +73 -0
- package/src/hooks/use-selected-room.ts +143 -0
- package/src/index.tsx +312 -58
- package/src/lib/__fixtures__/owner-victor-seattle-parking.json +1 -0
- package/src/lib/__fixtures__/owner-villa-aurelia-basement.json +1 -0
- package/src/lib/add-storey.test.ts +177 -0
- package/src/lib/add-storey.ts +59 -0
- package/src/lib/below-grade.test.tsx +171 -0
- package/src/lib/below-grade.ts +133 -0
- package/src/lib/camera-facing.test.ts +24 -0
- package/src/lib/camera-facing.ts +24 -0
- package/src/lib/ceiling-edit-session.test.ts +321 -0
- package/src/lib/ceiling-edit-session.ts +206 -0
- package/src/lib/ceiling-region-session.test.ts +179 -0
- package/src/lib/continuation.test.ts +19 -1
- package/src/lib/continuation.ts +25 -4
- package/src/lib/direct-manipulation.ts +2 -0
- package/src/lib/door-interaction.ts +14 -0
- package/src/lib/download-project-file.ts +17 -0
- package/src/lib/editor-level-display.test.ts +96 -0
- package/src/lib/editor-level-display.ts +55 -0
- package/src/lib/editor-views.ts +178 -0
- package/src/lib/export-geometry-wait.test.ts +90 -0
- package/src/lib/export-texture-utils.ts +2 -4
- package/src/lib/floor-edit-session.ts +153 -0
- package/src/lib/floor-footprints.test.ts +563 -0
- package/src/lib/floor-footprints.ts +395 -0
- package/src/lib/floor-foundation-support.test.ts +284 -0
- package/src/lib/floor-opening-draft.ts +218 -0
- package/src/lib/floor-openings.test.ts +216 -0
- package/src/lib/floor-region-geometry.ts +191 -0
- package/src/lib/floor-region-session.test.ts +485 -0
- package/src/lib/floor-region-session.ts +589 -0
- package/src/lib/floor-region-snap.ts +101 -0
- package/src/lib/floor-step-hover.test.ts +32 -0
- package/src/lib/floorplan/annotation-visibility.ts +17 -0
- package/src/lib/floorplan/dimension-drive.test.ts +360 -0
- package/src/lib/floorplan/dimension-drive.ts +479 -0
- package/src/lib/floorplan/floorplan-export.test.ts +12 -8
- package/src/lib/floorplan/floorplan-export.tsx +32 -8
- package/src/lib/floorplan/floorplan-extension.ts +32 -0
- package/src/lib/floorplan/floorplan-mode.test.ts +4 -0
- package/src/lib/floorplan/floorplan-mode.ts +2 -0
- package/src/lib/floorplan/floorplan-pdfkit-document.ts +363 -27
- package/src/lib/floorplan/floorplan-pdfkit-renderer.test.ts +177 -8
- package/src/lib/floorplan/floorplan-pdfkit-renderer.ts +60 -25
- package/src/lib/floorplan/floorplan-plugin-install.test.tsx +138 -0
- package/src/lib/floorplan/floorplan-readonly.ts +6 -0
- package/src/lib/floorplan/geometry.ts +13 -6
- package/src/lib/floorplan/index.ts +0 -9
- package/src/lib/floorplan/items.ts +5 -2
- package/src/lib/floorplan/marks.test.ts +213 -0
- package/src/lib/floorplan/marks.ts +238 -0
- package/src/lib/floorplan/open-wall-ends.test.ts +268 -0
- package/src/lib/floorplan/open-wall-ends.ts +162 -0
- package/src/lib/floorplan/pdf-fonts/GeistMono-Bold.ttf +0 -0
- package/src/lib/floorplan/pdf-fonts/GeistMono-Regular.ttf +0 -0
- package/src/lib/floorplan/pdf-fonts/LICENSE-GeistMono.txt +92 -0
- package/src/lib/floorplan/pdf-fonts/LICENSE-LiberationSans.txt +102 -0
- package/src/lib/floorplan/pdf-fonts/LiberationSans-Bold.ttf +0 -0
- package/src/lib/floorplan/pdf-fonts/LiberationSans-Regular.ttf +0 -0
- package/src/lib/floorplan/pdfkit-standard-fonts.d.ts +5 -0
- package/src/lib/floorplan/schedules.test.ts +189 -0
- package/src/lib/floorplan/schedules.ts +339 -0
- package/src/lib/floorplan/sheet-export.test.ts +124 -0
- package/src/lib/floorplan/sheet-export.ts +318 -0
- package/src/lib/floorplan/site-plan/build-site-plan-drawing.ts +768 -0
- package/src/lib/floorplan/site-plan/contours.test.ts +43 -0
- package/src/lib/floorplan/site-plan/contributors.ts +97 -0
- package/src/lib/floorplan/site-plan/coverage.ts +230 -0
- package/src/lib/floorplan/site-plan/drawing-type-switch.test.ts +15 -0
- package/src/lib/floorplan/site-plan/drawing-type-switch.tsx +86 -0
- package/src/lib/floorplan/site-plan/front-edge.test.ts +103 -0
- package/src/lib/floorplan/site-plan/front-edge.ts +157 -0
- package/src/lib/floorplan/site-plan/geometry.test.ts +269 -0
- package/src/lib/floorplan/site-plan/geometry.ts +142 -0
- package/src/lib/floorplan/site-plan/index.ts +55 -0
- package/src/lib/floorplan/site-plan/site-annotations.test.ts +483 -0
- package/src/lib/floorplan/site-plan/site-annotations.ts +1084 -0
- package/src/lib/floorplan/site-plan/site-parts.ts +287 -0
- package/src/lib/floorplan/site-plan/site-plan-layer.tsx +138 -0
- package/src/lib/floorplan/site-plan/street-name.test.ts +69 -0
- package/src/lib/floorplan/site-plan/street-name.ts +302 -0
- package/src/lib/floorplan/site-plan/yards.test.ts +70 -0
- package/src/lib/floorplan/types.ts +1 -27
- package/src/lib/follow-pascal-exterior.test-fixture.ts +17 -0
- package/src/lib/follow-pascal-exterior.test.ts +171 -0
- package/src/lib/follow-pascal-exterior.ts +39 -0
- package/src/lib/follow-pascal-presentation.test.ts +203 -0
- package/src/lib/follow-pascal-presentation.ts +129 -0
- package/src/lib/follow-pascal-sight.ts +84 -0
- package/src/lib/follow-pascal-targets.test.ts +406 -0
- package/src/lib/follow-pascal-targets.ts +198 -0
- package/src/lib/follow-pascal.test.ts +350 -0
- package/src/lib/follow-pascal.ts +284 -0
- package/src/lib/fresh-planar-placement.test.ts +148 -0
- package/src/lib/fresh-planar-placement.ts +114 -37
- package/src/lib/geometry-script/author.ts +157 -0
- package/src/lib/geometry-script/client.ts +159 -0
- package/src/lib/geometry-script/finish-scripts.ts +127 -0
- package/src/lib/geometry-script/protocol.ts +13 -0
- package/src/lib/gesture-lifecycle.test.ts +595 -0
- package/src/lib/gesture-lifecycle.ts +290 -0
- package/src/lib/glb-export-zone-holes.test.ts +41 -0
- package/src/lib/glb-export.test.ts +636 -126
- package/src/lib/glb-export.ts +241 -120
- package/src/lib/history.test.ts +18 -7
- package/src/lib/history.ts +7 -0
- package/src/lib/hud-title.ts +109 -0
- package/src/lib/hydration-gated-storage.ts +49 -0
- package/src/lib/ifc-export.test.ts +174 -0
- package/src/lib/ifc-export.ts +201 -0
- package/src/lib/ifc-parts.ts +15 -0
- package/src/lib/inspector-expanded.test.ts +44 -0
- package/src/lib/inspector-expanded.ts +36 -0
- package/src/lib/interaction/scope.ts +22 -0
- package/src/lib/keyboard-pan.test.ts +129 -7
- package/src/lib/keyboard-pan.ts +161 -12
- package/src/lib/level-selection.test.ts +57 -0
- package/src/lib/level-selection.ts +16 -1
- package/src/lib/live-gesture-round-trip.test.ts +360 -0
- package/src/lib/lot/__fixtures__/map-dossier-miami-shores.json +1 -0
- package/src/lib/lot/__fixtures__/map-dossier-stpete.json +1 -0
- package/src/lib/lot/clean-ring.test.ts +187 -0
- package/src/lib/lot/clean-ring.ts +217 -0
- package/src/lib/lot/dossier.test.ts +202 -0
- package/src/lib/lot/dossier.ts +498 -0
- package/src/lib/lot/drop-in.test.ts +326 -0
- package/src/lib/lot/drop-in.ts +392 -0
- package/src/lib/lot/index.ts +43 -0
- package/src/lib/lot/lot-patch.test.ts +340 -0
- package/src/lib/lot/lot-patch.ts +394 -0
- package/src/lib/lot/parcel-provider.ts +43 -0
- package/src/lib/lot/terrain.test.ts +161 -0
- package/src/lib/lot/terrain.ts +266 -0
- package/src/lib/material-catalog-model.ts +3 -1
- package/src/lib/material-paint-panel-model.ts +9 -5
- package/src/lib/material-paint.ts +4 -0
- package/src/lib/measurement-kind.test.ts +6 -8
- package/src/lib/measurements.test.ts +23 -0
- package/src/lib/mezzanine-actions.test.ts +342 -0
- package/src/lib/mezzanine-draft.test.ts +501 -0
- package/src/lib/mezzanine-draft.ts +278 -0
- package/src/lib/mezzanine-messages.ts +26 -0
- package/src/lib/mezzanine-selection.test.ts +207 -0
- package/src/lib/mezzanine-stairs.ts +46 -0
- package/src/lib/model-export.ts +3 -1
- package/src/lib/node-action-movement.ts +17 -6
- package/src/lib/node-display-label.ts +37 -0
- package/src/lib/orbit-floor-clearance.test.ts +201 -0
- package/src/lib/orbit-floor-clearance.ts +154 -0
- package/src/lib/paint-commit-route.test.ts +37 -0
- package/src/lib/paint-commit-route.ts +17 -0
- package/src/lib/paint-eyedropper.test.tsx +165 -0
- package/src/lib/paint-eyedropper.ts +99 -0
- package/src/lib/paint-pass-through.test.ts +122 -0
- package/src/lib/paint-pass-through.ts +78 -0
- package/src/lib/paint-region-hover.ts +25 -0
- package/src/lib/paint-region-mode.ts +154 -0
- package/src/lib/paint-regions.test.ts +166 -0
- package/src/lib/paint-regions.ts +192 -0
- package/src/lib/paint-scope.test.ts +317 -35
- package/src/lib/paint-scope.ts +267 -25
- package/src/lib/panel-rows.ts +21 -0
- package/src/lib/parametric-node-update.ts +16 -7
- package/src/lib/plate-paint-affected.test.ts +300 -0
- package/src/lib/plate-paint-affected.ts +177 -0
- package/src/lib/plugin-chat.ts +65 -0
- package/src/lib/plugin-panels.test.ts +25 -0
- package/src/lib/plugin-panels.ts +94 -0
- package/src/lib/point-ask/__fixtures__/consumer-browser.tsx +76 -0
- package/src/lib/point-ask/__fixtures__/house.ts +81 -0
- package/src/lib/point-ask/ask-created.test.ts +195 -0
- package/src/lib/point-ask/ask-flow.test.ts +380 -0
- package/src/lib/point-ask/build-context.test.ts +173 -0
- package/src/lib/point-ask/build-context.ts +94 -0
- package/src/lib/point-ask/capture-crop.ts +129 -0
- package/src/lib/point-ask/choreography.ts +69 -0
- package/src/lib/point-ask/compare.test.ts +145 -0
- package/src/lib/point-ask/compare.ts +73 -0
- package/src/lib/point-ask/describe-target.test.ts +165 -0
- package/src/lib/point-ask/describe-target.ts +234 -0
- package/src/lib/point-ask/dictation.ts +79 -0
- package/src/lib/point-ask/edge-marker.test.ts +61 -0
- package/src/lib/point-ask/edge-marker.ts +27 -0
- package/src/lib/point-ask/frame-loop.ts +25 -0
- package/src/lib/point-ask/history-marks.test.ts +94 -0
- package/src/lib/point-ask/history-marks.ts +39 -0
- package/src/lib/point-ask/host-api.ts +32 -0
- package/src/lib/point-ask/outline-box.test.ts +30 -0
- package/src/lib/point-ask/outline-box.ts +11 -0
- package/src/lib/point-ask/overlay-metrics.ts +6 -0
- package/src/lib/point-ask/pick.test.ts +220 -0
- package/src/lib/point-ask/pick.ts +121 -0
- package/src/lib/point-ask/pin-machine.test.ts +494 -0
- package/src/lib/point-ask/pin-machine.ts +217 -0
- package/src/lib/point-ask/placement.test.ts +203 -0
- package/src/lib/point-ask/placement.ts +141 -0
- package/src/lib/point-ask/pointer-tracker.ts +34 -0
- package/src/lib/point-ask/projector.ts +83 -0
- package/src/lib/point-ask/region.test.ts +157 -0
- package/src/lib/point-ask/region.ts +136 -0
- package/src/lib/point-ask/retry.test.ts +217 -0
- package/src/lib/point-ask/retry.ts +37 -0
- package/src/lib/point-ask/scene-commit.test.ts +312 -0
- package/src/lib/point-ask/scene-commit.ts +32 -0
- package/src/lib/point-ask/session.ts +1391 -0
- package/src/lib/point-ask/spring-keyframes.test.ts +45 -0
- package/src/lib/point-ask/spring-keyframes.ts +38 -0
- package/src/lib/point-ask/spring.test.ts +63 -0
- package/src/lib/point-ask/spring.ts +107 -0
- package/src/lib/point-ask/suggestions.test.ts +80 -0
- package/src/lib/point-ask/suggestions.ts +125 -0
- package/src/lib/point-ask/target-scope.test.ts +622 -0
- package/src/lib/point-ask/target-scope.ts +338 -0
- package/src/lib/point-ask/types.ts +48 -0
- package/src/lib/portable-export.test.ts +34 -1
- package/src/lib/portable-export.ts +119 -53
- package/src/lib/print-feature-thickness.ts +10 -1
- package/src/lib/print-roof-solids.test.ts +39 -1
- package/src/lib/print-roof-solids.ts +43 -10
- package/src/lib/print-shell-compiler-manifold-core.ts +1 -1
- package/src/lib/print-shell-compiler.ts +1 -0
- package/src/lib/registered-draft-snap.ts +12 -0
- package/src/lib/roof-duplication.ts +10 -2
- package/src/lib/room-assembly-overlay.test.ts +275 -0
- package/src/lib/room-assembly-overlay.ts +265 -0
- package/src/lib/room-built-on.test.ts +379 -0
- package/src/lib/room-built-on.ts +138 -0
- package/src/lib/room-construction-commands.ts +712 -0
- package/src/lib/room-construction.test.ts +746 -0
- package/src/lib/room-construction.ts +385 -0
- package/src/lib/room-controls-phase6.test.ts +630 -0
- package/src/lib/room-divide-session.ts +523 -0
- package/src/lib/room-handle-drag.ts +1068 -0
- package/src/lib/room-name-catalog.test.ts +90 -0
- package/src/lib/room-name-catalog.ts +168 -0
- package/src/lib/room-push-dimensions.test.ts +311 -0
- package/src/lib/room-push-dimensions.ts +251 -0
- package/src/lib/room-selection-commands.ts +62 -0
- package/src/lib/room-selection.test.ts +1017 -0
- package/src/lib/room-selection.ts +417 -0
- package/src/lib/room-structure-commands.ts +94 -0
- package/src/lib/room-structure.test.ts +921 -0
- package/src/lib/room-transform-session.ts +570 -0
- package/src/lib/room-zone-routing.test.ts +294 -0
- package/src/lib/room-zone-routing.ts +197 -0
- package/src/lib/scene-clipboard.test.ts +610 -1
- package/src/lib/scene-clipboard.ts +269 -58
- package/src/lib/scene-material-refs.test.ts +79 -0
- package/src/lib/scene-material-refs.ts +79 -0
- package/src/lib/scene.test.ts +24 -36
- package/src/lib/scene.ts +33 -57
- package/src/lib/selection-routing.test.ts +129 -45
- package/src/lib/selection-routing.ts +54 -75
- package/src/lib/session-writes.test.ts +120 -0
- package/src/lib/session-writes.ts +205 -0
- package/src/lib/sfx-bus.ts +13 -0
- package/src/lib/sfx-player.test.ts +70 -9
- package/src/lib/sfx-player.ts +6 -0
- package/src/lib/sidebar-panel.ts +62 -0
- package/src/lib/site-boundary.test.ts +4 -6
- package/src/lib/site-boundary.ts +1 -1
- package/src/lib/snapping-mode.test.ts +4 -0
- package/src/lib/snapping-mode.ts +8 -1
- package/src/lib/stair-levels.test.ts +25 -0
- package/src/lib/stair-levels.ts +22 -3
- package/src/lib/terrace-draft.test.ts +145 -0
- package/src/lib/terrace-draft.ts +214 -0
- package/src/lib/tool-cursor-icon.test.ts +16 -0
- package/src/lib/tool-cursor-icon.ts +11 -0
- package/src/lib/typing-target.ts +9 -0
- package/src/lib/units.ts +77 -39
- package/src/lib/vector-edges.test.ts +58 -0
- package/src/lib/vector-edges.ts +400 -0
- package/src/lib/viewer-selection.test.ts +577 -0
- package/src/lib/viewer-selection.ts +580 -0
- package/src/lib/wall-draw-variant.test.ts +71 -0
- package/src/lib/wall-draw-variant.ts +91 -0
- package/src/lib/wall-paint-region-session.ts +246 -0
- package/src/lib/wall-paint-region.test.ts +373 -0
- package/src/lib/wall-placement-pointer.test.ts +42 -0
- package/src/lib/wall-placement-pointer.ts +57 -0
- package/src/lib/wall-polygon-draft.test.ts +262 -0
- package/src/lib/wall-polygon-draft.ts +286 -0
- package/src/lib/wall-push.test.ts +453 -0
- package/src/lib/wall-region-face.ts +352 -0
- package/src/lib/wall-region-handles.test.ts +304 -0
- package/src/lib/wall-region-handles.ts +368 -0
- package/src/lib/wall-region-list.test.ts +119 -0
- package/src/lib/wall-region-list.ts +136 -0
- package/src/lib/wall-region-snap.ts +110 -0
- package/src/lib/window-changes.ts +35 -0
- package/src/lib/window-interaction.ts +14 -0
- package/src/lib/zone-content.ts +4 -1
- package/src/lib/zone-name.test.ts +17 -0
- package/src/lib/zone-name.ts +17 -0
- package/src/store/opens-in-select-mode.test.ts +223 -0
- package/src/store/paint-mode.test.ts +188 -0
- package/src/store/terrain-sculpt-mode.test.ts +19 -21
- package/src/store/tool-mode.test.ts +137 -6
- package/src/store/use-audio.test.ts +146 -0
- package/src/store/use-audio.tsx +127 -3
- package/src/store/use-construction-reveal.test.ts +173 -0
- package/src/store/use-construction-reveal.ts +145 -0
- package/src/store/use-corner-snap-hint.test.ts +24 -0
- package/src/store/use-corner-snap-hint.ts +47 -0
- package/src/store/use-delete-confirmation.ts +28 -1
- package/src/store/use-drawing-view.test.ts +24 -3
- package/src/store/use-drawing-view.ts +29 -1
- package/src/store/use-editor.tsx +432 -321
- package/src/store/use-floorplan-draft-preview.ts +13 -0
- package/src/store/use-floorplan-marquee.ts +12 -2
- package/src/store/use-follow-pascal.test.ts +62 -0
- package/src/store/use-follow-pascal.ts +53 -0
- package/src/store/use-point-ask.ts +247 -0
- package/src/store/use-quick-measurement-hud.ts +3 -3
- package/src/store/use-stair-build-preview.ts +33 -5
- package/src/store/use-wall-move-ghosts.ts +4 -2
- package/src/store/use-wall-region-handles-selection.test.ts +222 -0
- package/src/store/use-wall-region-handles-selection.ts +139 -0
- package/src/store/view-layout.test.ts +201 -0
- package/src/store/view-layout.ts +199 -0
- package/src/test-utils/immediate-animation-frames.ts +16 -0
- package/src/test-utils/live-gesture-round-trip.ts +224 -0
- package/src/test-utils/render-current-markup.tsx +16 -0
- package/src/test-utils/selection-harness.ts +82 -0
- package/src/components/editor-2d/renderers/floorplan-stair-layer.tsx +0 -499
- package/src/components/systems/zone/zone-label-editor-system.tsx +0 -333
- package/src/components/tools/fence/fence-drafting.test.ts +0 -100
- package/src/components/tools/fence/fence-drafting.ts +0 -266
- package/src/components/tools/stair/stair-click-guard.test.ts +0 -58
- package/src/components/tools/stair/stair-click-guard.ts +0 -72
- package/src/components/tools/stair/stair-defaults.ts +0 -18
- package/src/components/tools/stair/stair-tool.tsx +0 -634
- package/src/components/ui/sidebar/panels/plugins-panel.tsx +0 -218
- package/src/components/viewer/viewer-units-panel.tsx +0 -116
- package/src/lib/floorplan/stairs.ts +0 -489
- package/src/lib/level-duplication.test.ts +0 -144
- package/src/lib/level-duplication.ts +0 -195
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"object":"location","as_of":"2026-09-07T16:50:28.942Z","query":{"type":"address","address":"501 5th Ave N, St Petersburg, FL"},"point":{"lat":27.777922,"lng":-82.62967,"source":"geocoded"},"address":{"formatted":"501 5th Avenue Northeast, St. Petersburg, Florida 33701, United States","precision":"rooftop"},"layers":{"parcel":{"object":"location_section","layer":"parcel","name":"Parcel","category":"property","status":"available","summary":"13.1 acre parcel in Pinellas (2025F tax roll).","data":{"parcel_key":"db0AIRt1QY3ZAxCu7_2lcQ","county":{"name":"Pinellas","fips":null,"local_code":62},"situs_address":{"line1":"501 5TH AVE NE","city":"ST PETERSBURG","zip":"33701"},"vintage":"2025F-prototype","area_m2":53022,"area_acres":13.1,"parcel_count_here":1,"stacked_parcel_keys":[],"adjacent_parcels":[{"parcel_key":"diemozFfPVI30mnlbVrFew","area_m2":8171},{"parcel_key":"H7IVewI7bKcXFvvbP-0AuA","area_m2":8171},{"parcel_key":"X5sihi8B4jJ1c5C19PqwgA","area_m2":8171},{"parcel_key":"OlMTG8pMwbN6IxX65KHj2w","area_m2":8171},{"parcel_key":"izyKq-mxZtYRjh6kEAg1mw","area_m2":8171},{"parcel_key":"fmlhTUjim_9_HWHUFy9Ldg","area_m2":8171},{"parcel_key":"tublqTpX5SFLpFI6ZTi-Pw","area_m2":8171},{"parcel_key":"0uLVqG3oRA103tg03rOacg","area_m2":8171},{"parcel_key":"EmUdYO6ye5GzqzzqPEJpMg","area_m2":8171},{"parcel_key":"CT97cVNKGcWl5Sbxo4qQfg","area_m2":8171},{"parcel_key":"agb8DL1QPTpgAe90BYaKQw","area_m2":8171},{"parcel_key":"TWdkH2BBvvm0M4vn0gJboA","area_m2":8171},{"parcel_key":"OHyxndu_p-hF_yc7yGJwXQ","area_m2":8171},{"parcel_key":"DVzrL2jJ8ckBEA7b8irC3A","area_m2":8171},{"parcel_key":"sxFlmAgoZNRxsBnyvCtSUQ","area_m2":8171},{"parcel_key":"iXVXiP8M13Xcgh24ccwyng","area_m2":8171},{"parcel_key":"J0SuSkqueOr7hToH-9Dmvg","area_m2":8171},{"parcel_key":"eyAQ2WDTf_w9uxvQWshffw","area_m2":8171},{"parcel_key":"3l3tdeiSCJw2tBJC0RHEqw","area_m2":8171},{"parcel_key":"d5mOaq7DK5vyD-OoUX19cQ","area_m2":8171},{"parcel_key":"wVQ0GIDWbYm2C5lm30GwQA","area_m2":8171},{"parcel_key":"qjcHibZAzg8XTFyMisaAOw","area_m2":8171},{"parcel_key":"Fm7BD5Ff4G9ifjyYUd5jEQ","area_m2":8171},{"parcel_key":"b0IFAfUwD9XrvUmHqtHd9w","area_m2":8171},{"parcel_key":"0nekxZY_F55pARXjGUk5rA","area_m2":8171},{"parcel_key":"wnPcuidVx9RzwRJ5tmc4Gw","area_m2":8171},{"parcel_key":"nO3KELw5noFYKW7tqlhb-Q","area_m2":8171},{"parcel_key":"A15HNUUrdNS9Rbta1Fj-qg","area_m2":8171},{"parcel_key":"GHv7K3La4c9SXrSoXU0NkQ","area_m2":8171},{"parcel_key":"9NK6wOHHTdCE-n510tod0g","area_m2":8171}],"frontage":{"total_ft":2641,"total_m":805.1,"segment_count":3,"geometry":{"type":"MultiLineString","coordinates":[[[-82.63123825192451,27.778030141920922],[-82.63123691082001,27.777722230389642],[-82.62840181589127,27.777731722858334]],[[-82.62648805975914,27.778834030153362],[-82.62642703950405,27.779207791662415],[-82.62638412415981,27.779394078665092],[-82.6280665397644,27.779386270793296],[-82.6280665397644,27.779386959422453],[-82.628173828125,27.77938636615221],[-82.62970000505447,27.77937984017933]],[[-82.63069979846478,27.778822164687597],[-82.63123825192451,27.778030141920922]]]}},"geometry":{"type":"Feature","properties":{"parcel_key":"db0AIRt1QY3ZAxCu7_2lcQ"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-82.63123825192451,27.778030141920922],[-82.63123691082001,27.777722230389642],[-82.62840181589127,27.777731722858334],[-82.62840785086155,27.778825131054177],[-82.6282811164856,27.77882577362525],[-82.6282811164856,27.778825724327476],[-82.628173828125,27.77882631760076],[-82.6280665397644,27.77882631760076],[-82.6280665397644,27.778826808455342],[-82.62648805975914,27.778834030153362],[-82.62642703950405,27.779207791662415],[-82.62638412415981,27.779394078665092],[-82.6280665397644,27.779386270793296],[-82.6280665397644,27.779386959422453],[-82.628173828125,27.77938636615221],[-82.62970000505447,27.77937984017933],[-82.62969866394997,27.779194146423578],[-82.62994073331356,27.77919177333837],[-82.63017676770687,27.7788197915943],[-82.63069979846478,27.778822164687597],[-82.63123825192451,27.778030141920922]]]]}}},"source":{"name":"Pascal parcel archives (county cadastral rolls)","kind":"archive","vintage":"2025F-prototype","attribution":"Florida county property appraisers"}},"flood":{"object":"location_section","layer":"flood","name":"FEMA flood zones","category":"classification","status":"available","summary":"In flood zone AE — high risk — 1% chance of flooding in any year (the '100-year' floodplain). Base flood elevation 9 ft (NAVD88). Flood insurance is federally required for most mortgages here.","data":{"is_in_flood_zone":true,"mapped":true,"firm_panel":{"panel":"12103C0219H","effective_date":"2021-08-24"},"zone_at_point":{"zone":"AE","zone_subtype":"COASTAL FLOODPLAIN","description":"High risk — 1% chance of flooding in any year (the '100-year' floodplain)","is_in_flood_zone":true,"base_flood_elevation_ft":9,"bfe_datum":"NAVD88"},"evaluated_against":"parcel","zones_on_parcel":[{"zone":"AE","zone_subtype":"COASTAL FLOODPLAIN","description":"High risk — 1% chance of flooding in any year (the '100-year' floodplain)","is_in_flood_zone":true,"base_flood_elevation_ft":9,"coverage_pct":69.3,"area_m2":36755},{"zone":"X","zone_subtype":"AREA OF MINIMAL FLOOD HAZARD","description":"Minimal risk — outside the mapped high-risk flood areas","is_in_flood_zone":false,"base_flood_elevation_ft":null,"coverage_pct":13.3,"area_m2":7039},{"zone":"X","zone_subtype":"0.2 PCT ANNUAL CHANCE FLOOD HAZARD IN COASTAL ZONE","description":"Moderate risk — 0.2% chance of flooding in any year (the '500-year' floodplain)","is_in_flood_zone":false,"base_flood_elevation_ft":null,"coverage_pct":10.6,"area_m2":5609},{"zone":"AE","zone_subtype":"COASTAL FLOODPLAIN","description":"High risk — 1% chance of flooding in any year (the '100-year' floodplain)","is_in_flood_zone":true,"base_flood_elevation_ft":10,"coverage_pct":6.8,"area_m2":3610}],"highest_risk_zone_on_parcel":"AE","geometry":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"zone":"AE","zone_subtype":"COASTAL FLOODPLAIN"},"geometry":{"type":"Polygon","coordinates":[[[-82.63063913965543,27.777724231847866],[-82.62919350102933,27.777729072137078],[-82.629008,27.777732],[-82.62840181742092,27.777732],[-82.62840785086155,27.778825131054177],[-82.6282811164856,27.77882577362525],[-82.6282811164856,27.778825724327476],[-82.628173828125,27.77882631760076],[-82.6280665397644,27.77882631760076],[-82.6280665397644,27.778826808455342],[-82.62702463210239,27.778831575283224],[-82.627018,27.778878],[-82.627006,27.77905],[-82.627007,27.779176],[-82.627018,27.779248],[-82.627034,27.779277],[-82.627103,27.779356],[-82.627138,27.779377],[-82.62717858089339,27.779390391694818],[-82.6280665397644,27.779386270793296],[-82.6280665397644,27.779386959422453],[-82.628173828125,27.77938636615221],[-82.62952680665798,27.77938058078025],[-82.629618,27.779313],[-82.62969866785514,27.7791946871458],[-82.62969866394997,27.779194146423578],[-82.6296990390365,27.779194142746483],[-82.629708,27.779181],[-82.629736,27.77917],[-82.629824,27.779184],[-82.629877,27.77917],[-82.629939,27.779125],[-82.63004064410183,27.779034317517],[-82.63004345735044,27.779029883938016],[-82.630081,27.778967],[-82.630088,27.778935],[-82.630083,27.778912],[-82.630058,27.778892],[-82.62995,27.77885],[-82.629911,27.778824],[-82.629844,27.77874],[-82.629836,27.778709],[-82.62984,27.778696],[-82.629863,27.778675],[-82.629899,27.778668],[-82.630015,27.778675],[-82.630111,27.778663],[-82.630143,27.778691],[-82.63017,27.778776],[-82.630192,27.778758],[-82.630217,27.77872],[-82.630291,27.778572],[-82.630288,27.77855],[-82.630258,27.778519],[-82.630146,27.778451],[-82.630123,27.778428],[-82.630117,27.778405],[-82.630123,27.778324],[-82.630109,27.778287],[-82.630064,27.778239],[-82.629901,27.778122],[-82.629865,27.778062],[-82.629855,27.778024],[-82.629858,27.778],[-82.629894,27.777973],[-82.629947,27.777959],[-82.630108,27.777966],[-82.630383,27.777937],[-82.630416,27.777915],[-82.630513,27.777803],[-82.630561,27.77776],[-82.63063913965543,27.777724231847866]],[[-82.629053,27.777887],[-82.629053,27.777928],[-82.629036,27.777992],[-82.629013,27.778029],[-82.62898,27.778054],[-82.628912,27.778069],[-82.628832,27.778071],[-82.628724,27.778057],[-82.628505,27.778],[-82.628465,27.777986],[-82.628439,27.777965],[-82.628436,27.777944],[-82.628444,27.777918],[-82.628499,27.777839],[-82.628564,27.777818],[-82.62865,27.777813],[-82.628925,27.77782],[-82.629023,27.777842],[-82.629039,27.777854],[-82.629053,27.777887]]]}},{"type":"Feature","properties":{"zone":"X","zone_subtype":"AREA OF MINIMAL FLOOD HAZARD"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-82.63123825192451,27.778030141920922],[-82.63123691082001,27.777722230389642],[-82.63089672621672,27.777723369396192],[-82.630751,27.777767],[-82.630686,27.777804],[-82.630667,27.777827],[-82.630663,27.777847],[-82.630684,27.777922],[-82.630676,27.777947],[-82.630582,27.778016],[-82.630494,27.778097],[-82.630447,27.778115],[-82.630346,27.778083],[-82.630306,27.778079],[-82.630288,27.778083],[-82.630265,27.778108],[-82.630244,27.778169],[-82.630234,27.778266],[-82.630246,27.778335],[-82.630265,27.778369],[-82.63033,27.778426],[-82.630424,27.778433],[-82.630513,27.778481],[-82.630581,27.778549],[-82.630586,27.778583],[-82.630572,27.778601],[-82.630386,27.778668],[-82.630329,27.778715],[-82.630316,27.77874],[-82.63029636274611,27.778820334220487],[-82.63069979846478,27.778822164687597],[-82.63123825192451,27.778030141920922]]],[[[-82.62995688455364,27.779166319562904],[-82.629937,27.779178],[-82.6298925881153,27.779192245321507],[-82.62994073331356,27.77919177333837],[-82.62995688455364,27.779166319562904]]],[[[-82.62970000505447,27.77937984017933],[-82.62969981976904,27.77935418494807],[-82.62969486994946,27.779379862137176],[-82.62970000505447,27.77937984017933]]]]}},{"type":"Feature","properties":{"zone":"X","zone_subtype":"0.2 PCT ANNUAL CHANCE FLOOD HAZARD IN COASTAL ZONE"},"geometry":{"type":"Polygon","coordinates":[[[-82.629053,27.777887],[-82.629039,27.777854],[-82.629023,27.777842],[-82.628925,27.77782],[-82.62865,27.777813],[-82.628564,27.777818],[-82.628499,27.777839],[-82.628444,27.777918],[-82.628436,27.777944],[-82.628439,27.777965],[-82.628465,27.777986],[-82.628505,27.778],[-82.628724,27.778057],[-82.628832,27.778071],[-82.628912,27.778069],[-82.62898,27.778054],[-82.629013,27.778029],[-82.629036,27.777992],[-82.629053,27.777928],[-82.629053,27.777887]]]}},{"type":"Feature","properties":{"zone":"X","zone_subtype":"0.2 PCT ANNUAL CHANCE FLOOD HAZARD IN COASTAL ZONE"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-82.63089672621672,27.777723369396192],[-82.63063913965543,27.777724231847866],[-82.630561,27.77776],[-82.630513,27.777803],[-82.630416,27.777915],[-82.630383,27.777937],[-82.630108,27.777966],[-82.629947,27.777959],[-82.629894,27.777973],[-82.629858,27.778],[-82.629855,27.778024],[-82.629865,27.778062],[-82.629901,27.778122],[-82.630064,27.778239],[-82.630109,27.778287],[-82.630123,27.778324],[-82.630117,27.778405],[-82.630123,27.778428],[-82.630146,27.778451],[-82.630258,27.778519],[-82.630288,27.77855],[-82.630291,27.778572],[-82.630217,27.77872],[-82.630192,27.778758],[-82.63017,27.778776],[-82.630143,27.778691],[-82.630111,27.778663],[-82.630015,27.778675],[-82.629899,27.778668],[-82.629863,27.778675],[-82.62984,27.778696],[-82.629836,27.778709],[-82.629844,27.77874],[-82.629911,27.778824],[-82.62995,27.77885],[-82.630058,27.778892],[-82.630083,27.778912],[-82.630088,27.778935],[-82.630081,27.778967],[-82.63004345735044,27.779029883938016],[-82.63017676770687,27.7788197915943],[-82.63029636274611,27.778820334220487],[-82.630316,27.77874],[-82.630329,27.778715],[-82.630365,27.778681],[-82.630408,27.778657],[-82.63058,27.778593],[-82.630588,27.778572],[-82.630581,27.778549],[-82.630513,27.778481],[-82.630424,27.778433],[-82.63033,27.778426],[-82.63029,27.778397],[-82.630254,27.778352],[-82.630239,27.778313],[-82.630235,27.778241],[-82.630244,27.778169],[-82.630265,27.778108],[-82.630288,27.778083],[-82.630306,27.778079],[-82.630346,27.778083],[-82.630447,27.778115],[-82.630494,27.778097],[-82.630582,27.778016],[-82.630676,27.777947],[-82.630684,27.777922],[-82.630663,27.777847],[-82.630667,27.777827],[-82.630686,27.777804],[-82.630751,27.777767],[-82.63089672621672,27.777723369396192]]],[[[-82.63004064410183,27.779034317517],[-82.629939,27.779125],[-82.629877,27.77917],[-82.629824,27.779184],[-82.629736,27.77917],[-82.629708,27.779181],[-82.6296990390365,27.779194142746483],[-82.6298925881153,27.779192245321507],[-82.629937,27.779178],[-82.62995688455364,27.779166319562904],[-82.63004064410183,27.779034317517]]],[[[-82.62969984620858,27.77935784585282],[-82.62969866785514,27.7791946871458],[-82.629618,27.779313],[-82.62952680665798,27.77938058078025],[-82.62969584400507,27.77937985797209],[-82.62969984620858,27.77935784585282]]]]}},{"type":"Feature","properties":{"zone":"AE","zone_subtype":"COASTAL FLOODPLAIN"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-82.62919350102933,27.777729072137078],[-82.62840181589127,27.777731722858334],[-82.62840181742092,27.777732],[-82.629008,27.777732],[-82.62919350102933,27.777729072137078]]],[[[-82.62717309106625,27.77939041717239],[-82.627138,27.779377],[-82.62709,27.779345],[-82.627018,27.779248],[-82.627007,27.779176],[-82.627006,27.77905],[-82.627018,27.778878],[-82.62702463210239,27.778831575283224],[-82.62648805975914,27.778834030153362],[-82.62642703950405,27.779207791662415],[-82.62638412415981,27.779394078665092],[-82.62717309106625,27.77939041717239]]]]}}]}},"source":{"name":"FEMA National Flood Hazard Layer","kind":"official","vintage":"current federal record","attribution":"FEMA"}},"wetlands":{"object":"location_section","layer":"wetlands","name":"Wetlands (NWI)","category":"classification","status":"available","summary":"No mapped wetlands touch this parcel.","data":{"intersects_parcel":false,"is_on_wetland":false,"evaluated_against":"parcel","parcel_coverage_pct":0,"wetlands":[],"geometry":{"type":"FeatureCollection","features":[]}},"source":{"name":"USFWS National Wetlands Inventory","kind":"official","vintage":"current federal record","attribution":"U.S. Fish & Wildlife Service"}},"structures":{"object":"location_section","layer":"structures","name":"Buildings","category":"property","status":"available","summary":"10 buildings on the parcel — about 19093 m² of footprint. Built 2018 (county roll), 373,542 sqft living area, 6 buildings on the roll.","data":{"building_count":10,"total_footprint_m2":19093,"county_record":{"year_built_actual":2018,"year_built_effective":2018,"living_area_sqft":373542,"building_count":6,"residential_units":null,"construction_class_code":"2","improvement_quality_code":"4"},"buildings":[{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":null,"footprint_m2":568},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":null,"footprint_m2":62},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":null,"footprint_m2":709},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":null,"footprint_m2":2870},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":null,"footprint_m2":34},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":8.7,"footprint_m2":6043},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":4.7,"footprint_m2":632},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":14.5,"footprint_m2":5687},{"occupancy":"Residential","primary_occupancy":"Temporary Lodging","height_m":8.2,"footprint_m2":2270},{"occupancy":"Residential","primary_occupancy":"Multi - Family Dwelling","height_m":6.4,"footprint_m2":218}],"structure_attributes":[{"year_built":1971,"stories":2,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":7,"first_floor_elevation_ft_est":7.3,"elevation_datum":"NAVD88","occupancy_type":"COM8"},{"year_built":1971,"stories":2,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":7,"first_floor_elevation_ft_est":7.3,"elevation_datum":"NAVD88","occupancy_type":"RES4"},{"year_built":1971,"stories":4,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":8.9,"first_floor_elevation_ft_est":9.2,"elevation_datum":"NAVD88","occupancy_type":"COM8"},{"year_built":1971,"stories":4,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":8.9,"first_floor_elevation_ft_est":9.2,"elevation_datum":"NAVD88","occupancy_type":"RES4"},{"year_built":1971,"stories":1,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":9.1,"first_floor_elevation_ft_est":9.4,"elevation_datum":"NAVD88","occupancy_type":"COM8"},{"year_built":1971,"stories":1,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":9.1,"first_floor_elevation_ft_est":9.4,"elevation_datum":"NAVD88","occupancy_type":"RES4"},{"year_built":1971,"stories":2,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":8.1,"first_floor_elevation_ft_est":8.4,"elevation_datum":"NAVD88","occupancy_type":"COM8"},{"year_built":1971,"stories":2,"foundation_type":"slab","foundation_height_ft":0.25,"ground_elevation_ft":8.1,"first_floor_elevation_ft_est":8.4,"elevation_datum":"NAVD88","occupancy_type":"RES4"}],"footprint_source":"OpenStreetMap (surveyed)","geometry":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"source":"osm","building":"roof"},"geometry":{"type":"Polygon","coordinates":[[[-82.6300624,27.7779814],[-82.6300626,27.7779321],[-82.6300628,27.7778979],[-82.6301683,27.7778983],[-82.6301681,27.7779321],[-82.6301679,27.7779818],[-82.6300624,27.7779814]]]}},{"type":"Feature","properties":{"source":"osm","building":"yes"},"geometry":{"type":"Polygon","coordinates":[[[-82.6298657,27.7790922],[-82.6293106,27.7790892],[-82.6293227,27.7786727],[-82.6294024,27.7785721],[-82.6293135,27.7784444],[-82.629486,27.7781593],[-82.6296533,27.7781777],[-82.6296838,27.7781206],[-82.6295149,27.7778203],[-82.6296667,27.7777581],[-82.6298261,27.7780419],[-82.6304423,27.7780356],[-82.6305706,27.7777947],[-82.6307429,27.7778692],[-82.6306017,27.7781431],[-82.6306038,27.7781857],[-82.6307105,27.7783837],[-82.6305582,27.7784556],[-82.6304411,27.7782474],[-82.6302758,27.7782467],[-82.6302715,27.7784657],[-82.6298645,27.7784615],[-82.6298657,27.7790922]]]}},{"type":"Feature","properties":{"source":"osm","building":"yes"},"geometry":{"type":"Polygon","coordinates":[[[-82.6291204,27.7779551],[-82.6291217,27.7781078],[-82.6289228,27.7781092],[-82.6289214,27.7779565],[-82.6291204,27.7779551]]]}}]}},"source":{"name":"USA Structures (FEMA/ORNL) + National Structure Inventory (USACE)","kind":"official","vintage":"current federal record","attribution":"FEMA / Oak Ridge National Laboratory / US Army Corps of Engineers","note":"Footprint geometry prefers OpenStreetMap surveyed outlines when present (USA Structures ML footprints otherwise — often visibly off). NSI year-built/foundation/first-floor values are modeled estimates — not an elevation certificate or permit record."}},"soils":{"object":"location_section","layer":"soils","name":"Soils (SSURGO)","category":"classification","status":"available","summary":"2 soil units on the parcel — mostly Matlacha and St. Augustine soils and Urban land. Poor drainage on part of the site — expect stormwater and foundation implications.","data":{"soil_units":[{"map_unit":"Matlacha and St. Augustine soils and Urban land","symbol":"16","drainage_class":"Somewhat poorly drained","hydrologic_group":"B","hydric_pct":4},{"map_unit":"Urban land, 0 to 2 percent slopes","symbol":"30","drainage_class":null,"hydrologic_group":null,"hydric_pct":2}],"evaluated_against":"parcel"},"source":{"name":"USDA SSURGO (Soil Data Access)","kind":"official","vintage":"current federal record","attribution":"USDA NRCS","note":"Map-unit level data (~1:24k survey) — not a geotechnical report."}},"code_basis":{"object":"location_section","layer":"code_basis","name":"Code basis","category":"classification","status":"available","summary":"Climate zone 2A, no frost line, no snow load, seismic category A. Design wind 150 mph (Risk Cat II, Pinellas County) — wind-borne debris provisions likely apply near the coast. 100-year 24-hour rainfall 13.8\" (NOAA Atlas 14). 17 reported subsidence incidents within 5 miles (not proof of sinkhole risk at this parcel).","data":{"climate_zone_iecc":"2A","frost_depth_ft":0,"ground_snow_load_psf":0,"seismic_design_category":"A","wind_speed_mph":150,"wind_borne_debris_region":true,"wind_exposure":null,"rainfall_100yr_24hr_in":13.8,"rainfall_source":"NOAA Atlas 14 (PDS mean)","geologic_hazards":{"liquefaction_zone":null,"earthquake_induced_landslide_zone":null,"tsunami_hazard_area":null,"nearby_subsidence_incidents":{"radius_mi":5,"count":17,"truncated":false,"incidents":[{"reference":"15-729","reported_at":"2015-05-29","verified_sinkhole":null,"location_accuracy":"QTR3","report_source":"Pinellas County Warning Point","dimensions":"U","length_ft":null,"width_ft":null,"depth_ft":null,"property_damage":"Y","repair_status":"Unknown"},{"reference":"15-037","reported_at":"2024-11-02","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":"Private Citizen","dimensions":"E","length_ft":0.5,"width_ft":0.5,"depth_ft":1,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-722","reported_at":"2014-06-27","verified_sinkhole":null,"location_accuracy":"QTR3","report_source":"EM","dimensions":"U","length_ft":5,"width_ft":5,"depth_ft":4,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-020","reported_at":"2004-08-06","verified_sinkhole":null,"location_accuracy":"PARCEL","report_source":null,"dimensions":"E","length_ft":4,"width_ft":4,"depth_ft":6,"property_damage":"Y","repair_status":"Unknown"},{"reference":"15-516","reported_at":"1988-09-12","verified_sinkhole":null,"location_accuracy":"GPS","report_source":null,"dimensions":"E","length_ft":4,"width_ft":4,"depth_ft":2,"property_damage":"N","repair_status":"Unknown"},{"reference":"15-503","reported_at":"1970-06-30","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":null,"dimensions":"E","length_ft":15,"width_ft":15,"depth_ft":0.5,"property_damage":"N","repair_status":"Repaired"},{"reference":"15-728","reported_at":"2015-08-11","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":"Pinellas County Utilities","dimensions":"U","length_ft":null,"width_ft":null,"depth_ft":null,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-014","reported_at":"2003-09-11","verified_sinkhole":null,"location_accuracy":"GPS","report_source":null,"dimensions":"E","length_ft":4,"width_ft":4,"depth_ft":8,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-718","reported_at":"2010-02-12","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":"State Warning Point","dimensions":"E","length_ft":4,"width_ft":3.5,"depth_ft":2,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-034","reported_at":"2024-10-12","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":"Private Citizen","dimensions":"E","length_ft":3,"width_ft":3,"depth_ft":5,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-505","reported_at":"1990-04-30","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":null,"dimensions":"E","length_ft":3,"width_ft":3,"depth_ft":1,"property_damage":"N","repair_status":"Repaired"},{"reference":"15-025","reported_at":"2023-07-29","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":"SWO email; private citizen, Barbara Surls","dimensions":"E","length_ft":2,"width_ft":2,"depth_ft":1.5,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-734","reported_at":"2016-09-02","verified_sinkhole":null,"location_accuracy":"GPS","report_source":"Tim, Private Citizen","dimensions":"M","length_ft":8,"width_ft":5,"depth_ft":null,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-726","reported_at":"2013-08-07","verified_sinkhole":null,"location_accuracy":"PARCEL","report_source":"Pinellas 911","dimensions":"E","length_ft":2.5,"width_ft":2.5,"depth_ft":null,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-039","reported_at":"2025-06-18","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":"Private Citizen","dimensions":"E","length_ft":1,"width_ft":1,"depth_ft":0.5,"property_damage":"U","repair_status":"Unknown"},{"reference":"15-004","reported_at":"2002-12-09","verified_sinkhole":null,"location_accuracy":"QTR2","report_source":null,"dimensions":"E","length_ft":3,"width_ft":3,"depth_ft":2,"property_damage":"Y","repair_status":"Repaired"},{"reference":"15-016","reported_at":"2001-01-11","verified_sinkhole":null,"location_accuracy":"GPSSA","report_source":null,"dimensions":"E","length_ft":10,"width_ft":30,"depth_ft":null,"property_damage":"U","repair_status":"Unknown"}]}}},"source":{"name":"ASCE 7 / FBC county wind maps, IECC, NOAA Atlas 14 + FGS subsidence reports","kind":"official","attribution":"ICC / ASCE / NOAA / Florida Geological Survey","note":"Wind speed is the county-level Risk Category II value — confirm site-specific values (and exposure) with the ATC hazard maps for permit sets. Florida subsidence records are reported incidents, not verified sinkholes or a site-specific geotechnical assessment."}},"weather":{"object":"location_section","layer":"weather","name":"Current conditions","category":"conditions","status":"available","summary":"Raining — 2.2 mm in the last 15 min. Heavy rain, 24°C (76°F), wind 15 km/h from the NW. Air quality good (AQI 29). UV index 8.","data":{"is_raining":true,"precipitation_mm":2.2,"precipitation_interval_seconds":900,"conditions":"Heavy rain","temperature_c":24.3,"temperature_f":76,"humidity_pct":91,"pressure_hpa":1013.6,"cloud_cover_pct":100,"uv_index":7.85,"is_day":true,"wind_speed_kmh":14.6,"wind_speed_mph":9.1,"wind_gusts_kmh":25.9,"wind_direction_deg":308,"wind_direction":"NW","air_quality":{"us_aqi":29,"pm2_5":3.9,"pm10":6.3,"ozone":69}},"source":{"name":"Open-Meteo","kind":"live","vintage":"live","attribution":"open-meteo.com","note":"Nearest model grid cell (~1–2 km from the point)."}},"elevation":{"object":"location_section","layer":"elevation","name":"Elevation","category":"geography","status":"available","summary":"Roughly 26 ft (8 m) above sea level — a satellite estimate, not a survey. Parcel terrain runs 0–20.9 ft NAVD88 (20.9 ft of relief), 129 one-foot contour lines.","data":{"elevation_m":8,"elevation_ft":26,"datum":"EGM2008","model":"surface (includes buildings and canopy)","resolution_m":90,"terrain_status":"ready","terrain":{"min_ft":0,"max_ft":20.9,"relief_ft":20.9,"contour_interval_ft":1,"contour_count":129,"datum":"NAVD88","source_resolution_m":10,"clipped_to":"parcel_bbox","geometry":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"elevation_ft":0},"geometry":{"type":"LineString","coordinates":[[-82.6305508,27.7777362],[-82.6305506,27.7777366],[-82.6304697,27.7777528],[-82.6304371,27.777764],[-82.6304329,27.7777919],[-82.630393,27.7778198],[-82.6303891,27.7778476],[-82.630389,27.7778755],[-82.6303888,27.7778757],[-82.6303085,27.7779033],[-82.6303081,27.7779312],[-82.6303079,27.7779314],[-82.6302275,27.7779591],[-82.6302272,27.7779869],[-82.630227,27.7779871],[-82.6301466,27.7780148],[-82.6301461,27.7780295],[-82.6301079,27.7780427],[-82.6300661,27.7780705],[-82.6300652,27.7780821],[-82.6300178,27.7780984],[-82.6299847,27.7781263],[-82.6299844,27.7781541],[-82.6299843,27.7781542],[-82.6299037,27.778182],[-82.6299034,27.778182],[-82.6298225,27.7781821],[-82.6297416,27.7781821],[-82.6296607,27.7781821],[-82.6295798,27.7781821],[-82.6294989,27.7781821],[-82.629418,27.7781821],[-82.6293371,27.7781821],[-82.6292561,27.7781821],[-82.6291752,27.7781821],[-82.6290943,27.7781821],[-82.6290134,27.7781821],[-82.6289325,27.7781821],[-82.6288516,27.7781821],[-82.6287707,27.7781821],[-82.6286898,27.7781821],[-82.6286089,27.7781821],[-82.628528,27.7781821],[-82.6284471,27.7781821],[-82.6283662,27.7781821],[-82.6282853,27.778182],[-82.6282044,27.778182],[-82.6281235,27.778182],[-82.6280426,27.7781821],[-82.6279617,27.7781821],[-82.6278808,27.7781821],[-82.6277999,27.7781821],[-82.627719,27.7781821],[-82.6277185,27.778182],[-82.627674,27.7781541],[-82.6276381,27.7781417],[-82.6276374,27.7781263],[-82.6275572,27.7780986],[-82.627557,27.7780984],[-82.627556,27.7780705],[-82.6274763,27.7780431],[-82.627476,27.7780427],[-82.6274642,27.7780148],[-82.6273954,27.7779911],[-82.6273949,27.7779869],[-82.6273197,27.7779591],[-82.6273145,27.7779573],[-82.6272336,27.7779313],[-82.6272329,27.7779312],[-82.6271527,27.7779036],[-82.6270718,27.7779034],[-82.6269909,27.7779034],[-82.62691,27.7779034],[-82.6268291,27.7779034],[-82.6267482,27.7779034],[-82.6266673,27.7779034],[-82.6265864,27.7779034],[-82.6265055,27.7779043],[-82.6264272,27.7779312],[-82.6264246,27.7779331]]}},{"type":"Feature","properties":{"elevation_ft":0},"geometry":{"type":"LineString","coordinates":[[-82.6265864,27.7777321],[-82.6266673,27.777736],[-82.6267482,27.7777359],[-82.6268291,27.7777359],[-82.62691,27.7777359],[-82.6269909,27.7777359],[-82.6270718,27.7777359],[-82.6271527,27.7777359]]}},{"type":"Feature","properties":{"elevation_ft":1},"geometry":{"type":"LineString","coordinates":[[-82.6305726,27.7777362],[-82.6305594,27.777764],[-82.6305506,27.7777686],[-82.6304959,27.7777919],[-82.6304867,27.7778198],[-82.6304697,27.777829],[-82.6304196,27.7778476],[-82.6304078,27.7778755],[-82.6303888,27.7778965],[-82.630369,27.7779033],[-82.6303285,27.7779312],[-82.6303079,27.7779499],[-82.6302812,27.7779591],[-82.6302486,27.7779869],[-82.630227,27.7780058],[-82.6302007,27.7780148],[-82.6301664,27.7780427],[-82.6301484,27.7780705],[-82.6301461,27.7780714],[-82.6300829,27.7780984],[-82.6300652,27.7781126],[-82.630026,27.7781263],[-82.6300022,27.7781541],[-82.6299843,27.7781644],[-82.6299331,27.778182],[-82.6299034,27.7781872],[-82.6298225,27.7781885],[-82.6297416,27.7781885],[-82.6296607,27.7781888],[-82.6295798,27.7781883],[-82.6294989,27.7781884],[-82.629418,27.7781883],[-82.6293371,27.7781887],[-82.6292561,27.7781888],[-82.6291752,27.7781887],[-82.6290943,27.7781886],[-82.6290134,27.7781885],[-82.6289325,27.7781886],[-82.6288516,27.7781887],[-82.6287707,27.7781888],[-82.6286898,27.7781884],[-82.6286089,27.7781883],[-82.628528,27.7781883],[-82.6284471,27.7781884],[-82.6283662,27.7781883],[-82.6282853,27.778188],[-82.6282044,27.778188],[-82.6281235,27.7781882],[-82.6280426,27.7781886],[-82.6279617,27.7781886],[-82.6278808,27.7781887],[-82.6277999,27.7781887],[-82.627719,27.7781888],[-82.6276675,27.778182],[-82.6276381,27.7781717],[-82.6276233,27.7781541],[-82.6275638,27.7781263],[-82.6275572,27.778124],[-82.6275403,27.7780984],[-82.6274763,27.7780729],[-82.6274713,27.7780705],[-82.6274484,27.7780427],[-82.6273954,27.778024],[-82.6273831,27.7780148],[-82.6273458,27.7779869],[-82.6273145,27.7779761],[-82.6272964,27.7779591],[-82.6272336,27.7779375],[-82.6271661,27.7779312],[-82.6271527,27.7779266],[-82.6270718,27.7779113],[-82.6269909,27.7779109],[-82.62691,27.7779105],[-82.6268291,27.7779108],[-82.6267482,27.7779117],[-82.6266673,27.7779116],[-82.6265864,27.7779122],[-82.6265253,27.7779312],[-82.6265055,27.7779345],[-82.6264358,27.7779591],[-82.6264246,27.7779678]]}},{"type":"Feature","properties":{"elevation_ft":2},"geometry":{"type":"LineString","coordinates":[[-82.6305944,27.7777362],[-82.6305811,27.777764],[-82.6305506,27.7777799],[-82.6305223,27.7777919],[-82.6305074,27.7778198],[-82.6304697,27.7778404],[-82.6304502,27.7778476],[-82.6304266,27.7778755],[-82.6304069,27.7779033],[-82.6303888,27.7779105],[-82.630349,27.7779312],[-82.6303231,27.7779591],[-82.6303079,27.7779652],[-82.63027,27.7779869],[-82.6302416,27.7780148],[-82.630227,27.7780206],[-82.6301868,27.7780427],[-82.6301698,27.7780705],[-82.6301461,27.7780791],[-82.6301009,27.7780984],[-82.6300667,27.7781263],[-82.6300652,27.7781268],[-82.63002,27.7781541],[-82.6299843,27.7781745],[-82.6299626,27.778182],[-82.6299034,27.7781924],[-82.6298225,27.7781949],[-82.6297416,27.778195],[-82.6296607,27.7781955],[-82.6295798,27.7781945],[-82.6294989,27.7781947],[-82.629418,27.7781946],[-82.6293371,27.7781953],[-82.6292561,27.7781956],[-82.6291752,27.7781954],[-82.6290943,27.7781951],[-82.6290134,27.7781949],[-82.6289325,27.7781952],[-82.6288516,27.7781954],[-82.6287707,27.7781955],[-82.6286898,27.7781948],[-82.6286089,27.7781946],[-82.628528,27.7781946],[-82.6284471,27.7781947],[-82.6283662,27.7781946],[-82.6282853,27.778194],[-82.6282044,27.778194],[-82.6281235,27.7781943],[-82.6280426,27.7781951],[-82.6279617,27.7781952],[-82.6278808,27.7781954],[-82.6277999,27.7781954],[-82.627719,27.7781956],[-82.6276381,27.7781858],[-82.62763,27.778182],[-82.6276083,27.7781541],[-82.6275572,27.7781321],[-82.6275437,27.7781263],[-82.6275235,27.7780984],[-82.6274763,27.7780796],[-82.627457,27.7780705],[-82.6274208,27.7780427],[-82.6273954,27.7780337],[-82.6273701,27.7780148],[-82.6273145,27.7779891],[-82.6273085,27.7779869],[-82.6272783,27.7779591],[-82.6272336,27.7779437],[-82.6271527,27.7779355],[-82.6271251,27.7779312],[-82.6270718,27.7779191],[-82.6269909,27.7779183],[-82.62691,27.7779175],[-82.6268291,27.7779181],[-82.6267482,27.7779199],[-82.6266673,27.7779197],[-82.6265864,27.777921],[-82.6265535,27.7779312],[-82.6265055,27.7779391],[-82.6264489,27.7779591],[-82.6264246,27.777978],[-82.6263999,27.7779869]]}},{"type":"Feature","properties":{"elevation_ft":3},"geometry":{"type":"LineString","coordinates":[[-82.6306315,27.7777264],[-82.6306162,27.7777362],[-82.6306027,27.777764],[-82.6305506,27.7777911],[-82.6305487,27.7777919],[-82.6305281,27.7778198],[-82.6304881,27.7778476],[-82.6304697,27.7778537],[-82.6304454,27.7778755],[-82.6304338,27.7779033],[-82.6303888,27.7779212],[-82.6303695,27.7779312],[-82.6303534,27.7779591],[-82.6303079,27.7779775],[-82.6302914,27.7779869],[-82.63027,27.7780148],[-82.630227,27.7780319],[-82.6302073,27.7780427],[-82.6301911,27.7780705],[-82.6301461,27.7780868],[-82.6301189,27.7780984],[-82.6300962,27.7781263],[-82.6300652,27.7781376],[-82.6300378,27.7781541],[-82.6299976,27.778182],[-82.6299843,27.7781864],[-82.6299034,27.7781975],[-82.6298225,27.7782013],[-82.6297416,27.7782015],[-82.6296607,27.7782022],[-82.6295798,27.7782008],[-82.6294989,27.7782011],[-82.629418,27.7782008],[-82.6293371,27.7782019],[-82.6292561,27.7782024],[-82.6291752,27.7782021],[-82.6290943,27.7782016],[-82.6290134,27.7782014],[-82.6289325,27.7782018],[-82.6288516,27.778202],[-82.6287707,27.7782022],[-82.6286898,27.7782012],[-82.6286089,27.7782009],[-82.628528,27.7782009],[-82.6284471,27.778201],[-82.6283662,27.7782009],[-82.6282853,27.7782],[-82.6282044,27.7782],[-82.6281235,27.7782005],[-82.6280426,27.7782016],[-82.6279617,27.7782017],[-82.6278808,27.7782021],[-82.6277999,27.7782021],[-82.627719,27.7782023],[-82.6276381,27.7781948],[-82.6276108,27.778182],[-82.6275934,27.7781541],[-82.6275572,27.7781385],[-82.6275288,27.7781263],[-82.6275068,27.7780984],[-82.6274763,27.7780862],[-82.6274428,27.7780705],[-82.6273954,27.7780433],[-82.6273938,27.7780427],[-82.6273571,27.7780148],[-82.6273145,27.7779951],[-82.627292,27.7779869],[-82.6272603,27.7779591],[-82.6272336,27.7779499],[-82.6271527,27.777941],[-82.6270905,27.7779312],[-82.6270718,27.777927],[-82.6269909,27.7779257],[-82.62691,27.7779246],[-82.6268291,27.7779255],[-82.6267482,27.7779281],[-82.6266673,27.7779279],[-82.6265864,27.7779298],[-82.6265817,27.7779312],[-82.6265055,27.7779437],[-82.626462,27.7779591],[-82.6264269,27.7779869],[-82.6264246,27.7779882],[-82.6263876,27.7780148]]}},{"type":"Feature","properties":{"elevation_ft":3},"geometry":{"type":"LineString","coordinates":[[-82.628528,27.7785684],[-82.6285334,27.7785721],[-82.628528,27.7785781],[-82.6284985,27.7785721],[-82.628528,27.7785684]]}},{"type":"Feature","properties":{"elevation_ft":3},"geometry":{"type":"LineString","coordinates":[[-82.6294989,27.7784437],[-82.6295414,27.7784606],[-82.6294989,27.7784665],[-82.6294825,27.7784606],[-82.6294989,27.7784437]]}},{"type":"Feature","properties":{"elevation_ft":4},"geometry":{"type":"LineString","coordinates":[[-82.6306743,27.7777362],[-82.6306315,27.7777494],[-82.6306243,27.777764],[-82.6306315,27.7777836],[-82.6306626,27.7777919],[-82.6307124,27.7778175],[-82.6307138,27.7778198],[-82.6307124,27.7778205],[-82.6306315,27.7778275],[-82.630582,27.7778198],[-82.6305506,27.7778174],[-82.6305488,27.7778198],[-82.630539,27.7778476],[-82.6304697,27.7778706],[-82.6304643,27.7778755],[-82.6304607,27.7779033],[-82.6304016,27.7779312],[-82.6303888,27.777938],[-82.6303836,27.7779591],[-82.6303842,27.7779869],[-82.6303079,27.7779982],[-82.6302984,27.7780148],[-82.6302341,27.7780427],[-82.630227,27.7780442],[-82.6302124,27.7780705],[-82.6301461,27.7780945],[-82.6301369,27.7780984],[-82.6301256,27.7781263],[-82.6300652,27.7781484],[-82.6300556,27.7781541],[-82.630048,27.778182],[-82.6299843,27.7782029],[-82.6299034,27.7782027],[-82.6298225,27.7782077],[-82.6297416,27.7782079],[-82.6296607,27.778209],[-82.6295798,27.778207],[-82.6294989,27.7782074],[-82.629418,27.7782071],[-82.6293371,27.7782085],[-82.6292561,27.7782091],[-82.6291752,27.7782088],[-82.6290943,27.7782082],[-82.6290134,27.7782078],[-82.6289325,27.7782084],[-82.6288516,27.7782086],[-82.6287707,27.7782089],[-82.6286898,27.7782076],[-82.6286089,27.7782072],[-82.628528,27.7782072],[-82.6284471,27.7782073],[-82.6283662,27.7782071],[-82.6282853,27.7782059],[-82.6282044,27.778206],[-82.6281235,27.7782066],[-82.6280426,27.7782081],[-82.6279617,27.7782083],[-82.6278808,27.7782088],[-82.6277999,27.7782088],[-82.627719,27.7782091],[-82.6276381,27.7782038],[-82.6275916,27.778182],[-82.6275785,27.7781541],[-82.6275572,27.778145],[-82.6275139,27.7781263],[-82.62749,27.7780984],[-82.6274763,27.7780929],[-82.6274285,27.7780705],[-82.6273954,27.7780515],[-82.6273729,27.7780427],[-82.627344,27.7780148],[-82.6273145,27.7780012],[-82.6272755,27.7779869],[-82.6272422,27.7779591],[-82.6272336,27.7779561],[-82.6271527,27.7779464],[-82.6270718,27.7779353],[-82.6269909,27.7779337],[-82.62691,27.7779318],[-82.6268291,27.7779333],[-82.6267482,27.7779365],[-82.6266673,27.7779359],[-82.6265864,27.7779373],[-82.6265055,27.7779483],[-82.6264751,27.7779591],[-82.6264472,27.7779869],[-82.6264246,27.7779986],[-82.626402,27.7780148]]}},{"type":"Feature","properties":{"elevation_ft":4},"geometry":{"type":"LineString","coordinates":[[-82.6267482,27.7785987],[-82.6268291,27.7785967],[-82.62691,27.7785944],[-82.6269909,27.7785997],[-82.6269922,27.7786],[-82.627011,27.7786278],[-82.6269917,27.7786557],[-82.6269909,27.7786565],[-82.6269375,27.7786835],[-82.626934,27.7787114],[-82.6269352,27.7787393],[-82.6269336,27.7787671],[-82.6269332,27.778795],[-82.62691,27.7788042],[-82.6268291,27.7788049],[-82.6267482,27.7788188],[-82.6267333,27.7788229],[-82.6266673,27.7788317],[-82.6265864,27.778823],[-82.6265862,27.7788229],[-82.6265864,27.7788227],[-82.6266345,27.778795],[-82.6266577,27.7787671],[-82.6266377,27.7787393],[-82.6265864,27.7787188],[-82.6265715,27.7787114],[-82.6265682,27.7786835],[-82.6265602,27.7786557],[-82.626571,27.7786278],[-82.6265864,27.7786237],[-82.6266673,27.7786084],[-82.6267307,27.7786],[-82.6267482,27.7785987]]}},{"type":"Feature","properties":{"elevation_ft":4},"geometry":{"type":"LineString","coordinates":[[-82.6284471,27.7785226],[-82.6285017,27.7785442],[-82.628528,27.7785489],[-82.6285618,27.7785721],[-82.6285823,27.7786],[-82.628528,27.7786048],[-82.6285028,27.7786],[-82.6284471,27.7785856],[-82.6284178,27.7785721],[-82.6284145,27.7785442],[-82.6284471,27.7785226]]}},{"type":"Feature","properties":{"elevation_ft":4},"geometry":{"type":"LineString","coordinates":[[-82.6293371,27.7783983],[-82.6293861,27.7784049],[-82.629418,27.7784096],[-82.6294989,27.7784121],[-82.6295798,27.7784128],[-82.6296489,27.7784328],[-82.6296418,27.7784606],[-82.6295798,27.7784835],[-82.6294989,27.7784872],[-82.6294244,27.7784606],[-82.629418,27.7784562],[-82.6293955,27.7784606],[-82.6293371,27.7784626],[-82.629312,27.7784606],[-82.6293371,27.7784357],[-82.6293414,27.7784328],[-82.6293371,27.7784285],[-82.6293272,27.7784049],[-82.6293371,27.7783983]]}},{"type":"Feature","properties":{"elevation_ft":4},"geometry":{"type":"LineString","coordinates":[[-82.6267482,27.7783172],[-82.6268291,27.7783122],[-82.62691,27.7783148],[-82.6269909,27.7783145],[-82.6270718,27.7783133],[-82.6271051,27.7783213],[-82.6271098,27.7783492],[-82.6271004,27.778377],[-82.6270932,27.7784049],[-82.6270753,27.7784328],[-82.6270718,27.7784347],[-82.6270217,27.7784606],[-82.6269976,27.7784885],[-82.6269909,27.7784908],[-82.62691,27.7784978],[-82.6268291,27.778506],[-82.6267482,27.7785015],[-82.6266673,27.7784972],[-82.6266338,27.7784885],[-82.6266398,27.7784606],[-82.6266511,27.7784328],[-82.6266673,27.7784074],[-82.6266721,27.7784049],[-82.6266702,27.778377],[-82.6266814,27.7783492],[-82.6267288,27.7783213],[-82.6267482,27.7783172]]}},{"type":"Feature","properties":{"elevation_ft":4},"geometry":{"type":"LineString","coordinates":[[-82.6290943,27.7782796],[-82.6291147,27.7782934],[-82.6290943,27.7782992],[-82.6290828,27.7782934],[-82.6290943,27.7782796]]}},{"type":"Feature","properties":{"elevation_ft":4},"geometry":{"type":"LineString","coordinates":[[-82.6307933,27.7777606],[-82.6307961,27.777764],[-82.6307933,27.7777654],[-82.6307856,27.777764],[-82.6307933,27.7777606]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6265552,27.7786],[-82.6265864,27.7786054],[-82.6266131,27.7786],[-82.6265864,27.778583],[-82.6265552,27.7786]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6298736,27.7782099],[-82.6299034,27.7782342],[-82.6299358,27.7782099],[-82.6299034,27.7782078],[-82.6298736,27.7782099]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6308962,27.7777362],[-82.6308742,27.77776],[-82.6308719,27.777764],[-82.6308188,27.7777919],[-82.6307933,27.7778123],[-82.6307859,27.7778198],[-82.6307348,27.7778476],[-82.6307124,27.7778695],[-82.6307055,27.7778755],[-82.6306619,27.7779033],[-82.6306315,27.7779241],[-82.6306183,27.7779312],[-82.6305909,27.7779591],[-82.6305506,27.7779778],[-82.6305219,27.7779869],[-82.6305039,27.7780148],[-82.6304697,27.7780344],[-82.6304345,27.7780427],[-82.6304145,27.7780705],[-82.6303888,27.7780799],[-82.6303219,27.7780984],[-82.6303156,27.7781263],[-82.6303079,27.7781371],[-82.6302686,27.7781541],[-82.6302348,27.778182],[-82.6302455,27.7782099],[-82.630227,27.7782228],[-82.6301752,27.7782099],[-82.6301461,27.778195],[-82.6301311,27.7782099],[-82.6300652,27.77823],[-82.6299843,27.778234],[-82.6299348,27.7782377],[-82.6299843,27.7782556],[-82.6300652,27.7782615],[-82.630071,27.7782656],[-82.6300652,27.7782663],[-82.6299843,27.7782668],[-82.6299034,27.7782667],[-82.6298225,27.7782714],[-82.6297416,27.7782715],[-82.6296752,27.7782934],[-82.6296607,27.7783042],[-82.6296285,27.7783213],[-82.6296016,27.7783492],[-82.629616,27.778377],[-82.629637,27.7784049],[-82.6296607,27.7784121],[-82.6297034,27.7784328],[-82.6297028,27.7784606],[-82.6296732,27.7784885],[-82.6296607,27.7784921],[-82.6295798,27.7784977],[-82.6294989,27.7784938],[-82.6294602,27.7784885],[-82.629418,27.7784736],[-82.6293371,27.7784696],[-82.6292663,27.7784885],[-82.6292561,27.7784905],[-82.6292039,27.7784885],[-82.6292243,27.7784606],[-82.6292525,27.7784328],[-82.6292561,27.7784294],[-82.6292727,27.7784049],[-82.6292561,27.778397],[-82.6292296,27.778377],[-82.6292561,27.7783492],[-82.6293371,27.7783639],[-82.629418,27.7783711],[-82.6294671,27.778377],[-82.6294989,27.7783804],[-82.6295127,27.778377],[-82.6295459,27.7783492],[-82.6294989,27.7783402],[-82.6294564,27.7783213],[-82.6294989,27.7783076],[-82.6295798,27.778305],[-82.6296308,27.7782934],[-82.6295798,27.7782776],[-82.6294989,27.7782754],[-82.629418,27.7782883],[-82.6293991,27.7782934],[-82.6293371,27.7783006],[-82.6292894,27.7782934],[-82.6292561,27.7782771],[-82.6291972,27.7782656],[-82.6291752,27.7782628],[-82.6291647,27.7782656],[-82.6291501,27.7782934],[-82.6290943,27.7783092],[-82.6290627,27.7782934],[-82.6290134,27.7782665],[-82.6289824,27.7782656],[-82.6289325,27.7782589],[-82.6288676,27.7782656],[-82.6288516,27.7782659],[-82.6287757,27.7782656],[-82.6287707,27.7782653],[-82.6286898,27.7782564],[-82.6286089,27.7782523],[-82.628528,27.7782505],[-82.6284471,27.7782467],[-82.6283662,27.7782497],[-82.6282853,27.7782486],[-82.6282044,27.7782518],[-82.6281235,27.7782493],[-82.6280426,27.7782525],[-82.6279617,27.778257],[-82.6278987,27.7782656],[-82.6278808,27.778266],[-82.6277999,27.7782702],[-82.627719,27.7782743],[-82.6276381,27.7782758],[-82.6275572,27.7782698],[-82.6274763,27.7782677],[-82.6273954,27.7782691],[-82.6273145,27.7782688],[-82.6272336,27.778268],[-82.6271527,27.7782728],[-82.6270718,27.7782691],[-82.6269909,27.7782676],[-82.6269519,27.7782656],[-82.62691,27.7782569],[-82.6268313,27.7782656],[-82.6268291,27.7782657],[-82.6268284,27.7782656],[-82.6267505,27.7782377],[-82.6268291,27.7782351],[-82.62691,27.778229],[-82.6269909,27.7782248],[-82.6270718,27.7782179],[-82.6271527,27.7782198],[-82.6272336,27.7782099],[-82.6272339,27.7782099],[-82.6273145,27.7782068],[-82.6273876,27.7782099],[-82.6273954,27.7782105],[-82.6273992,27.7782099],[-82.6274763,27.7782032],[-82.6275572,27.778205],[-82.6275724,27.778182],[-82.6275635,27.7781541],[-82.6275572,27.7781514],[-82.627499,27.7781263],[-82.6274763,27.7781013],[-82.6274662,27.7780984],[-82.6274143,27.7780705],[-82.6273954,27.7780597],[-82.627352,27.7780427],[-82.627331,27.7780148],[-82.6273145,27.7780072],[-82.627259,27.7779869],[-82.6272336,27.7779662],[-82.6272108,27.7779591],[-82.6271527,27.7779518],[-82.6270718,27.7779441],[-82.6269909,27.7779429],[-82.62691,27.7779421],[-82.6268291,27.777943],[-82.6267482,27.7779449],[-82.6266673,27.7779439],[-82.6265864,27.7779446],[-82.6265055,27.777953],[-82.6264882,27.7779591],[-82.6264675,27.7779869],[-82.6264246,27.778009],[-82.6264165,27.7780148],[-82.6263861,27.7780427]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6281235,27.7788486],[-82.6281651,27.7788507],[-82.6282044,27.7788615],[-82.6282853,27.7788621],[-82.6283325,27.7788786],[-82.6282853,27.778889],[-82.628219,27.7789065],[-82.628207,27.7789343],[-82.6282044,27.7789429],[-82.6281612,27.7789622],[-82.6281557,27.77899],[-82.6281235,27.779005],[-82.628113,27.77899],[-82.6281059,27.7789622],[-82.6280662,27.7789343],[-82.62805,27.7789065],[-82.6280426,27.7789023],[-82.6279617,27.7788856],[-82.6278808,27.7788806],[-82.6277999,27.7788793],[-82.6277886,27.7788786],[-82.6277999,27.7788782],[-82.6278808,27.7788758],[-82.6279617,27.7788695],[-82.6280426,27.7788574],[-82.6280781,27.7788507],[-82.6281235,27.7788486]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6284471,27.7784923],[-82.6284804,27.7785164],[-82.628528,27.7785336],[-82.6285576,27.7785442],[-82.6285902,27.7785721],[-82.6286089,27.7785843],[-82.6286391,27.7786],[-82.6286089,27.7786162],[-82.628528,27.7786198],[-82.6284471,27.778605],[-82.6284337,27.7786],[-82.6283741,27.7785721],[-82.6283662,27.7785609],[-82.6283504,27.7785442],[-82.6283662,27.7785266],[-82.6283786,27.7785164],[-82.6284471,27.7784923]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6264246,27.7783897],[-82.6265055,27.7783774],[-82.6265226,27.7784049],[-82.6265215,27.7784328],[-82.626529,27.7784606],[-82.626565,27.7784885],[-82.6265498,27.7785164],[-82.6265765,27.7785442],[-82.6265864,27.7785548],[-82.6266059,27.7785721],[-82.6266673,27.778586],[-82.6267482,27.7785873],[-82.6268291,27.7785863],[-82.62691,27.7785835],[-82.6269909,27.7785859],[-82.6270537,27.7786],[-82.6270551,27.7786278],[-82.6270321,27.7786557],[-82.627015,27.7786835],[-82.6269909,27.7787097],[-82.6269898,27.7787114],[-82.6269873,27.7787393],[-82.6269719,27.7787671],[-82.6269641,27.778795],[-82.62691,27.7788164],[-82.6268291,27.7788208],[-82.6268184,27.7788229],[-82.6267482,27.7788397],[-82.6266673,27.7788437],[-82.6265864,27.7788393],[-82.6265485,27.7788229],[-82.6265864,27.7787983],[-82.626592,27.778795],[-82.6266303,27.7787671],[-82.6265994,27.7787393],[-82.6265864,27.7787341],[-82.626541,27.7787114],[-82.6265361,27.7786835],[-82.6265176,27.7786557],[-82.6265055,27.7786314],[-82.6264807,27.7786557],[-82.6264472,27.7786835],[-82.626445,27.7787114],[-82.6264469,27.7787393],[-82.6264398,27.7787671],[-82.62644,27.778795],[-82.6264246,27.7788048],[-82.626401,27.7788229],[-82.6264246,27.7788445],[-82.6264694,27.7788507],[-82.6265055,27.7788554],[-82.6265864,27.7788661],[-82.6266673,27.7788669],[-82.6267482,27.7788675],[-82.6268291,27.7788659],[-82.62691,27.7788659],[-82.6269909,27.7788709],[-82.6270718,27.7788692],[-82.6271527,27.7788735],[-82.6272336,27.7788761],[-82.6272574,27.7788786],[-82.6272336,27.7788813],[-82.6271527,27.7788923],[-82.6270718,27.7788964],[-82.6269909,27.7788867],[-82.62691,27.7788907],[-82.6268291,27.7788955],[-82.6267482,27.7788939],[-82.6266673,27.7788952],[-82.6265864,27.7789022],[-82.6265055,27.7789022],[-82.6264668,27.7789065],[-82.6265055,27.7789108],[-82.6265692,27.7789343],[-82.626531,27.7789622],[-82.6265343,27.77899],[-82.6265291,27.7790179],[-82.6265196,27.7790458],[-82.6265122,27.7790736],[-82.6265055,27.7790925],[-82.6264592,27.7791015],[-82.6264246,27.7791078],[-82.6264216,27.7791015],[-82.6264108,27.7790736],[-82.6263973,27.7790458],[-82.6263893,27.7790179]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6263899,27.7785442],[-82.6263923,27.7785164],[-82.6264023,27.7784885],[-82.6264023,27.7784606],[-82.6264132,27.7784328],[-82.6264183,27.7784049],[-82.6264246,27.7783897]]}},{"type":"Feature","properties":{"elevation_ft":5},"geometry":{"type":"LineString","coordinates":[[-82.6267482,27.7783077],[-82.6268291,27.7783004],[-82.62691,27.7783044],[-82.6269909,27.778303],[-82.6270718,27.7782997],[-82.6271527,27.7783151],[-82.6271574,27.7783213],[-82.627154,27.7783492],[-82.6271527,27.778351],[-82.6271315,27.778377],[-82.6271192,27.7784049],[-82.6271053,27.7784328],[-82.6270718,27.7784507],[-82.6270527,27.7784606],[-82.627027,27.7784885],[-82.6269909,27.7785011],[-82.62691,27.77851],[-82.6268697,27.7785164],[-82.6268291,27.7785255],[-82.6267482,27.7785179],[-82.6267417,27.7785164],[-82.6266673,27.7785078],[-82.6265933,27.7784885],[-82.6266104,27.7784606],[-82.6266197,27.7784328],[-82.6266117,27.7784049],[-82.6266106,27.778377],[-82.6265953,27.7783492],[-82.6266673,27.7783295],[-82.6266833,27.7783213],[-82.6267482,27.7783077]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.626408,27.7792966],[-82.6264246,27.7793192],[-82.6264599,27.7792966],[-82.6264246,27.7792838],[-82.626408,27.7792966]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6267093,27.7793801],[-82.6266673,27.7793695],[-82.6265925,27.7793523],[-82.6265864,27.7793503],[-82.6265233,27.7793244],[-82.6265055,27.7793139],[-82.626443,27.7793244],[-82.6264566,27.7793523],[-82.6265055,27.7793791],[-82.6265093,27.7793801],[-82.6265055,27.7793803],[-82.6265045,27.7793801],[-82.6264246,27.7793569]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6267478,27.7790458],[-82.6267482,27.7790461],[-82.6267534,27.7790458],[-82.6267482,27.7790457],[-82.6267478,27.7790458]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.627348,27.7789343],[-82.6273954,27.7789483],[-82.627442,27.7789343],[-82.6273954,27.7789242],[-82.627348,27.7789343]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6268995,27.7789343],[-82.62691,27.7789392],[-82.6269909,27.7789402],[-82.6270263,27.7789343],[-82.6269909,27.7789334],[-82.62691,27.7789307],[-82.6268995,27.7789343]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6264971,27.7787114],[-82.6264962,27.7787393],[-82.6264868,27.7787671],[-82.6265027,27.778795],[-82.626489,27.7788229],[-82.6265055,27.7788266],[-82.6265107,27.7788229],[-82.6265095,27.778795],[-82.6265864,27.7787786],[-82.626603,27.7787671],[-82.6265864,27.7787538],[-82.6265234,27.7787393],[-82.6265104,27.7787114],[-82.6265055,27.7786899],[-82.6264971,27.7787114]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6265825,27.7784328],[-82.6265864,27.77844],[-82.6265884,27.7784328],[-82.6265864,27.77843],[-82.6265825,27.7784328]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6269014,27.7782934],[-82.62691,27.778294],[-82.6269276,27.7782934],[-82.62691,27.778292],[-82.6269014,27.7782934]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6266497,27.7782934],[-82.6266673,27.7783014],[-82.6267482,27.7782981],[-82.6267921,27.7782934],[-82.6267482,27.7782827],[-82.6266673,27.7782877],[-82.6266497,27.7782934]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6265013,27.7779591],[-82.6264878,27.7779869],[-82.6264501,27.7780148],[-82.6264246,27.7780287],[-82.6264127,27.7780427]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6264246,27.7782406],[-82.6264284,27.7782377],[-82.6264249,27.7782099],[-82.6264246,27.7782097],[-82.6263879,27.778182],[-82.6264246,27.7781594],[-82.626452,27.7781541],[-82.6265055,27.7781496],[-82.6265616,27.7781541],[-82.6265864,27.7781778],[-82.6265888,27.778182],[-82.6266673,27.7781979],[-82.6267482,27.7781876],[-82.6268291,27.7781857],[-82.6268837,27.778182],[-82.62691,27.7781779],[-82.6269909,27.7781595],[-82.6270718,27.7781598],[-82.6271527,27.778156],[-82.6272336,27.778159],[-82.6272561,27.7781541],[-82.6273145,27.7781398],[-82.6273456,27.7781541],[-82.6273954,27.7781623],[-82.6274763,27.7781662],[-82.6274992,27.7781541],[-82.6274841,27.7781263],[-82.6274763,27.7781176],[-82.6274098,27.7780984],[-82.6274,27.7780705],[-82.6273954,27.7780679],[-82.6273311,27.7780427],[-82.627318,27.7780148],[-82.6273145,27.7780132],[-82.6272425,27.7779869],[-82.6272336,27.7779797],[-82.6271673,27.7779591],[-82.6271527,27.7779572],[-82.6270718,27.7779529],[-82.6269909,27.7779522],[-82.62691,27.7779525],[-82.6268291,27.7779527],[-82.6267482,27.7779533],[-82.6266673,27.7779519],[-82.6265864,27.7779519],[-82.6265055,27.7779576],[-82.6265013,27.7779591]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6310133,27.7777362],[-82.6309692,27.777764],[-82.6309551,27.7777708],[-82.6309222,27.7777919],[-82.6308742,27.7778144],[-82.6308666,27.7778198],[-82.6308103,27.7778476],[-82.6307933,27.7778575],[-82.630771,27.7778755],[-82.6307363,27.7779033],[-82.6307124,27.777921],[-82.6307006,27.7779312],[-82.6306583,27.7779591],[-82.6306315,27.777971],[-82.6306002,27.7779869],[-82.6305579,27.7780148],[-82.6305506,27.7780188],[-82.6305184,27.7780427],[-82.6304697,27.7780627],[-82.6304577,27.7780705],[-82.6303888,27.7780956],[-82.6303787,27.7780984],[-82.6303462,27.7781263],[-82.6303461,27.7781541],[-82.6303079,27.7781745],[-82.6302946,27.778182],[-82.6303079,27.7781928],[-82.6303453,27.7782099],[-82.6303888,27.7782218],[-82.6304697,27.7782362],[-82.6304758,27.7782377],[-82.6304697,27.7782396],[-82.6303888,27.7782578],[-82.6303415,27.7782656],[-82.6303079,27.7782709],[-82.630227,27.7782865],[-82.6301461,27.7782788],[-82.6300652,27.7782894],[-82.6299843,27.7782924],[-82.6299034,27.7782907],[-82.6298225,27.7782886],[-82.6297416,27.7782896],[-82.62973,27.7782934],[-82.6297018,27.7783213],[-82.6296758,27.7783492],[-82.6296876,27.778377],[-82.6297243,27.7784049],[-82.6297416,27.7784183],[-82.6297524,27.7784328],[-82.6297572,27.7784606],[-82.6297624,27.7784885],[-82.6297416,27.7785026],[-82.6296926,27.7785164],[-82.6296607,27.7785235],[-82.6296396,27.7785164],[-82.6295798,27.7785087],[-82.6294989,27.7784994],[-82.6294189,27.7784885],[-82.629418,27.7784882],[-82.6293371,27.7784766],[-82.6292924,27.7784885],[-82.6292561,27.7784956],[-82.6291752,27.7785104],[-82.6291339,27.7785164],[-82.6290943,27.7785188],[-82.6290764,27.7785164],[-82.6290943,27.7784997],[-82.6291065,27.7784885],[-82.6291364,27.7784606],[-82.629164,27.7784328],[-82.6291752,27.7784223],[-82.6291943,27.7784049],[-82.6291947,27.778377],[-82.6291752,27.7783669],[-82.6291466,27.7783492],[-82.6291144,27.7783213],[-82.6290943,27.7783192],[-82.6290426,27.7782934],[-82.6290134,27.7782775],[-82.6289325,27.7782731],[-82.6288516,27.7782757],[-82.6287707,27.7782751],[-82.6286898,27.7782739],[-82.6286089,27.7782729],[-82.628528,27.7782727],[-82.6284471,27.7782726],[-82.6283662,27.7782727],[-82.6282853,27.7782735],[-82.6282044,27.7782743],[-82.6281235,27.7782747],[-82.6280426,27.7782754],[-82.6279617,27.778276],[-82.6278808,27.7782782],[-82.6277999,27.7782815],[-82.627719,27.7782885],[-82.6276381,27.7782897],[-82.6275572,27.7782812],[-82.6274763,27.7782768],[-82.6273954,27.7782774],[-82.6273145,27.7782798],[-82.6272336,27.7782817],[-82.6271804,27.7782934],[-82.6271871,27.7783213],[-82.6271815,27.7783492],[-82.6271646,27.778377],[-82.6271527,27.7783916],[-82.6271451,27.7784049],[-82.6271352,27.7784328],[-82.627096,27.7784606],[-82.6270718,27.7784725],[-82.6270564,27.7784885],[-82.6269909,27.7785113],[-82.6269495,27.7785164],[-82.62691,27.7785356],[-82.6268291,27.7785428],[-82.6267482,27.7785398],[-82.6266796,27.7785442],[-82.6267111,27.7785721],[-82.6267482,27.7785759],[-82.6268291,27.7785759],[-82.62691,27.7785725],[-82.6269872,27.7785721],[-82.6269909,27.778572],[-82.6269912,27.7785721],[-82.6270718,27.7785837],[-82.6270956,27.7786],[-82.6270947,27.7786278],[-82.6270728,27.7786557],[-82.6271527,27.7786805],[-82.6271794,27.7786835],[-82.6271527,27.7786892],[-82.6270745,27.7787114],[-82.6270718,27.7787138],[-82.6270552,27.7787393],[-82.6270419,27.7787671],[-82.6270097,27.778795],[-82.6270404,27.7788229],[-82.6270718,27.7788269],[-82.6271527,27.7788406],[-82.6272336,27.7788361],[-82.6273145,27.7788374],[-82.6273954,27.7788366],[-82.6274763,27.7788351],[-82.6275572,27.7788335],[-82.6276381,27.7788327],[-82.627719,27.7788251],[-82.6277999,27.7788296],[-82.6278265,27.7788229],[-82.6278808,27.7788077],[-82.6279617,27.7788192],[-82.6280426,27.7788193],[-82.6280616,27.7788229],[-82.6281235,27.7788287],[-82.6282044,27.7788299],[-82.6282853,27.7788277],[-82.6283662,27.7788452],[-82.6284126,27.7788507],[-82.6284471,27.7788561],[-82.6284886,27.7788507],[-82.628528,27.7788467],[-82.6285529,27.7788507],[-82.6285638,27.7788786],[-82.628528,27.7788815],[-82.6284471,27.7788867],[-82.6283662,27.7788923],[-82.6283172,27.7789065],[-82.6282895,27.7789343],[-82.6282952,27.7789622],[-82.6283091,27.77899],[-82.6282879,27.7790179],[-82.6282853,27.779032],[-82.6282824,27.7790458],[-82.6282853,27.7790491],[-82.6282996,27.7790736],[-82.628289,27.7791015],[-82.6282853,27.7791141],[-82.62827,27.7791294],[-82.6282853,27.7791549],[-82.6282859,27.7791572],[-82.6283662,27.7791777],[-82.6284291,27.7791851],[-82.6283662,27.7791932],[-82.6282853,27.7792001],[-82.6282416,27.779213],[-82.6282044,27.779224],[-82.6281529,27.7792408],[-82.6281235,27.7792598],[-82.6280857,27.7792687],[-82.6280653,27.7792966],[-82.6280426,27.7793146],[-82.6280031,27.7793244],[-82.6279617,27.7793405],[-82.6279122,27.7793523],[-82.6278808,27.7793651],[-82.6277999,27.7793722],[-82.6277437,27.7793523],[-82.6277999,27.7793291],[-82.6278161,27.7793244],[-82.6278271,27.7792966],[-82.6278778,27.7792687],[-82.6278808,27.7792676],[-82.6279131,27.7792408],[-82.6278808,27.7792233],[-82.6277999,27.7792207],[-82.6277543,27.779213],[-82.6277275,27.7791851],[-82.6277932,27.7791572],[-82.6277841,27.7791294],[-82.6277252,27.7791015],[-82.627719,27.7790805],[-82.6277117,27.7790736],[-82.6276479,27.7790458],[-82.6276381,27.779043],[-82.6276224,27.7790458],[-82.6276111,27.7790736],[-82.6275572,27.7790862],[-82.6274763,27.779094],[-82.6273954,27.7790803],[-82.6273145,27.7790812],[-82.6272712,27.7790736],[-82.6272336,27.7790633],[-82.6271758,27.7790458],[-82.6271527,27.7790412],[-82.6271257,27.7790458],[-82.6270718,27.7790554],[-82.6269909,27.7790594],[-82.6269425,27.7790736],[-82.62691,27.7790748],[-82.6268642,27.7790736],[-82.6268291,27.7790642],[-82.6268233,27.7790736],[-82.6267482,27.7790851],[-82.6267036,27.7791015],[-82.6266673,27.7791094],[-82.6266267,27.7791294],[-82.6265864,27.7791539],[-82.6265828,27.7791572],[-82.6265648,27.7791851],[-82.6265864,27.7792027],[-82.6266092,27.779213],[-82.6266214,27.7792408],[-82.6266387,27.7792687],[-82.6266648,27.7792966],[-82.6266673,27.7792975],[-82.6267482,27.7793164],[-82.6267859,27.7793244],[-82.6268291,27.7793367],[-82.6268865,27.7793523],[-82.62691,27.7793588],[-82.6269909,27.7793683],[-82.6270455,27.7793801],[-82.6270718,27.7793893]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6276381,27.7791426],[-82.6276856,27.7791572],[-82.6276381,27.7791832],[-82.6276138,27.7791572],[-82.6276381,27.7791426]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6299034,27.778544],[-82.6299056,27.7785442],[-82.6299034,27.7785449],[-82.6298996,27.7785442],[-82.6299034,27.778544]]}},{"type":"Feature","properties":{"elevation_ft":6},"geometry":{"type":"LineString","coordinates":[[-82.6283662,27.77847],[-82.6284471,27.7784758],[-82.6284885,27.7784885],[-82.6285192,27.7785164],[-82.628528,27.7785195],[-82.6285965,27.7785442],[-82.6286089,27.7785577],[-82.6286898,27.7785619],[-82.6287458,27.7785721],[-82.6286898,27.7785783],[-82.628675,27.7786],[-82.6286744,27.7786278],[-82.6286898,27.7786314],[-82.6287574,27.7786557],[-82.6286898,27.778669],[-82.6286089,27.7786642],[-82.628528,27.7786608],[-82.6284471,27.7786609],[-82.6284329,27.7786557],[-82.6284471,27.7786419],[-82.6284806,27.7786278],[-82.6284471,27.7786222],[-82.6283873,27.7786],[-82.6283662,27.77859],[-82.6283297,27.7785721],[-82.628291,27.7785442],[-82.6283115,27.7785164],[-82.6283413,27.7784885],[-82.6283662,27.77847]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6265055,27.7793917],[-82.6264246,27.7793827],[-82.6264172,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.628768,27.7788507],[-82.6287707,27.7788523],[-82.6287763,27.7788507],[-82.6287707,27.7788462],[-82.628768,27.7788507]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.628837,27.7787671],[-82.6288516,27.7787685],[-82.6289325,27.7787685],[-82.6290134,27.7787695],[-82.6290943,27.7787701],[-82.6291245,27.7787671],[-82.6290943,27.7787546],[-82.6290134,27.7787631],[-82.6289325,27.7787651],[-82.6288516,27.778765],[-82.628837,27.7787671]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6272917,27.7787114],[-82.6273145,27.7787182],[-82.6273398,27.7787114],[-82.6273145,27.7787064],[-82.6272917,27.7787114]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6272624,27.7782934],[-82.6272336,27.7782989],[-82.6272168,27.7783213],[-82.6272091,27.7783492],[-82.6272019,27.778377],[-82.6271924,27.7784049],[-82.6271801,27.7784328],[-82.6271604,27.7784606],[-82.6271527,27.7784685],[-82.627125,27.7784885],[-82.627103,27.7785164],[-82.6271086,27.7785442],[-82.6271248,27.7785721],[-82.6271292,27.7786],[-82.6271316,27.7786278],[-82.6271317,27.7786557],[-82.6271527,27.7786622],[-82.6272336,27.7786695],[-82.6273145,27.778669],[-82.6273954,27.7786668],[-82.6274763,27.7786723],[-82.6275572,27.7786653],[-82.6276381,27.7786677],[-82.627719,27.7786661],[-82.6277999,27.7786686],[-82.6278808,27.7786761],[-82.6279617,27.7786729],[-82.6280426,27.7786832],[-82.6280436,27.7786835],[-82.6281235,27.7787024],[-82.6282044,27.7786926],[-82.6282853,27.7786995],[-82.6283662,27.7786969],[-82.6284471,27.7787077],[-82.628528,27.7786923],[-82.6285989,27.7786835],[-82.628528,27.7786815],[-82.6284471,27.7786774],[-82.6283883,27.7786557],[-82.6284053,27.7786278],[-82.6283662,27.7786129],[-82.6283343,27.7786],[-82.6282853,27.7785722],[-82.6282851,27.7785721],[-82.6282429,27.7785442],[-82.6282455,27.7785164],[-82.6282765,27.7784885],[-82.6282853,27.7784802],[-82.6283071,27.7784606],[-82.628362,27.7784328],[-82.6283662,27.7784312],[-82.6283733,27.7784328],[-82.628444,27.7784606],[-82.6284471,27.7784611],[-82.628528,27.7784735],[-82.6286089,27.7784791],[-82.6286898,27.7784866],[-82.6287083,27.7784885],[-82.6287707,27.7784949],[-82.6288333,27.7785164],[-82.6288516,27.7785244],[-82.6289325,27.7785296],[-82.6289602,27.7785164],[-82.6290134,27.7784937],[-82.6290191,27.7784885],[-82.6290465,27.7784606],[-82.6290766,27.7784328],[-82.6290943,27.7784162],[-82.6291065,27.7784049],[-82.6291366,27.778377],[-82.6291172,27.7783492],[-82.6290943,27.7783354],[-82.6290711,27.7783213],[-82.6290225,27.7782934],[-82.6290134,27.7782885],[-82.6289325,27.7782819],[-82.6288516,27.7782854],[-82.6287707,27.7782846],[-82.6286898,27.778283],[-82.6286089,27.7782818],[-82.628528,27.7782818],[-82.6284471,27.7782823],[-82.6283662,27.7782819],[-82.6282853,27.7782844],[-82.6282044,27.7782851],[-82.6281235,27.7782863],[-82.6280426,27.7782876],[-82.6279617,27.7782879],[-82.6278808,27.7782904],[-82.6277999,27.7782928],[-82.6277937,27.7782934],[-82.627719,27.778304],[-82.6276381,27.7783055],[-82.6275641,27.7782934],[-82.6275572,27.7782927],[-82.6274763,27.7782859],[-82.6273954,27.7782857],[-82.6273145,27.7782907],[-82.6272624,27.7782934]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6284471,27.7783101],[-82.6284665,27.7783213],[-82.6284471,27.7783304],[-82.6284032,27.7783213],[-82.6284471,27.7783101]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6272016,27.7781263],[-82.6272336,27.7781356],[-82.6272619,27.7781263],[-82.6272336,27.7781111],[-82.6272016,27.7781263]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.626791,27.7780427],[-82.6268022,27.7780705],[-82.6268291,27.7780827],[-82.6268848,27.7780984],[-82.62691,27.7781013],[-82.6269523,27.7780984],[-82.6269909,27.7780935],[-82.6270715,27.7780705],[-82.6270718,27.7780693],[-82.6270803,27.7780427],[-82.6270718,27.7780408],[-82.6269909,27.7780163],[-82.62691,27.77802],[-82.6268291,27.778032],[-82.626791,27.7780427]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6265455,27.7779869],[-82.6265385,27.7780148],[-82.6265864,27.7780199],[-82.6266148,27.7780148],[-82.6266167,27.7779869],[-82.6265864,27.7779607],[-82.6265455,27.7779869]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6311462,27.7777362],[-82.6311172,27.777764],[-82.6311169,27.7777644],[-82.6310874,27.7777919],[-82.631036,27.7778168],[-82.6310269,27.7778198],[-82.6309578,27.7778476],[-82.6309551,27.7778486],[-82.6308742,27.7778637],[-82.6308549,27.7778755],[-82.6308243,27.7779033],[-82.6307933,27.7779195],[-82.6307726,27.7779312],[-82.6307467,27.7779591],[-82.6307124,27.7779762],[-82.6306895,27.7779869],[-82.6306569,27.7780148],[-82.6306367,27.7780427],[-82.6306315,27.7780445],[-82.6305506,27.7780581],[-82.6305206,27.7780705],[-82.6304697,27.7780821],[-82.630425,27.7780984],[-82.6303888,27.7781173],[-82.6303768,27.7781263],[-82.6303888,27.7781415],[-82.6304144,27.7781541],[-82.6303888,27.7781816],[-82.6303882,27.778182],[-82.6303888,27.7781822],[-82.6304697,27.7782062],[-82.6304859,27.7782099],[-82.6305506,27.7782202],[-82.6305985,27.7782377],[-82.6305506,27.7782488],[-82.6304958,27.7782656],[-82.6304697,27.778275],[-82.6303888,27.7782929],[-82.6303854,27.7782934],[-82.6303079,27.7783045],[-82.630227,27.7783129],[-82.6301461,27.7783065],[-82.6300652,27.7783163],[-82.6299843,27.7783126],[-82.6299209,27.7783213],[-82.6299034,27.7783241],[-82.6298383,27.7783213],[-82.6298225,27.7783202],[-82.6298173,27.7783213],[-82.6297487,27.7783492],[-82.6297543,27.778377],[-82.6297965,27.7784049],[-82.6298066,27.7784328],[-82.6298114,27.7784606],[-82.6298163,27.7784885],[-82.6298187,27.7785164],[-82.6298225,27.7785175],[-82.6299034,27.7785244],[-82.6299843,27.7785235],[-82.6300652,27.7785397],[-82.6300819,27.7785442],[-82.6300652,27.7785508],[-82.6299864,27.7785721],[-82.6299843,27.7785723],[-82.6299034,27.778576],[-82.6298225,27.7785771],[-82.6297416,27.7785737],[-82.6297242,27.7785721],[-82.6296607,27.778557],[-82.6296412,27.7785442],[-82.6295798,27.7785232],[-82.6295692,27.7785164],[-82.6294989,27.778505],[-82.629418,27.7784979],[-82.6293711,27.7784885],[-82.6293371,27.7784836],[-82.6293185,27.7784885],[-82.6292561,27.7785008],[-82.6291919,27.7785164],[-82.6291752,27.77852],[-82.6290943,27.778531],[-82.6290408,27.7785442],[-82.6290134,27.7785622],[-82.6289592,27.7785721],[-82.6289325,27.7785762],[-82.6288516,27.7785865],[-82.6287707,27.7785915],[-82.6287372,27.7786],[-82.6287707,27.7786142],[-82.6288217,27.7786278],[-82.6288386,27.7786557],[-82.6288516,27.7786688],[-82.6289325,27.778682],[-82.6289433,27.7786835],[-82.6289325,27.7786937],[-82.6289183,27.7787114],[-82.6289325,27.7787141],[-82.6290134,27.7787252],[-82.6290943,27.7787352],[-82.62912,27.7787393],[-82.6291752,27.7787562],[-82.6291865,27.7787671],[-82.629255,27.778795],[-82.6292561,27.7787954],[-82.6292784,27.7788229],[-82.62926,27.7788507],[-82.6292561,27.778853],[-82.6291752,27.7788668],[-82.6290943,27.7788626],[-82.6290134,27.7788603],[-82.6289576,27.7788786],[-82.6289325,27.7788789],[-82.6288516,27.7788803],[-82.6287707,27.7788855],[-82.6286898,27.7788897],[-82.6286089,27.778897],[-82.628528,27.7788997],[-82.6284471,27.7789035],[-82.6284059,27.7789065],[-82.6283662,27.7789091],[-82.6283181,27.7789343],[-82.6283313,27.7789622],[-82.6283662,27.7789824],[-82.6284261,27.77899],[-82.6284002,27.7790179],[-82.6283958,27.7790458],[-82.6283662,27.779069],[-82.6283638,27.7790736],[-82.6283266,27.7791015],[-82.6283175,27.7791294],[-82.6283409,27.7791572],[-82.6283662,27.7791637],[-82.6284471,27.7791709],[-82.628528,27.7791819],[-82.6285482,27.7791851],[-82.628528,27.7791884],[-82.6284471,27.7792003],[-82.6283662,27.7792087],[-82.6283232,27.779213],[-82.6282853,27.7792174],[-82.628205,27.7792408],[-82.6282044,27.7792411],[-82.6281612,27.7792687],[-82.6281235,27.7792897],[-82.6281123,27.7792966],[-82.6281232,27.7793244],[-82.6280566,27.7793523],[-82.6280426,27.7793534],[-82.6279617,27.7793695],[-82.6279319,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6292561,27.778931],[-82.6293371,27.778929],[-82.629375,27.7789343],[-82.629418,27.7789528],[-82.6294196,27.7789622],[-82.629418,27.7789833],[-82.6293371,27.7789791],[-82.6292561,27.7789891],[-82.6292533,27.77899],[-82.6291752,27.7789957],[-82.6290995,27.77899],[-82.6291752,27.778976],[-82.6292155,27.7789622],[-82.6292026,27.7789343],[-82.6292561,27.778931]]}},{"type":"Feature","properties":{"elevation_ft":7},"geometry":{"type":"LineString","coordinates":[[-82.6294989,27.7787712],[-82.6295467,27.778795],[-82.6294989,27.7788092],[-82.6294575,27.778795],[-82.6294989,27.7787712]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6289909,27.7786],[-82.6290134,27.7786189],[-82.6290221,27.7786],[-82.6290134,27.7785982],[-82.6289909,27.7786]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6275739,27.7784049],[-82.6275936,27.7784328],[-82.6275636,27.7784606],[-82.6275572,27.7784632],[-82.6274921,27.7784885],[-82.6274763,27.7784945],[-82.6274183,27.7785164],[-82.6274384,27.7785442],[-82.6273954,27.7785703],[-82.6273901,27.7785721],[-82.6273954,27.7785788],[-82.6274271,27.7786],[-82.6274763,27.7786188],[-82.6275563,27.7786],[-82.6275572,27.7785998],[-82.6276381,27.7785951],[-82.6276802,27.7786],[-82.627719,27.7786042],[-82.6277999,27.7786205],[-82.6278322,27.7786278],[-82.6278808,27.7786366],[-82.6279617,27.7786386],[-82.628005,27.7786278],[-82.6280426,27.7786195],[-82.628074,27.7786278],[-82.6281235,27.778647],[-82.6281731,27.7786278],[-82.6282044,27.7786146],[-82.6282448,27.7786],[-82.6282277,27.7785721],[-82.6282044,27.7785528],[-82.6281918,27.7785442],[-82.6281823,27.7785164],[-82.6282044,27.7784899],[-82.6282059,27.7784885],[-82.6282294,27.7784606],[-82.6282665,27.7784328],[-82.6282044,27.7784143],[-82.6281235,27.7784224],[-82.6280426,27.778415],[-82.6279617,27.7784161],[-82.6278808,27.7784102],[-82.6278561,27.7784049],[-82.6277999,27.778389],[-82.627719,27.7783807],[-82.6276381,27.7783806],[-82.6275739,27.7784049]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6279088,27.7783213],[-82.6278808,27.7783312],[-82.6278434,27.7783492],[-82.6278808,27.7783601],[-82.6279617,27.7783625],[-82.6280231,27.778377],[-82.6280426,27.7783832],[-82.6281031,27.778377],[-82.6281235,27.7783744],[-82.6281484,27.778377],[-82.6282044,27.7783807],[-82.6282329,27.778377],[-82.6282853,27.7783569],[-82.6282919,27.7783492],[-82.6283299,27.7783213],[-82.6282853,27.7783015],[-82.6282044,27.7783014],[-82.6281235,27.7783076],[-82.6280426,27.7783128],[-82.6279617,27.7783161],[-82.6279088,27.7783213]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6276741,27.7783213],[-82.627719,27.7783303],[-82.6277271,27.7783213],[-82.627719,27.7783202],[-82.6276741,27.7783213]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6272885,27.7783213],[-82.6272529,27.7783492],[-82.6273145,27.7783725],[-82.6273857,27.778377],[-82.6273491,27.7784049],[-82.6273145,27.778419],[-82.6272749,27.7784328],[-82.6273145,27.77845],[-82.6273905,27.7784606],[-82.6273954,27.7784614],[-82.6273966,27.7784606],[-82.6274103,27.7784328],[-82.6274668,27.7784049],[-82.6273969,27.778377],[-82.6274763,27.7783494],[-82.6275572,27.7783559],[-82.6276202,27.7783492],[-82.6276212,27.7783213],[-82.6275572,27.7783163],[-82.6274763,27.7783156],[-82.6273954,27.7783037],[-82.6273145,27.7783153],[-82.6272885,27.7783213]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6283179,27.7782934],[-82.6283662,27.7783053],[-82.6284471,27.7782956],[-82.6284914,27.7783213],[-82.6284471,27.7783422],[-82.6284038,27.7783492],[-82.6284047,27.778377],[-82.6284471,27.7783937],[-82.628528,27.7784005],[-82.6285836,27.7784049],[-82.6286089,27.7784071],[-82.6286898,27.778416],[-82.6287707,27.7784244],[-82.6288186,27.7784328],[-82.6288516,27.7784407],[-82.6289325,27.7784411],[-82.6289513,27.7784328],[-82.6290134,27.778405],[-82.6290135,27.7784049],[-82.6290449,27.778377],[-82.6290729,27.7783492],[-82.6290418,27.7783213],[-82.6290134,27.7783035],[-82.6289624,27.7782934],[-82.6289325,27.7782906],[-82.6288806,27.7782934],[-82.6288516,27.7782966],[-82.6287707,27.7782949],[-82.6287432,27.7782934],[-82.6286898,27.7782921],[-82.6286089,27.7782906],[-82.628528,27.7782909],[-82.6284471,27.778292],[-82.6283662,27.7782911],[-82.6283179,27.7782934]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6312217,27.777764],[-82.6311978,27.7777862],[-82.6311923,27.7777919],[-82.6311485,27.7778198],[-82.6311169,27.7778366],[-82.6310793,27.7778476],[-82.631036,27.7778592],[-82.6309906,27.7778755],[-82.6309551,27.7778972],[-82.6309436,27.7779033],[-82.6309168,27.7779312],[-82.6308742,27.7779491],[-82.6308599,27.7779591],[-82.6308104,27.7779869],[-82.6307933,27.7780059],[-82.630786,27.7780148],[-82.6307316,27.7780427],[-82.6307124,27.7780501],[-82.6306547,27.7780705],[-82.6306315,27.7780737],[-82.6305506,27.7780807],[-82.6304697,27.7780981],[-82.630469,27.7780984],[-82.6304336,27.7781263],[-82.6304697,27.7781435],[-82.6304832,27.7781541],[-82.6305269,27.778182],[-82.6305506,27.7781891],[-82.630624,27.7782099],[-82.6306315,27.7782125],[-82.6307079,27.7782377],[-82.6306315,27.778259],[-82.6306047,27.7782656],[-82.6305506,27.7782741],[-82.6304957,27.7782934],[-82.6304697,27.77831],[-82.6304305,27.7783213],[-82.6303888,27.7783349],[-82.6303079,27.778335],[-82.630227,27.778342],[-82.6301461,27.7783377],[-82.6300652,27.778341],[-82.6299843,27.7783337],[-82.6299034,27.7783471],[-82.6298225,27.7783417],[-82.6298032,27.7783492],[-82.6298225,27.7783742],[-82.629826,27.778377],[-82.629863,27.7784049],[-82.6298775,27.7784328],[-82.6299024,27.7784606],[-82.6299034,27.7784616],[-82.6299843,27.7784634],[-82.6300652,27.7784785],[-82.6300742,27.7784885],[-82.6300892,27.7785164],[-82.6301461,27.7785333],[-82.6302071,27.7785442],[-82.6301734,27.7785721],[-82.6301461,27.7785791],[-82.6300652,27.7785853],[-82.6299843,27.7785873],[-82.6299034,27.7785844],[-82.6298225,27.7785901],[-82.6297416,27.7785914],[-82.6296607,27.7785982],[-82.6296348,27.7785721],[-82.6295798,27.7785458],[-82.6295772,27.7785442],[-82.6295342,27.7785164],[-82.6294989,27.7785107],[-82.629418,27.7785076],[-82.6293371,27.7784911],[-82.6292561,27.7785059],[-82.6292131,27.7785164],[-82.6291752,27.7785245],[-82.6290943,27.7785431],[-82.6290898,27.7785442],[-82.6290484,27.7785721],[-82.6290943,27.7785916],[-82.6291752,27.7785951],[-82.6292561,27.7785943],[-82.6292656,27.7786],[-82.6292661,27.7786278],[-82.6293083,27.7786557],[-82.6293068,27.7786835],[-82.6293193,27.7787114],[-82.6293163,27.7787393],[-82.6293371,27.7787659],[-82.6293406,27.7787671],[-82.629418,27.778772],[-82.6294287,27.7787671],[-82.6294989,27.7787474],[-82.6295798,27.7787513],[-82.6296607,27.7787496],[-82.6297179,27.7787393],[-82.6297416,27.778733],[-82.6298225,27.7787241],[-82.6298419,27.7787114],[-82.6298658,27.7786835],[-82.6299034,27.778673],[-82.6299843,27.7786717],[-82.6300652,27.778681],[-82.6300729,27.7786835],[-82.6300652,27.7786889],[-82.6299843,27.7787077],[-82.6299569,27.7787114],[-82.6299127,27.7787393],[-82.6299034,27.7787451],[-82.6298375,27.7787671],[-82.6298225,27.7787677],[-82.6298097,27.7787671],[-82.6297416,27.7787407],[-82.6296752,27.7787671],[-82.6296607,27.7787733],[-82.6296348,27.778795],[-82.6295898,27.7788229],[-82.6295798,27.778826],[-82.6294989,27.7788386],[-82.629418,27.7788481],[-82.6294118,27.7788507],[-82.629418,27.7788721],[-82.629419,27.7788786],[-82.629418,27.7788788],[-82.6293371,27.7788883],[-82.6292561,27.7788919],[-82.6291752,27.7788964],[-82.6290943,27.7789026],[-82.6290134,27.7789054],[-82.6289325,27.7789063],[-82.6289129,27.7789065],[-82.6288516,27.7789067],[-82.6287707,27.7789074],[-82.6286898,27.7789131],[-82.6286089,27.7789167],[-82.628528,27.778917],[-82.6284471,27.77892],[-82.6283662,27.7789241],[-82.6283467,27.7789343],[-82.6283662,27.7789609],[-82.6283691,27.7789622],[-82.6284471,27.7789765],[-82.628528,27.7789811],[-82.6285864,27.77899],[-82.6286089,27.7790024],[-82.6286576,27.7790179],[-82.6286238,27.7790458],[-82.6286089,27.7790482],[-82.628528,27.7790722],[-82.6285257,27.7790736],[-82.6284471,27.7790825],[-82.6283662,27.7791],[-82.6283642,27.7791015],[-82.6283539,27.7791294],[-82.6283662,27.7791401],[-82.6284471,27.779153],[-82.6284876,27.7791572],[-82.628528,27.7791609],[-82.6286089,27.7791717],[-82.6286864,27.7791851],[-82.6286089,27.7791972],[-82.628528,27.7792099],[-82.6285016,27.779213],[-82.6284471,27.7792204],[-82.6283662,27.7792296],[-82.6282853,27.7792357],[-82.6282679,27.7792408],[-82.6282291,27.7792687],[-82.6282044,27.7792749],[-82.6281703,27.7792966],[-82.6282044,27.7793127],[-82.6282605,27.7793244],[-82.6282044,27.7793425],[-82.6281806,27.7793523],[-82.6281235,27.7793582],[-82.6280426,27.7793643],[-82.6279826,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6284471,27.7793225],[-82.628528,27.7793238],[-82.6285374,27.7793244],[-82.628528,27.7793253],[-82.6284471,27.7793261],[-82.6284166,27.7793244],[-82.6284471,27.7793225]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6291752,27.7789159],[-82.6292561,27.7789163],[-82.6293371,27.7789161],[-82.629418,27.7789253],[-82.6294231,27.7789343],[-82.6294267,27.7789622],[-82.629424,27.77899],[-82.629418,27.7789946],[-82.6293371,27.7789942],[-82.6292561,27.7790101],[-82.6291752,27.7790162],[-82.6290943,27.7790131],[-82.6290428,27.77899],[-82.6290815,27.7789622],[-82.6290943,27.7789559],[-82.6291295,27.7789343],[-82.6291752,27.7789159]]}},{"type":"Feature","properties":{"elevation_ft":8},"geometry":{"type":"LineString","coordinates":[[-82.6297416,27.778621],[-82.6297664,27.7786278],[-82.6297416,27.7786352],[-82.6297006,27.7786278],[-82.6297416,27.778621]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6283654,27.7792687],[-82.6283662,27.7792689],[-82.628382,27.7792687],[-82.6283662,27.7792683],[-82.6283654,27.7792687]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6300354,27.7786557],[-82.6300652,27.7786567],[-82.6300852,27.7786557],[-82.6300652,27.7786513],[-82.6300354,27.7786557]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6298402,27.7786],[-82.6298822,27.7786278],[-82.6299034,27.7786354],[-82.6299843,27.7786509],[-82.630033,27.7786278],[-82.6299843,27.7786087],[-82.6299718,27.7786],[-82.6299034,27.7785928],[-82.6298402,27.7786]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6292342,27.7785164],[-82.6291752,27.7785291],[-82.6291118,27.7785442],[-82.6290967,27.7785721],[-82.6291752,27.7785893],[-82.6292561,27.7785879],[-82.6292764,27.7786],[-82.6292857,27.7786278],[-82.6293371,27.7786492],[-82.629418,27.7786389],[-82.6294489,27.7786278],[-82.6294989,27.7786221],[-82.6295798,27.7786062],[-82.6295965,27.7786],[-82.6295955,27.7785721],[-82.6295798,27.7785646],[-82.6295477,27.7785442],[-82.6294992,27.7785164],[-82.6294989,27.7785163],[-82.6294917,27.7785164],[-82.629418,27.778517],[-82.6294139,27.7785164],[-82.6293371,27.7785002],[-82.6292561,27.778511],[-82.6292342,27.7785164]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6277834,27.7784606],[-82.6277947,27.7784885],[-82.6277999,27.7784941],[-82.6278183,27.7785164],[-82.6278808,27.7785334],[-82.6279617,27.778535],[-82.6280426,27.7785364],[-82.6281235,27.7785303],[-82.6281248,27.7785164],[-82.6281235,27.7785131],[-82.6281117,27.7784885],[-82.628096,27.7784606],[-82.6280426,27.7784468],[-82.6279617,27.7784434],[-82.6278808,27.7784462],[-82.6277999,27.7784569],[-82.6277834,27.7784606]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6276285,27.7784049],[-82.6276381,27.7784112],[-82.627719,27.7784199],[-82.6277635,27.7784049],[-82.627719,27.7783944],[-82.6276381,27.7784013],[-82.6276285,27.7784049]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.63044,27.7783492],[-82.6304697,27.7783692],[-82.6305273,27.7783492],[-82.6304697,27.7783394],[-82.63044,27.7783492]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6285163,27.7783213],[-82.628528,27.7783422],[-82.6286089,27.7783426],[-82.6286898,27.7783471],[-82.6287442,27.7783492],[-82.6287707,27.7783504],[-82.6288516,27.7783553],[-82.6289318,27.7783492],[-82.6289325,27.7783491],[-82.6290056,27.7783213],[-82.6289325,27.7783131],[-82.6288516,27.7783141],[-82.6287707,27.778314],[-82.6286898,27.7783117],[-82.6286089,27.7783093],[-82.628528,27.7783103],[-82.6285163,27.7783213]]}},{"type":"Feature","properties":{"elevation_ft":9},"geometry":{"type":"LineString","coordinates":[[-82.6312144,27.7778476],[-82.6311978,27.7778544],[-82.6311255,27.7778755],[-82.6311169,27.7778778],[-82.631062,27.7779033],[-82.631036,27.7779196],[-82.6310209,27.7779312],[-82.6310114,27.7779591],[-82.6309596,27.7779869],[-82.6309551,27.7779896],[-82.6309051,27.7780148],[-82.6308742,27.7780279],[-82.6308392,27.7780427],[-82.6307933,27.7780691],[-82.6307897,27.7780705],[-82.6307124,27.7780826],[-82.6306315,27.7780896],[-82.6305516,27.7780984],[-82.6305506,27.7780986],[-82.6304978,27.7781263],[-82.6305279,27.7781541],[-82.6305506,27.7781655],[-82.6306167,27.778182],[-82.6306315,27.7781862],[-82.6307124,27.7782078],[-82.6307292,27.7782099],[-82.6307933,27.7782238],[-82.630829,27.7782377],[-82.6307933,27.7782566],[-82.630752,27.7782656],[-82.6307124,27.7782673],[-82.6306315,27.7782745],[-82.6305506,27.7782921],[-82.6305469,27.7782934],[-82.6305305,27.7783213],[-82.6305506,27.778338],[-82.6305588,27.7783492],[-82.6305506,27.7783515],[-82.6304763,27.778377],[-82.6304697,27.7783797],[-82.6304614,27.778377],[-82.6303888,27.7783585],[-82.6303079,27.7783567],[-82.630227,27.778362],[-82.6301461,27.7783656],[-82.6300652,27.7783699],[-82.6299843,27.7783749],[-82.6299723,27.778377],[-82.6299843,27.7783797],[-82.6300652,27.778399],[-82.6300934,27.7784049],[-82.6301461,27.7784157],[-82.6301553,27.7784328],[-82.6301523,27.7784606],[-82.6301468,27.7784885],[-82.6301758,27.7785164],[-82.630227,27.7785247],[-82.6303079,27.7785402],[-82.6303645,27.7785442],[-82.6303619,27.7785721],[-82.6303079,27.778577],[-82.6302367,27.7786],[-82.630227,27.7786059],[-82.6301786,27.7786278],[-82.6301586,27.7786557],[-82.6301601,27.7786835],[-82.6301461,27.7786846],[-82.6301027,27.7787114],[-82.6300652,27.7787207],[-82.6299983,27.7787393],[-82.6299843,27.7787428],[-82.6299256,27.7787671],[-82.6299034,27.7787718],[-82.6298225,27.7787746],[-82.6297416,27.7787725],[-82.6296786,27.778795],[-82.629668,27.7788229],[-82.6296607,27.7788301],[-82.6295933,27.7788507],[-82.6295798,27.7788575],[-82.6295372,27.7788786],[-82.6294989,27.7788827],[-82.629418,27.7789039],[-82.6293949,27.7789065],[-82.629418,27.7789082],[-82.6294328,27.7789343],[-82.6294337,27.7789622],[-82.6294306,27.77899],[-82.629418,27.7789995],[-82.6293371,27.7789993],[-82.6292678,27.7790179],[-82.6292561,27.7790326],[-82.6291752,27.7790355],[-82.6290943,27.7790329],[-82.6290208,27.7790179],[-82.6290134,27.7790137],[-82.6289897,27.77899],[-82.6290134,27.7789647],[-82.6290163,27.7789622],[-82.6290289,27.7789343],[-82.6290134,27.7789323],[-82.6289325,27.7789215],[-82.6288516,27.7789221],[-82.6287707,27.7789311],[-82.6286898,27.7789341],[-82.6286089,27.778934],[-82.628528,27.7789339],[-82.6285144,27.7789343],[-82.628528,27.7789484],[-82.6285358,27.7789622],[-82.6286089,27.7789686],[-82.6286898,27.7789696],[-82.6287673,27.77899],[-82.6287707,27.7789928],[-82.6287953,27.7790179],[-82.6287744,27.7790458],[-82.6287707,27.7790506],[-82.6287406,27.7790736],[-82.6286898,27.7790799],[-82.6286089,27.7790848],[-82.628528,27.7790938],[-82.6284507,27.7791015],[-82.6284511,27.7791294],[-82.628528,27.779134],[-82.6286089,27.7791374],[-82.6286808,27.7791572],[-82.6286898,27.7791586],[-82.6287707,27.7791738],[-82.6288104,27.7791851],[-82.6287707,27.7791947],[-82.6287046,27.779213],[-82.6286898,27.7792259],[-82.6286089,27.7792268],[-82.6285292,27.7792408],[-82.628528,27.7792416],[-82.6284596,27.7792687],[-82.6284893,27.7792966],[-82.628528,27.779301],[-82.6286089,27.7793063],[-82.6286898,27.7793105],[-82.6286956,27.7793244],[-82.6287707,27.7793502],[-82.6287764,27.7793523],[-82.6287707,27.7793603],[-82.6287408,27.7793523],[-82.6286898,27.7793345],[-82.6286412,27.7793523],[-82.6286089,27.7793609],[-82.628528,27.7793588],[-82.6284471,27.7793561],[-82.6284396,27.7793523],[-82.6283662,27.77934],[-82.6282895,27.7793523],[-82.6282853,27.7793534],[-82.6282044,27.7793649],[-82.6281235,27.7793696],[-82.6280426,27.7793753],[-82.6280241,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":10},"geometry":{"type":"LineString","coordinates":[[-82.6286635,27.7791015],[-82.6286898,27.7791074],[-82.628713,27.7791015],[-82.6286898,27.779099],[-82.6286635,27.7791015]]}},{"type":"Feature","properties":{"elevation_ft":10},"geometry":{"type":"LineString","coordinates":[[-82.6292554,27.7785164],[-82.6291752,27.7785337],[-82.629131,27.7785442],[-82.6291231,27.7785721],[-82.6291752,27.7785835],[-82.6292561,27.7785814],[-82.6292873,27.7786],[-82.6293054,27.7786278],[-82.6293371,27.778641],[-82.6293982,27.7786278],[-82.629418,27.778625],[-82.6294989,27.7786147],[-82.6295576,27.7786],[-82.6295621,27.7785721],[-82.6295181,27.7785442],[-82.6294989,27.7785332],[-82.629418,27.7785236],[-82.629371,27.7785164],[-82.6293371,27.7785092],[-82.6292561,27.7785162],[-82.6292554,27.7785164]]}},{"type":"Feature","properties":{"elevation_ft":10},"geometry":{"type":"LineString","coordinates":[[-82.6312004,27.7779033],[-82.6311978,27.7779041],[-82.6311169,27.7779286],[-82.6311126,27.7779312],[-82.6310816,27.7779591],[-82.6310489,27.7779869],[-82.631036,27.7779951],[-82.6310008,27.7780148],[-82.6309551,27.7780393],[-82.6309471,27.7780427],[-82.6308975,27.7780705],[-82.6308742,27.7780918],[-82.6308602,27.7780984],[-82.6307933,27.7781165],[-82.6307124,27.7781107],[-82.6306315,27.778111],[-82.6305565,27.7781263],[-82.6305928,27.7781541],[-82.6306315,27.7781639],[-82.6306946,27.778182],[-82.6307124,27.7781869],[-82.6307933,27.7781968],[-82.6308581,27.7782099],[-82.6308742,27.7782161],[-82.6309176,27.7782377],[-82.6308862,27.7782656],[-82.6308742,27.7782668],[-82.6307933,27.778273],[-82.6307124,27.7782774],[-82.6306315,27.7782862],[-82.6305991,27.7782934],[-82.6306315,27.7783173],[-82.6306367,27.7783213],[-82.6306315,27.778329],[-82.6306161,27.7783492],[-82.6305506,27.7783678],[-82.6305238,27.778377],[-82.6304697,27.7783989],[-82.6304016,27.778377],[-82.6303888,27.7783738],[-82.6303079,27.7783703],[-82.6302411,27.778377],[-82.630227,27.7783858],[-82.6302105,27.7784049],[-82.6302066,27.7784328],[-82.6302012,27.7784606],[-82.6301976,27.7784885],[-82.630227,27.7785017],[-82.6302814,27.7785164],[-82.6303079,27.778522],[-82.6303888,27.7785257],[-82.6304697,27.7785308],[-82.6305145,27.7785442],[-82.6304843,27.7785721],[-82.6304697,27.7785743],[-82.6303888,27.7785793],[-82.6303079,27.7785902],[-82.6302778,27.7786],[-82.6302354,27.7786278],[-82.6302413,27.7786557],[-82.6303079,27.7786778],[-82.6303256,27.7786835],[-82.6303079,27.7786912],[-82.630227,27.7786986],[-82.6301719,27.7787114],[-82.6301461,27.7787147],[-82.6300652,27.7787371],[-82.6300574,27.7787393],[-82.6299843,27.7787576],[-82.6299613,27.7787671],[-82.6299034,27.7787793],[-82.6298225,27.7787814],[-82.6297416,27.7787825],[-82.6297065,27.778795],[-82.6296983,27.7788229],[-82.6296796,27.7788507],[-82.6296607,27.7788633],[-82.6296284,27.7788786],[-82.6295798,27.7788847],[-82.6294989,27.7788933],[-82.6294519,27.7789065],[-82.6294426,27.7789343],[-82.6294408,27.7789622],[-82.6294372,27.77899],[-82.629418,27.7790045],[-82.6293371,27.7790044],[-82.6292867,27.7790179],[-82.6292626,27.7790458],[-82.6292561,27.7790567],[-82.6291752,27.7790583],[-82.6290943,27.779055],[-82.6290631,27.7790458],[-82.6290134,27.7790359],[-82.6289424,27.7790179],[-82.6289359,27.77899],[-82.6289407,27.7789622],[-82.6289325,27.7789508],[-82.6288746,27.7789622],[-82.6289209,27.77899],[-82.6289128,27.7790179],[-82.6288631,27.7790458],[-82.6288516,27.7790734],[-82.6288515,27.7790736],[-82.628849,27.7791015],[-82.6288516,27.7791073],[-82.6288547,27.7791294],[-82.6288516,27.7791408],[-82.6288437,27.7791572],[-82.6288516,27.7791595],[-82.6289325,27.7791764],[-82.6289637,27.7791851],[-82.6289325,27.7791916],[-82.6288516,27.7792064],[-82.628825,27.779213],[-82.6287707,27.7792404],[-82.6287701,27.7792408],[-82.6287596,27.7792687],[-82.6287598,27.7792966],[-82.6287283,27.7793244],[-82.6287707,27.779339],[-82.6288072,27.7793523],[-82.6287804,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":11},"geometry":{"type":"LineString","coordinates":[[-82.6291846,27.7791015],[-82.6292561,27.7791074],[-82.6293158,27.7791015],[-82.6292561,27.7790928],[-82.6291846,27.7791015]]}},{"type":"Feature","properties":{"elevation_ft":11},"geometry":{"type":"LineString","coordinates":[[-82.6291503,27.7785442],[-82.6291494,27.7785721],[-82.6291752,27.7785778],[-82.6292561,27.778575],[-82.6292981,27.7786],[-82.629325,27.7786278],[-82.6293371,27.7786329],[-82.6293603,27.7786278],[-82.629418,27.7786197],[-82.6294989,27.7786073],[-82.6295281,27.7786],[-82.6295327,27.7785721],[-82.6294989,27.7785507],[-82.6294873,27.7785442],[-82.629418,27.7785303],[-82.6293371,27.7785183],[-82.6292561,27.778522],[-82.6291752,27.7785383],[-82.6291503,27.7785442]]}},{"type":"Feature","properties":{"elevation_ft":11},"geometry":{"type":"LineString","coordinates":[[-82.63121,27.7779312],[-82.6311978,27.7779363],[-82.631154,27.7779591],[-82.6311276,27.7779869],[-82.6311169,27.7779914],[-82.6310791,27.7780148],[-82.6310406,27.7780427],[-82.631036,27.778045],[-82.6309842,27.7780705],[-82.6309551,27.7780903],[-82.6309433,27.7780984],[-82.6309095,27.7781263],[-82.6308742,27.7781439],[-82.6308322,27.7781541],[-82.6308554,27.778182],[-82.6308742,27.7781845],[-82.6309403,27.7782099],[-82.6309551,27.7782171],[-82.6310105,27.7782377],[-82.6309706,27.7782656],[-82.6309551,27.7782676],[-82.6308742,27.7782755],[-82.6307933,27.7782821],[-82.6307124,27.7782875],[-82.6306634,27.7782934],[-82.6306878,27.7783213],[-82.630687,27.7783492],[-82.6306315,27.7783561],[-82.6305638,27.778377],[-82.6305506,27.7783894],[-82.6305148,27.7784049],[-82.6304697,27.7784132],[-82.6304103,27.7784049],[-82.6303888,27.7783982],[-82.6303079,27.7783905],[-82.6302744,27.7784049],[-82.6302574,27.7784328],[-82.6302504,27.7784606],[-82.630266,27.7784885],[-82.6303079,27.7784996],[-82.6303888,27.7785028],[-82.6304697,27.7785042],[-82.6305506,27.778499],[-82.6305942,27.7785164],[-82.6306315,27.7785415],[-82.6306423,27.7785442],[-82.6306418,27.7785721],[-82.6306315,27.7785726],[-82.630596,27.7785721],[-82.6305506,27.7785692],[-82.6305465,27.7785721],[-82.6304697,27.7785835],[-82.6303888,27.7785882],[-82.6303214,27.7786],[-82.6303079,27.7786212],[-82.6303023,27.7786278],[-82.6302856,27.7786557],[-82.6303079,27.7786631],[-82.6303712,27.7786835],[-82.6303888,27.7787023],[-82.6304009,27.7787114],[-82.6303888,27.7787135],[-82.6303155,27.7787114],[-82.6303079,27.778711],[-82.6303022,27.7787114],[-82.630227,27.7787145],[-82.6301461,27.7787242],[-82.6300937,27.7787393],[-82.6300652,27.7787469],[-82.6299951,27.7787671],[-82.6299843,27.7787696],[-82.6299034,27.7787869],[-82.6298225,27.7787883],[-82.6297416,27.7787925],[-82.6297345,27.778795],[-82.6297286,27.7788229],[-82.629741,27.7788507],[-82.6297196,27.7788786],[-82.6296607,27.7788887],[-82.6295798,27.7788956],[-82.6294989,27.7789039],[-82.6294896,27.7789065],[-82.6294523,27.7789343],[-82.6294478,27.7789622],[-82.6294438,27.77899],[-82.629418,27.7790094],[-82.6293371,27.7790095],[-82.6293057,27.7790179],[-82.6292769,27.7790458],[-82.6292642,27.7790736],[-82.6293371,27.779101],[-82.6293387,27.7791015],[-82.6293805,27.7791294],[-82.6293371,27.7791314],[-82.6292561,27.7791371],[-82.6291752,27.7791314],[-82.6290943,27.7791336],[-82.629058,27.7791294],[-82.6290134,27.7791167],[-82.6289325,27.7791186],[-82.6289265,27.7791294],[-82.6289325,27.7791345],[-82.628983,27.7791572],[-82.6290134,27.7791654],[-82.6290867,27.7791851],[-82.6290134,27.7791996],[-82.6289425,27.779213],[-82.6289325,27.7792144],[-82.6288516,27.7792287],[-82.6288209,27.7792408],[-82.6288272,27.7792687],[-82.628817,27.7792966],[-82.6287707,27.7793173],[-82.6287609,27.7793244],[-82.6287707,27.7793278],[-82.6288381,27.7793523],[-82.6287981,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":12},"geometry":{"type":"LineString","coordinates":[[-82.6291695,27.7785442],[-82.6291752,27.7785703],[-82.6292561,27.7785675],[-82.6292653,27.7785721],[-82.6293089,27.7786],[-82.6293371,27.7786242],[-82.629418,27.7786145],[-82.6294986,27.7786],[-82.6294989,27.7785982],[-82.6295032,27.7785721],[-82.6294989,27.7785693],[-82.6294543,27.7785442],[-82.629418,27.7785369],[-82.6293371,27.7785274],[-82.6292561,27.7785279],[-82.6291752,27.7785429],[-82.6291695,27.7785442]]}},{"type":"Feature","properties":{"elevation_ft":12},"geometry":{"type":"LineString","coordinates":[[-82.6311978,27.7781145],[-82.6311447,27.7780984],[-82.6311978,27.7780889],[-82.6312377,27.7780705]]}},{"type":"Feature","properties":{"elevation_ft":12},"geometry":{"type":"LineString","coordinates":[[-82.6311978,27.7780347],[-82.6311169,27.7780407],[-82.6311141,27.7780427],[-82.6310759,27.7780705],[-82.631036,27.7780945],[-82.6310313,27.7780984],[-82.6310003,27.7781263],[-82.6309998,27.7781541],[-82.631028,27.778182],[-82.631036,27.7781855],[-82.6310994,27.778182],[-82.6311169,27.7781671],[-82.6311245,27.778182],[-82.6311639,27.7782099],[-82.631159,27.7782377],[-82.6311169,27.7782489],[-82.6310572,27.7782656],[-82.631036,27.7782692],[-82.6309551,27.7782787],[-82.6308742,27.7782842],[-82.6307933,27.7782911],[-82.6307622,27.7782934],[-82.6307343,27.7783213],[-82.6307343,27.7783492],[-82.6307124,27.778356],[-82.6306315,27.7783655],[-82.6305943,27.778377],[-82.6305649,27.7784049],[-82.6305506,27.778411],[-82.6304697,27.7784253],[-82.6303888,27.7784251],[-82.6303085,27.7784328],[-82.6303079,27.7784332],[-82.6302999,27.7784606],[-82.6303079,27.778467],[-82.6303888,27.7784787],[-82.6304697,27.7784797],[-82.6305506,27.7784792],[-82.6306003,27.7784885],[-82.6306315,27.778503],[-82.6306475,27.7785164],[-82.6307124,27.7785359],[-82.6307933,27.7785432],[-82.6308742,27.7785418],[-82.6308964,27.7785442],[-82.6308742,27.7785541],[-82.6307933,27.7785467],[-82.6307504,27.7785721],[-82.6307124,27.7785783],[-82.6306315,27.778583],[-82.6305506,27.7785826],[-82.6304697,27.7785928],[-82.6303888,27.778597],[-82.630372,27.7786],[-82.6303531,27.7786278],[-82.6303384,27.7786557],[-82.6303888,27.7786716],[-82.6304433,27.7786835],[-82.6304651,27.7787114],[-82.6303888,27.7787249],[-82.6303079,27.7787225],[-82.630227,27.7787267],[-82.6301461,27.7787336],[-82.6301265,27.7787393],[-82.6300652,27.7787557],[-82.6300254,27.7787671],[-82.6299843,27.7787764],[-82.6299034,27.7787944],[-82.629838,27.778795],[-82.6298225,27.7787976],[-82.6298023,27.7788229],[-82.6298225,27.7788358],[-82.6298434,27.7788507],[-82.6298225,27.7788696],[-82.6298128,27.7788786],[-82.6297416,27.7788889],[-82.6296607,27.7789047],[-82.6295803,27.7789065],[-82.6295798,27.7789065],[-82.6294989,27.7789111],[-82.629462,27.7789343],[-82.6294548,27.7789622],[-82.6294504,27.77899],[-82.629418,27.7790143],[-82.6293371,27.7790146],[-82.6293247,27.7790179],[-82.6292911,27.7790458],[-82.6292919,27.7790736],[-82.6293371,27.7790906],[-82.6293744,27.7791015],[-82.629418,27.7791179],[-82.6294318,27.7791294],[-82.629418,27.779137],[-82.6293371,27.7791435],[-82.6292561,27.7791527],[-82.6291752,27.7791511],[-82.6291276,27.7791572],[-82.6291752,27.7791731],[-82.629211,27.7791851],[-82.6291752,27.7791928],[-82.6290943,27.7792089],[-82.6290748,27.779213],[-82.6290134,27.7792226],[-82.6289325,27.7792347],[-82.6288971,27.7792408],[-82.6289198,27.7792687],[-82.6288972,27.7792966],[-82.6288834,27.7793244],[-82.6288767,27.7793523],[-82.6288516,27.7793583],[-82.6288158,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":13},"geometry":{"type":"LineString","coordinates":[[-82.629198,27.7785442],[-82.6292561,27.7785592],[-82.629282,27.7785721],[-82.6293197,27.7786],[-82.6293371,27.7786149],[-82.629418,27.7786092],[-82.6294691,27.7786],[-82.6294734,27.7785721],[-82.6294213,27.7785442],[-82.629418,27.7785436],[-82.6293371,27.7785365],[-82.6292561,27.7785337],[-82.629198,27.7785442]]}},{"type":"Feature","properties":{"elevation_ft":13},"geometry":{"type":"LineString","coordinates":[[-82.6308682,27.7782934],[-82.6307933,27.7783115],[-82.6307764,27.7783213],[-82.6307673,27.7783492],[-82.6307124,27.7783662],[-82.6306315,27.7783749],[-82.6306247,27.778377],[-82.6305963,27.7784049],[-82.6305506,27.7784246],[-82.6305012,27.7784328],[-82.6305506,27.7784596],[-82.6305525,27.7784606],[-82.6306315,27.7784768],[-82.630664,27.7784885],[-82.6307032,27.7785164],[-82.6307124,27.7785191],[-82.6307933,27.7785286],[-82.6308742,27.7785308],[-82.6309551,27.7785373],[-82.6310196,27.7785164],[-82.631036,27.7785084],[-82.6310898,27.7784885],[-82.6311131,27.7784606],[-82.6311169,27.7784588],[-82.6311774,27.7784328],[-82.6311978,27.7784215]]}},{"type":"Feature","properties":{"elevation_ft":13},"geometry":{"type":"LineString","coordinates":[[-82.6311993,27.7782934],[-82.6311978,27.7782931],[-82.6311169,27.7782725],[-82.631036,27.778286],[-82.6309551,27.7782897],[-82.6308742,27.7782929],[-82.6308682,27.7782934]]}},{"type":"Feature","properties":{"elevation_ft":13},"geometry":{"type":"LineString","coordinates":[[-82.6312245,27.7784885],[-82.6312021,27.7785164],[-82.6311978,27.7785256],[-82.6311705,27.7785442],[-82.6311169,27.7785612],[-82.631075,27.7785721],[-82.631036,27.7785914],[-82.6310023,27.7786],[-82.6309589,27.7786278],[-82.6309551,27.7786298],[-82.6308816,27.7786557],[-82.6308742,27.778661],[-82.6308351,27.7786557],[-82.6308647,27.7786278],[-82.6308709,27.7786],[-82.6307933,27.7785781],[-82.6307124,27.7785878],[-82.6306315,27.7785933],[-82.6305506,27.7785939],[-82.6304939,27.7786],[-82.6304697,27.7786085],[-82.6304169,27.7786278],[-82.6304024,27.7786557],[-82.6304697,27.7786713],[-82.6305142,27.7786835],[-82.6305084,27.7787114],[-82.6304697,27.778729],[-82.6303888,27.7787363],[-82.6303079,27.7787338],[-82.630227,27.7787388],[-82.6302198,27.7787393],[-82.6301461,27.7787446],[-82.6300652,27.7787644],[-82.6300558,27.7787671],[-82.6299843,27.7787833],[-82.6299316,27.778795],[-82.6299034,27.778815],[-82.6298785,27.7788229],[-82.6299034,27.7788366],[-82.6299527,27.7788507],[-82.6299625,27.7788786],[-82.6299034,27.7788835],[-82.6298225,27.7788916],[-82.6297416,27.7789024],[-82.629721,27.7789065],[-82.6296607,27.7789149],[-82.6295798,27.7789168],[-82.6294989,27.7789172],[-82.6294718,27.7789343],[-82.6294619,27.7789622],[-82.6294569,27.77899],[-82.6294228,27.7790179],[-82.629418,27.7790191],[-82.6293371,27.7790217],[-82.6293054,27.7790458],[-82.6293196,27.7790736],[-82.6293371,27.7790802],[-82.62941,27.7791015],[-82.629418,27.7791045],[-82.6294479,27.7791294],[-82.629418,27.7791458],[-82.6293371,27.7791555],[-82.6293237,27.7791572],[-82.6293371,27.7791661],[-82.6294143,27.7791851],[-82.6293371,27.779204],[-82.6292561,27.7792111],[-82.6292466,27.779213],[-82.6291752,27.7792378],[-82.6290943,27.7792308],[-82.6290219,27.7792408],[-82.629035,27.7792687],[-82.6290342,27.7792966],[-82.6290266,27.7793244],[-82.6290134,27.7793272],[-82.6289325,27.7793447],[-82.6289214,27.7793523],[-82.6288516,27.7793691],[-82.6288335,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":13},"geometry":{"type":"LineString","coordinates":[[-82.6307933,27.7787006],[-82.6308032,27.7787114],[-82.6307933,27.778714],[-82.6307718,27.7787114],[-82.6307933,27.7787006]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6293981,27.779213],[-82.6293371,27.7792315],[-82.6293045,27.7792408],[-82.6292747,27.7792687],[-82.6292561,27.7792745],[-82.6292052,27.7792966],[-82.6292217,27.7793244],[-82.6291752,27.7793335],[-82.6290943,27.7793471],[-82.6290703,27.7793523],[-82.6290134,27.7793603],[-82.6289325,27.7793711],[-82.6288516,27.7793799],[-82.6288512,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6293072,27.7793801],[-82.6293371,27.7793621],[-82.6293709,27.7793523],[-82.6294014,27.7793244],[-82.629418,27.7793183],[-82.6294686,27.7792966],[-82.6294989,27.7792863],[-82.6295492,27.7792687],[-82.6295798,27.7792576],[-82.6296573,27.7792408],[-82.6296521,27.779213],[-82.6295798,27.7791925],[-82.6294989,27.7791997],[-82.629418,27.7792068],[-82.6293981,27.779213]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6301054,27.7787671],[-82.6300652,27.7787751],[-82.6299843,27.7787902],[-82.6299625,27.778795],[-82.6299489,27.7788229],[-82.6299843,27.7788339],[-82.6300652,27.7788465],[-82.6301115,27.7788507],[-82.6301461,27.7788608],[-82.630227,27.7788628],[-82.6302838,27.7788507],[-82.6303079,27.7788467],[-82.6303888,27.7788255],[-82.6303991,27.7788229],[-82.6304429,27.778795],[-82.6304697,27.7787785],[-82.6304886,27.7787671],[-82.6304697,27.7787581],[-82.6303888,27.778755],[-82.6303079,27.7787512],[-82.630227,27.7787538],[-82.6301461,27.7787579],[-82.6301054,27.7787671]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.63055,27.7787114],[-82.6305506,27.7787165],[-82.6305681,27.7787114],[-82.6305506,27.7787104],[-82.63055,27.7787114]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6306767,27.7786],[-82.6306315,27.7786137],[-82.6305524,27.7786278],[-82.6305506,27.7786285],[-82.63049,27.7786557],[-82.6305506,27.7786678],[-82.6306315,27.778681],[-82.6307124,27.7786634],[-82.6307298,27.7786557],[-82.6307597,27.7786278],[-82.6307867,27.7786],[-82.6307124,27.7785973],[-82.6306767,27.7786]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6292987,27.7785721],[-82.6293305,27.7786],[-82.6293371,27.7786056],[-82.629418,27.7786039],[-82.6294397,27.7786],[-82.6294434,27.7785721],[-82.629418,27.7785585],[-82.6293371,27.778546],[-82.6292987,27.7785721]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6292304,27.7785442],[-82.6292561,27.7785508],[-82.6293238,27.7785442],[-82.6292561,27.7785396],[-82.6292304,27.7785442]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6308674,27.7783492],[-82.6307933,27.778358],[-82.6307124,27.7783765],[-82.6307071,27.778377],[-82.6306315,27.7784013],[-82.6306278,27.7784049],[-82.6305817,27.7784328],[-82.6306315,27.7784588],[-82.6306418,27.7784606],[-82.6307111,27.7784885],[-82.6307124,27.7784894],[-82.6307933,27.7785128],[-82.6308205,27.7785164],[-82.6308742,27.7785197],[-82.6309551,27.7785205],[-82.6309679,27.7785164],[-82.6310111,27.7784885],[-82.631036,27.7784842],[-82.6310766,27.7784606],[-82.6311169,27.778441],[-82.6311361,27.7784328],[-82.6311794,27.7784049],[-82.6311978,27.7783892],[-82.6312073,27.778377],[-82.6312012,27.7783492],[-82.6311978,27.7783409],[-82.6311554,27.7783492],[-82.6311169,27.7783531],[-82.6310801,27.7783492],[-82.631036,27.7783364],[-82.6309551,27.778332],[-82.6308742,27.7783475],[-82.6308674,27.7783492]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6310978,27.7782934],[-82.6311169,27.7783049],[-82.6311289,27.7782934],[-82.6311169,27.7782904],[-82.6310978,27.7782934]]}},{"type":"Feature","properties":{"elevation_ft":14},"geometry":{"type":"LineString","coordinates":[[-82.6311978,27.7785758],[-82.6311169,27.7785819],[-82.6310686,27.7786],[-82.631036,27.7786181],[-82.6310114,27.7786278],[-82.6309578,27.7786557],[-82.6309551,27.7786571],[-82.6308986,27.7786835],[-82.6309283,27.7787114],[-82.6308742,27.778716],[-82.6307998,27.7787393],[-82.6307933,27.7787424],[-82.6307353,27.7787671],[-82.6307124,27.7787833],[-82.6306831,27.778795],[-82.6306315,27.7788125],[-82.6306001,27.7788229],[-82.6306055,27.7788507],[-82.6306185,27.7788786],[-82.6305506,27.7788829],[-82.6304697,27.7788915],[-82.6304261,27.7789065],[-82.6303888,27.7789227],[-82.6303471,27.7789343],[-82.6303079,27.7789621],[-82.6303076,27.7789622],[-82.6302472,27.77899],[-82.630227,27.7790147],[-82.630217,27.7790179],[-82.630152,27.7790458],[-82.6301461,27.7790495],[-82.6300754,27.7790736],[-82.6300652,27.7790793],[-82.6300026,27.7791015],[-82.6299843,27.7791104],[-82.6299034,27.7791265],[-82.6298759,27.7791294],[-82.6299034,27.7791436],[-82.6299054,27.7791572],[-82.6299034,27.7791593],[-82.6298225,27.7791608],[-82.6298073,27.7791572],[-82.6298191,27.7791294],[-82.6298225,27.7791278],[-82.6298866,27.7791015],[-82.6299034,27.7790889],[-82.6299549,27.7790736],[-82.6299803,27.7790458],[-82.6299843,27.7790428],[-82.6300331,27.7790179],[-82.6300652,27.7789936],[-82.6300754,27.77899],[-82.630135,27.7789622],[-82.6301461,27.7789553],[-82.6301857,27.7789343],[-82.630227,27.7789066],[-82.6302273,27.7789065],[-82.630227,27.7789063],[-82.6301461,27.778882],[-82.6300652,27.7788876],[-82.6299843,27.7788988],[-82.6299034,27.7788989],[-82.6298225,27.778906],[-82.6298192,27.7789065],[-82.6297416,27.7789147],[-82.6296607,27.7789244],[-82.6295798,27.7789272],[-82.6294989,27.7789234],[-82.6294815,27.7789343],[-82.6294689,27.7789622],[-82.6294635,27.77899],[-82.6294407,27.7790179],[-82.629418,27.7790237],[-82.6293371,27.7790325],[-82.6293197,27.7790458],[-82.6293371,27.7790672],[-82.6293418,27.7790736],[-82.629418,27.7790983],[-82.6294305,27.7791015],[-82.6294641,27.7791294],[-82.629418,27.7791547],[-82.6293978,27.7791572],[-82.629418,27.7791635],[-82.6294989,27.779171],[-82.6295798,27.7791765],[-82.6296607,27.7791824],[-82.6297176,27.7791851],[-82.6297169,27.779213],[-82.6297416,27.7792331],[-82.6297425,27.7792408],[-82.6297416,27.7792415],[-82.6296803,27.7792687],[-82.6296607,27.7792777],[-82.6296106,27.7792966],[-82.6295945,27.7793244],[-82.6295798,27.7793325],[-82.6295058,27.7793523],[-82.6294989,27.7793545],[-82.6294469,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6300513,27.7789065],[-82.6299843,27.7789335],[-82.6299034,27.7789198],[-82.6298225,27.7789188],[-82.6297416,27.7789264],[-82.6296607,27.7789339],[-82.62965,27.7789343],[-82.6295798,27.7789361],[-82.6295568,27.7789343],[-82.6294989,27.7789295],[-82.6294912,27.7789343],[-82.6294759,27.7789622],[-82.6294701,27.77899],[-82.6294587,27.7790179],[-82.629418,27.7790283],[-82.6293371,27.7790434],[-82.6293339,27.7790458],[-82.6293371,27.7790496],[-82.6293546,27.7790736],[-82.629418,27.7790941],[-82.6294467,27.7791015],[-82.6294802,27.7791294],[-82.6294989,27.7791511],[-82.6295798,27.7791495],[-82.6296607,27.7791551],[-82.6297416,27.7791369],[-82.6297606,27.7791294],[-82.6298218,27.7791015],[-82.6298225,27.7791012],[-82.6298779,27.7790736],[-82.6299034,27.7790573],[-82.6299286,27.7790458],[-82.6299673,27.7790179],[-82.6299843,27.7790086],[-82.6300192,27.77899],[-82.6300652,27.7789678],[-82.6300786,27.7789622],[-82.6301199,27.7789343],[-82.6301461,27.7789258],[-82.6301847,27.7789065],[-82.6301461,27.7788948],[-82.6300652,27.7789042],[-82.6300513,27.7789065]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6300072,27.778795],[-82.63005,27.7788229],[-82.6300652,27.7788253],[-82.6301461,27.7788326],[-82.630227,27.7788296],[-82.6302814,27.7788229],[-82.6303079,27.7788078],[-82.6303235,27.778795],[-82.6303079,27.7787889],[-82.630227,27.7787716],[-82.6301461,27.7787728],[-82.6300652,27.7787865],[-82.6300072,27.778795]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6293153,27.7785721],[-82.6293371,27.7785934],[-82.6294097,27.7785721],[-82.6293371,27.7785573],[-82.6293153,27.7785721]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6307892,27.7784885],[-82.6307933,27.7784897],[-82.6308742,27.7784907],[-82.6308823,27.7784885],[-82.6308742,27.7784852],[-82.6307933,27.7784794],[-82.6307892,27.7784885]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6310215,27.7784606],[-82.631036,27.778463],[-82.6310401,27.7784606],[-82.631036,27.7784506],[-82.6310215,27.7784606]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6307086,27.7784328],[-82.6307124,27.7784335],[-82.6307148,27.7784328],[-82.6307124,27.7784316],[-82.6307086,27.7784328]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6311978,27.7785903],[-82.6311169,27.7785958],[-82.6311057,27.7786],[-82.6310691,27.7786278],[-82.631036,27.7786362],[-82.6309927,27.7786557],[-82.6309551,27.7786761],[-82.6309392,27.7786835],[-82.6309551,27.7786927],[-82.631036,27.7787034],[-82.6311169,27.7786995],[-82.6311978,27.778702]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6311978,27.7787245],[-82.6311169,27.7787233],[-82.631036,27.7787257],[-82.6309551,27.7787218],[-82.6308742,27.7787276],[-82.6308368,27.7787393],[-82.6307933,27.7787602],[-82.6307769,27.7787671],[-82.6307539,27.778795],[-82.6307124,27.7788077],[-82.6306678,27.7788229],[-82.6307124,27.7788354],[-82.6307933,27.7788365],[-82.6308742,27.7788356],[-82.6309551,27.7788447],[-82.631036,27.7788458],[-82.6311098,27.7788507],[-82.6311169,27.7788522],[-82.6311255,27.7788507],[-82.6311978,27.7788463]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6312294,27.7789622],[-82.6312239,27.77899]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6311978,27.779037],[-82.6311696,27.7790179],[-82.6311561,27.77899],[-82.6311541,27.7789622],[-82.6311169,27.7789453],[-82.6311047,27.7789343],[-82.6311095,27.7789065],[-82.631036,27.7788935],[-82.6309551,27.7788935],[-82.6308742,27.7788937],[-82.6307933,27.7788936],[-82.6307124,27.7788977],[-82.6306315,27.7788983],[-82.6305506,27.7788999],[-82.6304918,27.7789065],[-82.6304697,27.7789083],[-82.6304043,27.7789343],[-82.6303888,27.7789415],[-82.630342,27.7789622],[-82.6303079,27.7789852],[-82.6302973,27.77899],[-82.6303079,27.7790026],[-82.6303888,27.7790168],[-82.6304129,27.7790179],[-82.6303888,27.7790193],[-82.6303079,27.7790218],[-82.630227,27.7790297],[-82.6301846,27.7790458],[-82.6301461,27.7790701],[-82.6301356,27.7790736],[-82.6300781,27.7791015],[-82.6300652,27.779108],[-82.6300124,27.7791294],[-82.6299843,27.7791525],[-82.6299758,27.7791572],[-82.6299843,27.7791644],[-82.6300652,27.7791772],[-82.6301461,27.7791705],[-82.630227,27.7791744],[-82.6303079,27.7791801],[-82.6303368,27.7791851],[-82.6303079,27.7791876],[-82.630227,27.7791937],[-82.6301461,27.7791928],[-82.6300652,27.7791925],[-82.6299843,27.7791945],[-82.6299034,27.7792026],[-82.6298659,27.779213],[-82.6298225,27.7792262],[-82.6297962,27.7792408],[-82.6297691,27.7792687],[-82.6297416,27.7792833],[-82.6297141,27.7792966],[-82.6296769,27.7793244],[-82.6296617,27.7793523],[-82.6296607,27.7793525],[-82.6295798,27.7793675],[-82.6295409,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":15},"geometry":{"type":"LineString","coordinates":[[-82.6299034,27.7793236],[-82.6299843,27.7793151],[-82.6300652,27.7793205],[-82.6300809,27.7793244],[-82.6300652,27.7793316],[-82.6299843,27.7793358],[-82.6299034,27.7793253],[-82.6298974,27.7793244],[-82.6299034,27.7793236]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6302172,27.7790458],[-82.6301794,27.7790736],[-82.6301461,27.7790881],[-82.6301166,27.7791015],[-82.6300652,27.7791275],[-82.6300605,27.7791294],[-82.6300652,27.7791352],[-82.6301461,27.7791418],[-82.630227,27.779148],[-82.6303079,27.779137],[-82.6303666,27.7791294],[-82.6303888,27.779121],[-82.6304373,27.7791015],[-82.6304483,27.7790736],[-82.6304389,27.7790458],[-82.6303888,27.7790391],[-82.6303079,27.779037],[-82.630227,27.7790421],[-82.6302172,27.7790458]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6306645,27.77899],[-82.6307124,27.7790076],[-82.6307743,27.77899],[-82.6307124,27.7789811],[-82.6306645,27.77899]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6307856,27.7789622],[-82.6307933,27.7789739],[-82.6308211,27.7789622],[-82.6307933,27.7789591],[-82.6307856,27.7789622]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6309537,27.7789343],[-82.6309124,27.7789622],[-82.6308744,27.77899],[-82.6308742,27.7789902],[-82.6308293,27.7790179],[-82.6307933,27.7790268],[-82.6307341,27.7790458],[-82.6307124,27.7790517],[-82.6306799,27.7790458],[-82.6306315,27.7790354],[-82.6305506,27.7790436],[-82.6305377,27.7790458],[-82.6304857,27.7790736],[-82.6304917,27.7791015],[-82.6305241,27.7791294],[-82.6305506,27.7791386],[-82.6306315,27.7791416],[-82.6307124,27.7791445],[-82.6307933,27.779152],[-82.6308054,27.7791572],[-82.6308742,27.779173],[-82.6309551,27.7791587],[-82.631036,27.7791713],[-82.6310825,27.7791572],[-82.6311169,27.7791432],[-82.6311404,27.7791294],[-82.6311169,27.7791234],[-82.6310493,27.7791015],[-82.6310936,27.7790736],[-82.6310797,27.7790458],[-82.631036,27.7790325],[-82.6309623,27.7790179],[-82.631036,27.7789903],[-82.6310366,27.77899],[-82.6310366,27.7789622],[-82.6310391,27.7789343],[-82.631036,27.7789319],[-82.6309551,27.7789342],[-82.6309537,27.7789343]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.630437,27.7789343],[-82.6303888,27.7789566],[-82.6303761,27.7789622],[-82.6303488,27.77899],[-82.6303888,27.7790017],[-82.6304697,27.7790035],[-82.6305506,27.7790059],[-82.6306247,27.77899],[-82.6306026,27.7789622],[-82.6305661,27.7789343],[-82.6305506,27.7789302],[-82.6304697,27.7789213],[-82.630437,27.7789343]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6297904,27.7789343],[-82.6297416,27.7789387],[-82.6296607,27.7789418],[-82.6295798,27.778942],[-82.6294989,27.7789367],[-82.629483,27.7789622],[-82.6294767,27.77899],[-82.6294767,27.7790179],[-82.629418,27.7790329],[-82.6293546,27.7790458],[-82.6293675,27.7790736],[-82.629418,27.77909],[-82.6294628,27.7791015],[-82.6294964,27.7791294],[-82.6294989,27.7791322],[-82.6295318,27.7791294],[-82.6295798,27.7791263],[-82.6296248,27.7791294],[-82.6296607,27.7791332],[-82.6296774,27.7791294],[-82.6297416,27.7791164],[-82.6297767,27.7791015],[-82.6298225,27.7790829],[-82.629841,27.7790736],[-82.6298829,27.7790458],[-82.6299034,27.7790292],[-82.62992,27.7790179],[-82.6299635,27.77899],[-82.6299843,27.7789647],[-82.6299872,27.7789622],[-82.6299843,27.7789614],[-82.6299034,27.7789515],[-82.6298492,27.7789343],[-82.6298225,27.7789315],[-82.6297904,27.7789343]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6301137,27.778795],[-82.6301461,27.7788017],[-82.630171,27.778795],[-82.6301461,27.7787917],[-82.6301137,27.778795]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6310277,27.7786557],[-82.6309961,27.7786835],[-82.631036,27.7786909],[-82.631088,27.7786835],[-82.6311032,27.7786557],[-82.631036,27.7786519],[-82.6310277,27.7786557]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.629332,27.7785721],[-82.6293371,27.7785771],[-82.629354,27.7785721],[-82.6293371,27.7785686],[-82.629332,27.7785721]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6312319,27.7786],[-82.6311978,27.7786162],[-82.6311571,27.7786278],[-82.6311978,27.778648],[-82.6312359,27.7786557]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.631205,27.7787671],[-82.6311978,27.7787717],[-82.6311169,27.7787868],[-82.631036,27.7787704],[-82.6310296,27.7787671],[-82.630994,27.7787393],[-82.6309551,27.7787347],[-82.6308742,27.7787392],[-82.6308739,27.7787393],[-82.6308195,27.7787671],[-82.6308742,27.7787929],[-82.6308877,27.778795],[-82.6309329,27.7788229],[-82.6309551,27.778828],[-82.631036,27.7788323],[-82.6311169,27.7788324],[-82.6311978,27.7788313]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6312202,27.7791294],[-82.6312362,27.7791572]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6312182,27.779213],[-82.6311978,27.7792361],[-82.6311732,27.779213],[-82.6311169,27.7791939],[-82.631036,27.7791909],[-82.6309551,27.7791965],[-82.6308742,27.7791959],[-82.6307933,27.7792006],[-82.6307124,27.7791975],[-82.6306315,27.7792006],[-82.6305506,27.7791975],[-82.6304697,27.7792005],[-82.6303888,27.7792006],[-82.6303079,27.7792102],[-82.6302908,27.779213],[-82.630227,27.7792297],[-82.6301461,27.7792311],[-82.6300652,27.7792289],[-82.6299843,27.7792292],[-82.6299385,27.7792408],[-82.6299843,27.779266],[-82.6300044,27.7792687],[-82.6300652,27.7792739],[-82.6301171,27.7792966],[-82.6301461,27.7793036],[-82.630227,27.7793087],[-82.6303079,27.7793223],[-82.6303888,27.7793176],[-82.6304185,27.7793244],[-82.6304697,27.7793366],[-82.6305476,27.7793244],[-82.6305506,27.7793241],[-82.6305545,27.7793244],[-82.6305506,27.7793283],[-82.6305381,27.7793523],[-82.6304697,27.7793624],[-82.6303888,27.7793769],[-82.6303211,27.7793523],[-82.6303079,27.7793376],[-82.6302995,27.7793523],[-82.6302822,27.7793801],[-82.630227,27.7793923],[-82.6301529,27.7793801],[-82.6301461,27.7793799],[-82.6301297,27.7793801],[-82.6300652,27.7793926]]}},{"type":"Feature","properties":{"elevation_ft":16},"geometry":{"type":"LineString","coordinates":[[-82.6311978,27.779252],[-82.631202,27.7792687],[-82.6311978,27.7792774],[-82.6311896,27.7792687],[-82.6311978,27.779252]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6308961,27.7793801],[-82.6308742,27.779373],[-82.6308492,27.7793801]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6306717,27.7792687],[-82.6307124,27.7792886],[-82.6307785,27.7792687],[-82.6307124,27.7792483],[-82.6306717,27.7792687]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6308166,27.7792408],[-82.6308742,27.7792532],[-82.6309504,27.7792687],[-82.6308783,27.7792966],[-82.6309551,27.7793001],[-82.631036,27.7793022],[-82.6310627,27.7792966],[-82.631036,27.7792796],[-82.6309608,27.7792687],[-82.631036,27.7792468],[-82.6310401,27.7792408],[-82.631036,27.7792391],[-82.6309551,27.7792354],[-82.6308742,27.779236],[-82.6308166,27.7792408]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6304796,27.7792408],[-82.6305506,27.7792607],[-82.6305966,27.7792408],[-82.6305506,27.7792149],[-82.6304796,27.7792408]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6303656,27.7792408],[-82.6303767,27.7792687],[-82.6303888,27.7792719],[-82.630415,27.7792687],[-82.6304457,27.7792408],[-82.6303888,27.7792319],[-82.6303656,27.7792408]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6302197,27.7790736],[-82.6301775,27.7791015],[-82.6301953,27.7791294],[-82.630227,27.7791329],[-82.630245,27.7791294],[-82.6302541,27.7791015],[-82.6302656,27.7790736],[-82.630227,27.7790679],[-82.6302197,27.7790736]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6304489,27.7789622],[-82.6304697,27.7789759],[-82.6304919,27.7789622],[-82.6304697,27.7789346],[-82.6304489,27.7789622]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.62949,27.7789622],[-82.6294833,27.77899],[-82.6294946,27.7790179],[-82.629418,27.7790374],[-82.629377,27.7790458],[-82.6293803,27.7790736],[-82.629418,27.7790858],[-82.629479,27.7791015],[-82.6294989,27.779118],[-82.6295798,27.7791123],[-82.6296607,27.7791058],[-82.6296935,27.7791015],[-82.6297416,27.7790968],[-82.6297969,27.7790736],[-82.6298225,27.77906],[-82.6298431,27.7790458],[-82.6298704,27.7790179],[-82.6298879,27.77899],[-82.6298225,27.778972],[-82.6297957,27.7789622],[-82.6297416,27.7789519],[-82.6296607,27.7789496],[-82.6295798,27.7789479],[-82.6294989,27.778948],[-82.62949,27.7789622]]}},{"type":"Feature","properties":{"elevation_ft":17},"geometry":{"type":"LineString","coordinates":[[-82.6308627,27.7787671],[-82.6308742,27.7787726],[-82.630921,27.7787671],[-82.6308742,27.7787612],[-82.6308627,27.7787671]]}},{"type":"Feature","properties":{"elevation_ft":18},"geometry":{"type":"LineString","coordinates":[[-82.6294971,27.7789622],[-82.6294898,27.77899],[-82.6294989,27.7790079],[-82.6295182,27.7790179],[-82.6294989,27.7790239],[-82.629418,27.779042],[-82.6293995,27.7790458],[-82.6293931,27.7790736],[-82.629418,27.7790817],[-82.6294952,27.7791015],[-82.6294989,27.7791046],[-82.629539,27.7791015],[-82.6295798,27.7790992],[-82.6296607,27.7790891],[-82.6297416,27.7790753],[-82.6297456,27.7790736],[-82.6297831,27.7790458],[-82.6298151,27.7790179],[-82.6297416,27.7789906],[-82.6297409,27.77899],[-82.6297198,27.7789622],[-82.6296607,27.7789575],[-82.6295798,27.7789537],[-82.6294989,27.7789593],[-82.6294971,27.7789622]]}},{"type":"Feature","properties":{"elevation_ft":19},"geometry":{"type":"LineString","coordinates":[[-82.6295497,27.7789622],[-82.6294989,27.7789808],[-82.6294964,27.77899],[-82.6294989,27.7789949],[-82.6295436,27.7790179],[-82.6294989,27.7790317],[-82.6294252,27.7790458],[-82.629418,27.7790502],[-82.629406,27.7790736],[-82.629418,27.7790775],[-82.6294989,27.7790934],[-82.6295798,27.7790891],[-82.6296607,27.7790746],[-82.6296658,27.7790736],[-82.6297028,27.7790458],[-82.6296926,27.7790179],[-82.6296745,27.77899],[-82.6296607,27.7789805],[-82.6296221,27.7789622],[-82.6295798,27.7789596],[-82.6295497,27.7789622]]}},{"type":"Feature","properties":{"elevation_ft":20},"geometry":{"type":"LineString","coordinates":[[-82.6295509,27.77899],[-82.629569,27.7790179],[-82.6294989,27.7790396],[-82.6294663,27.7790458],[-82.6294238,27.7790736],[-82.6294989,27.7790828],[-82.6295798,27.7790791],[-82.6296095,27.7790736],[-82.6296256,27.7790458],[-82.6296099,27.7790179],[-82.6296045,27.77899],[-82.6295798,27.7789793],[-82.6295509,27.77899]]}}]}}},"source":{"name":"Copernicus GLO-90 DEM (via Open-Meteo) + USGS 3DEP","kind":"live","vintage":"GLO-90 / 3DEP current","attribution":"open-meteo.com / U.S. Geological Survey","note":"Point value is a ~90 m satellite SURFACE model (EGM2008) — do not compare against NAVD88 base flood elevations without a survey. Parcel terrain/contours are USGS 3DEP bare-earth (NAVD88 ft, ~10 m grid) — design-grade context, not a topographic survey."}},"boundaries":{"object":"location_section","layer":"boundaries","name":"County & ZIP","category":"geography","status":"available","summary":"Pinellas County, Florida · ZIP 33701.","data":{"state":"FL","county":{"name":"Pinellas","fips":"12103","local_code":62},"zip":"33701","precision":"boundary_file"},"source":{"name":"US Census cartographic boundaries","kind":"archive","vintage":"2020","attribution":"US Census Bureau","note":"Generalized (~50 m) boundaries — parcel data wins near edges."}},"market":{"object":"location_section","layer":"market","name":"Market observations","category":"property","status":"empty","summary":"No market observations on file for this parcel.","data":null,"source":{"name":"Pascal market observations (Zillow via Bright Data)","kind":"archive","attribution":"Pascal","note":"Estimates are Zillow-derived signals, not appraisals."}},"tax":{"object":"location_section","layer":"tax","name":"Tax assessment","category":"property","status":"available","summary":"2026 roll: just value $90,000,000, assessed $90,000,000, taxable $90,000,000.","data":{"roll":{"assessment_year":2026,"annual_tax":null,"just_value":90000000,"assessed_value":90000000,"taxable_value":90000000,"land_value":50370852,"dor_use_code":"039","last_sale_price":null,"last_sale_year":null},"assessed_value":90000000,"property_tax_rate_pct":null,"estimated_annual_tax":null,"year_built":2018},"source":{"name":"Florida DOR tax roll (NAL, 2026 preliminary)","kind":"archive","vintage":"2026P","attribution":"Florida Department of Revenue / county property appraisers","note":"The county assessment roll — recorded values, not estimates. Preliminary roll; final certification follows."}},"zoning":{"object":"location_section","layer":"zoning","name":"Zoning","category":"classification","status":"available","summary":"Zoned DC-3 (downtown center) — City of St. Petersburg. Setbacks are conditional here — see dimensional_note for the code text. FAR 2.","data":{"district":"DC-3","district_description":"DOWNTOWN CENTER","jurisdiction":"City of St. Petersburg","normalized_class":null,"zoning_data_source":null,"zoning_data_vintage":null,"zoning_data_version":null,"future_land_use":null,"land_development_code_url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH16LADERE_S16.20.120DOCEDIDC","governing_documents":[{"kind":"land_development_code","title":"Chapter 16 - LAND DEVELOPMENT REGULATIONS","section":"Ch. 16","url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH16LADERE","retrieved_at":"2026-09-03T22:47:58Z"},{"kind":"building_code_administration","title":"Chapter 8 - BUILDINGS AND BUILDING REGULATIONS","section":"Ch. 8","url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH8BUBURE","retrieved_at":"2026-09-03T22:47:58Z"},{"kind":"floodplain_ordinance","title":"SECTION 16.40.050. - FLOODPLAIN MANAGEMENT","section":"§ 16.40.050","url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH16LADERE_S16.40.050FLMA","retrieved_at":"2026-09-03T22:47:58Z"},{"kind":"permit_administration","title":"SECTION 16.70. - APPLICATIONS AND PROCEDURES","section":"§ 16.70","url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH16LADERE_S16.70APPR","retrieved_at":"2026-09-03T22:47:58Z"},{"kind":"tree_landscaping","title":"SECTION 16.40.060. - LANDSCAPING AND IRRIGATION; TREE PROTECTION","section":"§ 16.40.060","url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH16LADERE_S16.40.060LAIRTRPR","retrieved_at":"2026-09-03T22:47:58Z"},{"kind":"historic_preservation","title":"SECTION 16.30.070. - HISTORIC AND ARCHAEOLOGICAL PRESERVATION OVERLAY","section":"§ 16.30.070","url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH16LADERE_S16.30.070HIARPROV","retrieved_at":"2026-09-03T22:47:58Z"},{"kind":"stormwater","title":"ARTICLE IV. - STORMWATER MANAGEMENT SYSTEM","section":"Ch. 27, Art. IV","url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH27UT_ARTIVSTMASY","retrieved_at":"2026-09-03T22:47:58Z"}],"setbacks":{"front_ft":null,"side_ft":null,"rear_ft":null},"max_height_ft":null,"max_far":2,"min_lot_sqft":null,"dimensional_note":"No minimum lot area; density limited by FAR. FAR shown is base approval (2.0); streamline bonus to 3.0; public-hearing bonus 3.0-4.0. Form-based envelope, no numeric height cap in the table: setbacks along streets 0 ft up to 50 ft of building height, 20 ft above 50 ft (60-degree angled envelope adjacent to Beach Drive); distances between buildings 0/15/60/80 ft by tier; max floor plate above 50 ft is 15,000 sq ft; facades above 50 ft must be less than 120 ft wide.","dimensional_source":{"url":"https://library.municode.com/fl/st._petersburg/codes/code_of_ordinances?nodeId=PTIISTPECO_CH16LADERE_S16.20.120DOCEDIDC","section":"Section 16.20.120 - Downtown Center Districts (DC); subsections 16.20.120.6 (Development potential) and 16.20.120.7 (Building envelope)","retrieved_at":"2026-09-02T16:33:34Z"}},"source":{"name":"County / city zoning GIS","kind":"official","vintage":"current jurisdiction record","attribution":"Local planning departments","note":"District comes from the jurisdiction GIS; dimensional numbers (setbacks, height, FAR) from the land development code — dimensional_source names the exact section. Verify against the governing text for permit sets."}},"permits":{"object":"location_section","layer":"permits","name":"Permits","category":"property","status":"not_covered","summary":"Pinellas and St. Petersburg publish only static permit snapshots (2019–2021) — no live feed to query yet.","data":null,"reason":"Pinellas and St. Petersburg publish only static permit snapshots (2019–2021) — no live feed to query yet.","hint":"A live Accela feed would light this up; snapshots can be ingested as an archive layer.","source":{"name":"City / county permit feeds","kind":"official","attribution":"Local building departments","note":"Permits within ~120 m of the point — geocoded permit points, so \"on or near\" the parcel."}},"utilities":{"object":"location_section","layer":"utilities","name":"Utilities","category":"geography","status":"available","summary":"Likely on sewer. Public drinking water. Electric: DUKE ENERGY FLORIDA, LLC.","data":{"wastewater":"sewer","wastewater_confidence":"likely","wastewater_updated":"2023","drinking_water":"KnownPublic","electric_providers":[{"name":"DUKE ENERGY FLORIDA, LLC","type":"INVESTOR OWNED"}]},"source":{"name":"FL Water Management Inventory + EIA service territories","kind":"official","attribution":"FDOH / EIA","note":"Sewer/septic classes are inventory-based (\"known\" vs \"likely\") — confirm with the utility before design."}}},"request_id":"a9dcdf87-00f8-434e-8173-a0fdecb8550e"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { describe, expect, test } from 'bun:test'
|
|
2
|
+
import { classifyEdges, setbackEnvelope } from '@pascal-app/core'
|
|
3
|
+
import type { Pt } from '../floorplan/site-plan/geometry'
|
|
4
|
+
import { polygonArea } from '../floorplan/site-plan/geometry'
|
|
5
|
+
import {
|
|
6
|
+
cleanLotRing,
|
|
7
|
+
describeRingCleanup,
|
|
8
|
+
dropDuplicateVertices,
|
|
9
|
+
mergeCollinearVertices,
|
|
10
|
+
squareCornerArcs,
|
|
11
|
+
} from './clean-ring'
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 2600 Castro Way, Sacramento — the registry ring as the parcel `resolve`
|
|
15
|
+
* returned it on 2026-09-06 (metres, x east, y south): a nine-segment
|
|
16
|
+
* curb-return arc (edges 0–8), the rest of the Castro Way frontage (edge
|
|
17
|
+
* 9), the two long sides and the rear.
|
|
18
|
+
*/
|
|
19
|
+
const LAND_PARK: Pt[] = [
|
|
20
|
+
[0.36, 6.96],
|
|
21
|
+
[0.55, 5.77],
|
|
22
|
+
[0.89, 4.64],
|
|
23
|
+
[1.38, 3.59],
|
|
24
|
+
[2.01, 2.67],
|
|
25
|
+
[2.75, 1.91],
|
|
26
|
+
[3.58, 1.32],
|
|
27
|
+
[4.49, 0.92],
|
|
28
|
+
[5.42, 0.73],
|
|
29
|
+
[6.38, 0.75],
|
|
30
|
+
[15.44, 0.68],
|
|
31
|
+
[15.7, 34.76],
|
|
32
|
+
[0.88, 34.94],
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
const RECT: Pt[] = [
|
|
36
|
+
[-10, -15],
|
|
37
|
+
[10, -15],
|
|
38
|
+
[10, 15],
|
|
39
|
+
[-10, 15],
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
describe('dropDuplicateVertices / mergeCollinearVertices', () => {
|
|
43
|
+
test('the closing repeat and near-duplicates go, straight-line points merge', () => {
|
|
44
|
+
const ring: Pt[] = [
|
|
45
|
+
[0, 0],
|
|
46
|
+
[5, 0],
|
|
47
|
+
[5.01, 0],
|
|
48
|
+
[10, 0],
|
|
49
|
+
[10, 6],
|
|
50
|
+
[0, 6],
|
|
51
|
+
[0, 0],
|
|
52
|
+
]
|
|
53
|
+
const d = dropDuplicateVertices(ring)
|
|
54
|
+
expect(d).toEqual([
|
|
55
|
+
[0, 0],
|
|
56
|
+
[5, 0],
|
|
57
|
+
[10, 0],
|
|
58
|
+
[10, 6],
|
|
59
|
+
[0, 6],
|
|
60
|
+
])
|
|
61
|
+
expect(mergeCollinearVertices(d)).toEqual([
|
|
62
|
+
[0, 0],
|
|
63
|
+
[10, 0],
|
|
64
|
+
[10, 6],
|
|
65
|
+
[0, 6],
|
|
66
|
+
])
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
test('a clean rectangle is untouched', () => {
|
|
70
|
+
expect(mergeCollinearVertices(dropDuplicateVertices(RECT))).toEqual(RECT)
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
describe('squareCornerArcs', () => {
|
|
75
|
+
test('a curb-return arc becomes the corner the long edges make', () => {
|
|
76
|
+
const r = squareCornerArcs(LAND_PARK)
|
|
77
|
+
expect(r.arcs).toBe(1)
|
|
78
|
+
expect(r.arcVertices).toBe(9)
|
|
79
|
+
expect(r.points).toHaveLength(4)
|
|
80
|
+
// the corner: the Castro Way line (edge 9) extended meets the west side
|
|
81
|
+
// (edge 12: (0.88, 34.94) → (0.36, 6.96)) extended — x = 0.88 − 0.52 · (34.94 − 0.80) / 27.98
|
|
82
|
+
const corner = r.points.find((p) => p[0] < 1 && p[1] < 2)!
|
|
83
|
+
expect(corner).toBeDefined()
|
|
84
|
+
expect(corner[0]).toBeCloseTo(0.245, 2)
|
|
85
|
+
expect(corner[1]).toBeCloseTo(0.797, 2)
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
test('a small chamfer is squared, a long one is kept', () => {
|
|
89
|
+
const chamfer: Pt[] = [
|
|
90
|
+
[0, 0],
|
|
91
|
+
[8, 0],
|
|
92
|
+
[10, 2], // 2.8 m cut across the corner
|
|
93
|
+
[10, 10],
|
|
94
|
+
[0, 10],
|
|
95
|
+
]
|
|
96
|
+
const r = squareCornerArcs(chamfer)
|
|
97
|
+
expect(r.arcs).toBe(1)
|
|
98
|
+
expect(r.arcVertices).toBe(1)
|
|
99
|
+
expect(r.points).toEqual([
|
|
100
|
+
[0, 0],
|
|
101
|
+
[10, 0],
|
|
102
|
+
[10, 10],
|
|
103
|
+
[0, 10],
|
|
104
|
+
])
|
|
105
|
+
const big: Pt[] = [
|
|
106
|
+
[0, 0],
|
|
107
|
+
[20, 0],
|
|
108
|
+
[40, 20], // 28 m — a real diagonal side, not a corner rounding
|
|
109
|
+
[40, 60],
|
|
110
|
+
[0, 60],
|
|
111
|
+
]
|
|
112
|
+
expect(squareCornerArcs(big).arcs).toBe(0)
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
test('a split straight run is not a corner; one that starts at a corner squares to the same ring', () => {
|
|
116
|
+
// three 2 m pieces in the MIDDLE of the frontage: the long edges on both
|
|
117
|
+
// sides run the same way, nothing to square (the collinear pass merges them)
|
|
118
|
+
const mid: Pt[] = [
|
|
119
|
+
[0, 0],
|
|
120
|
+
[8, 0],
|
|
121
|
+
[10, 0],
|
|
122
|
+
[12, 0],
|
|
123
|
+
[20, 0],
|
|
124
|
+
[20, 30],
|
|
125
|
+
[0, 30],
|
|
126
|
+
]
|
|
127
|
+
expect(squareCornerArcs(mid).arcs).toBe(0)
|
|
128
|
+
// the same pieces starting AT the corner: the long edges meet at 90° and
|
|
129
|
+
// their intersection is the corner itself — the ring comes out identical
|
|
130
|
+
const atCorner: Pt[] = [
|
|
131
|
+
[0, 0],
|
|
132
|
+
[2, 0],
|
|
133
|
+
[4, 0],
|
|
134
|
+
[6, 0],
|
|
135
|
+
[20, 0],
|
|
136
|
+
[20, 30],
|
|
137
|
+
[0, 30],
|
|
138
|
+
]
|
|
139
|
+
expect(squareCornerArcs(atCorner).points).toEqual([
|
|
140
|
+
[0, 0],
|
|
141
|
+
[20, 0],
|
|
142
|
+
[20, 30],
|
|
143
|
+
[0, 30],
|
|
144
|
+
])
|
|
145
|
+
})
|
|
146
|
+
})
|
|
147
|
+
|
|
148
|
+
describe('cleanLotRing on the real Land Park ring', () => {
|
|
149
|
+
test('13 vertices → 4, and the envelope and roles come out right', () => {
|
|
150
|
+
const c = cleanLotRing(LAND_PARK)
|
|
151
|
+
expect(c.points).toHaveLength(4)
|
|
152
|
+
expect(c.removed.arcs).toBe(1)
|
|
153
|
+
expect(c.removed.arcVertices).toBe(9)
|
|
154
|
+
expect(c.removed.collinear).toBe(0)
|
|
155
|
+
expect(describeRingCleanup(LAND_PARK.length, c)).toBe(
|
|
156
|
+
'Lot ring simplified for planning: 13 → 4 vertices (1 rounded corner squared (9 arc vertices)); setbacks and the street edge use the simplified ring, the recorded lot area stands.',
|
|
157
|
+
)
|
|
158
|
+
// Castro Way frontage is the edge from the squared corner to (15.44, 0.68)
|
|
159
|
+
const front = c.points.findIndex((p, i) => {
|
|
160
|
+
const q = c.points[(i + 1) % c.points.length]!
|
|
161
|
+
return p[1] < 2 && q[1] < 2
|
|
162
|
+
})
|
|
163
|
+
expect(front).toBeGreaterThanOrEqual(0)
|
|
164
|
+
const roles = classifyEdges(c.points, front)
|
|
165
|
+
expect(roles.filter((r) => r === 'front')).toHaveLength(1)
|
|
166
|
+
expect(roles.filter((r) => r === 'rear')).toHaveLength(1)
|
|
167
|
+
const env = setbackEnvelope(c.points, { front: 6.096, side: 1.524, rear: 4.572 }, front)
|
|
168
|
+
expect(env).toHaveLength(4)
|
|
169
|
+
// frontage of the envelope ≈ lot width − 2 × 5 ft ≈ 14.7 − 3.05 m
|
|
170
|
+
const p = env[front]!
|
|
171
|
+
const q = env[(front + 1) % 4]!
|
|
172
|
+
expect(Math.hypot(q[0] - p[0], q[1] - p[1])).toBeCloseTo(14.72 - 3.048, 0)
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
test('the raw ring: the true inward offset copes with it too (2026-09-08), but only the cleaned ring gives four clean corners', () => {
|
|
176
|
+
// the sliver edge 8 is what the road detector picked on the raw ring
|
|
177
|
+
const raw = setbackEnvelope(LAND_PARK, { front: 6.096, side: 1.524, rear: 4.572 }, 8)
|
|
178
|
+
expect(raw.length === 0 || raw.length >= 3).toBe(true)
|
|
179
|
+
if (raw.length >= 3) expect(polygonArea(raw)).toBeLessThan(polygonArea(LAND_PARK))
|
|
180
|
+
})
|
|
181
|
+
|
|
182
|
+
test('nothing to clean, nothing said', () => {
|
|
183
|
+
const c = cleanLotRing(RECT)
|
|
184
|
+
expect(c.points).toEqual(RECT)
|
|
185
|
+
expect(describeRingCleanup(4, c)).toBe('')
|
|
186
|
+
})
|
|
187
|
+
})
|