diff --git a/Package.resolved b/Package.resolved index fe4a630..1b80067 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,25 +1,23 @@ { - "object": { - "pins": [ - { - "package": "GeoJSONKit", - "repositoryURL": "https://github.com/maparoni/geojsonkit.git", - "state": { - "branch": null, - "revision": "8f1e5094a8ab8cbb020074cd4848a5804c17bab0", - "version": "0.5.2" - } - }, - { - "package": "swift-argument-parser", - "repositoryURL": "https://github.com/apple/swift-argument-parser", - "state": { - "branch": null, - "revision": "f3c9084a71ef4376f2fabbdf1d3d90a49f1fabdb", - "version": "1.1.2" - } + "pins" : [ + { + "identity" : "geojsonkit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/maparoni/geojsonkit.git", + "state" : { + "revision" : "5e2c59aec10c1a2592438945c042c6a6170f1208", + "version" : "0.5.3" } - ] - }, - "version": 1 + }, + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser", + "state" : { + "revision" : "f3c9084a71ef4376f2fabbdf1d3d90a49f1fabdb", + "version" : "1.1.2" + } + } + ], + "version" : 2 } diff --git a/Package.swift b/Package.swift index 4577147..d2dad4d 100644 --- a/Package.swift +++ b/Package.swift @@ -17,7 +17,7 @@ let package = Package( targets: ["GeoKitten"]), ], dependencies: [ - .package(url: "https://github.com/maparoni/geojsonkit.git", from: "0.5.2"), + .package(url: "https://github.com/maparoni/geojsonkit.git", from: "0.5.3"), // .package(name: "GeoJSONKit", path: "../GeoJSONKit"), .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.0.0")), ], diff --git a/README.md b/README.md index e193383..9e3a219 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ Turf.js | GeoJSONKit-Turf ----|---- [turf-along](https://github.com/Turfjs/turf/tree/master/packages/turf-along/) | `GeoJSON.LineString.coordinateFromStart(distance:)` [turf-area](https://github.com/Turfjs/turf/blob/master/packages/turf-area/) | `GeoJSON.Polygon.area` +[turf-bbox-clip](https://turfjs.org/docs/#bboxClip) | `GeoJSON.Polygon.clip(to:)` [turf-bearing](https://turfjs.org/docs/#bearing) | `GeoJSON.Position.direction(to:)`
`RadianCoordinate2D.direction(to:)` [turf-bezier-spline](https://github.com/Turfjs/turf/tree/master/packages/turf-bezier-spline/) | `GeoJSON.LineString.bezier(resolution:sharpness:)` [turf-boolean-point-in-polygon](https://github.com/Turfjs/turf/tree/master/packages/turf-boolean-point-in-polygon) | `GeoJSON.Polygon.contains(_:)` diff --git a/Sources/GeoJSONKitTurf/Turf+Polygon.swift b/Sources/GeoJSONKitTurf/Turf+Polygon.swift index fd145af..5614c2d 100644 --- a/Sources/GeoJSONKitTurf/Turf+Polygon.swift +++ b/Sources/GeoJSONKitTurf/Turf+Polygon.swift @@ -27,7 +27,7 @@ extension GeoJSON.Polygon { } var coordinates: [[GeoJSON.Position]] { positionsArray } - + /// An area of current `.Polygon` /// /// Ported from https://github.com/Turfjs/turf/blob/a94151418cb969868fdb42955a19a133512da0fd/packages/turf-area/index.js @@ -54,6 +54,142 @@ extension GeoJSON.Polygon { return true } + /// Finds the nearest position on the polygon that's closest to the provided position. + /// + /// If the provided point is contained by the polygon + public func nearestPoint(to position: GeoJSON.Position) -> GeoJSON.Position? { + if !exterior.contains(position, ignoreBoundary: false) { + return exterior.closestPosition(to: position) + } + + if let inner = interiors.first(where: { $0.contains(position, ignoreBoundary: false) }) { + return inner.closestPosition(to: position) + } + + // The exterior contains it, but none of the interiors do + // => The point is within the polygon + return position + } +} + +// MARK: - Polygon.clip(_:) + +extension GeoJSON.Polygon { + + /// Clips a `.Polygon` to a bounding box + /// + /// Ported from https://github.com/Turfjs/turf/blob/master/packages/turf-bbox-clip/index.ts + public func clip(to boundingBox: GeoJSON.BoundingBox) -> GeoJSON.Polygon { + var rings: [GeoJSON.Polygon.LinearRing] = [] + for ring in [exterior] + interiors { + var clip: GeoJSON.Polygon.LinearRing = ring.clip(to: boundingBox) + if let first = clip.positions.first { + if first != clip.positions.last { + clip.positions.append(first) + } + if clip.positions.count >= 4 { + rings.append(clip) + } + } + } + return .init(rings.map(\.positions)) + } + +} + +extension GeoJSON.Polygon.LinearRing { + // Sutherland-Hodgeman polygon clipping algorithm + func clip(to boundingBox: GeoJSON.BoundingBox) -> GeoJSON.Polygon.LinearRing { + var result = [GeoJSON.Position]() + var prev: GeoJSON.Position + var prevInside: Bool + var inside: Bool + var points = positions + + for edge in [1, 2, 4, 8] { + result = [] + prev = points.last! + prevInside = !(bitCode(p: prev, bbox: boundingBox) & edge != 0) + + for point in points { + inside = !(bitCode(p: point, bbox: boundingBox) & edge != 0) + + if inside != prevInside { + if let intersection = intersect(a: prev, b: point, edge: edge, bbox: boundingBox) { + result.append(intersection) + } + } + + if inside { + result.append(point) + } + + prev = point + prevInside = inside + } + + points = result + if result.isEmpty { + break + } + } + + return .init(positions: result) + } + + private func intersect(a: GeoJSON.Position, b: GeoJSON.Position, edge: Int, bbox: GeoJSON.BoundingBox) -> GeoJSON.Position? { + if edge & 8 != 0 { + return .init(x: a.x + ((b.x - a.x) * (bbox.top - a.y)) / (b.y - a.y), y: bbox.top) + } else if edge & 4 != 0 { + return .init(x: a.x + ((b.x - a.x) * (bbox.bottom - a.y)) / (b.y - a.y), y: bbox.bottom) + } else if edge & 2 != 0 { + return .init(x: bbox.right, y: a.y + ((b.y - a.y) * (bbox.right - a.x)) / (b.x - a.x)) + } else if edge & 1 != 0 { + return .init(x: bbox.left, y: a.y + ((b.y - a.y) * (bbox.left - a.x)) / (b.x - a.x)) + } else { + return nil + } + } + + private func bitCode(p: GeoJSON.Position, bbox: GeoJSON.BoundingBox) -> Int { + var code = 0 + + if p.x < bbox.left { + code |= 1 + } else if p.x > bbox.right { + code |= 2 + } + + if p.y < bbox.bottom { + code |= 4 + } else if p.y > bbox.top { + code |= 8 + } + + return code + } +} + +fileprivate extension GeoJSON.BoundingBox { + var left: Double { southWesterlyLongitude } + var right: Double { northEasterlyLongitude } + var top: Double { northEasterlyLatitude } + var bottom: Double { southWesterlyLatitude } +} + +fileprivate extension GeoJSON.Position { + var x: Double { longitude } + var y: Double { latitude } + + init(x: Double, y: Double) { + self.init(latitude: y, longitude: x) + } +} + +// MARK: - Polygon.smooth() + +extension GeoJSON.Polygon { + /// Smooths a `.Polygon`. Based on [Chaikin's algorithm](http://graphics.cs.ucdavis.edu/education/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html). /// Warning: may create degenerate polygons. /// @@ -77,23 +213,6 @@ extension GeoJSON.Polygon { return GeoJSON.Polygon(outCoords); } - /// Finds the nearest position on the polygon that's closest to the provided position. - /// - /// If the provided point is contained by the polygon - public func nearestPoint(to position: GeoJSON.Position) -> GeoJSON.Position? { - if !exterior.contains(position, ignoreBoundary: false) { - return exterior.closestPosition(to: position) - } - - if let inner = interiors.first(where: { $0.contains(position, ignoreBoundary: false) }) { - return inner.closestPosition(to: position) - } - - // The exterior contains it, but none of the interiors do - // => The point is within the polygon - return position - } - private func processPolygon(_ poly: GeoJSON.Polygon, _ tempOutput: inout [[GeoJSON.Position]]) { var coordIndex = 0 var prevGeomIndex = 0; diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-crossing-hole.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-crossing-hole.geojson new file mode 100755 index 0000000..acb7d4a --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-crossing-hole.geojson @@ -0,0 +1,1109 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-78.869276, 38.762991], + [-78.993997, 38.850102], + [-78.999752, 38.846162], + [-79.055354, 38.782213], + [-79.057253, 38.761413], + [-79.092555, 38.700149], + [-79.092271, 38.699208], + [-79.135472, 38.644057], + [-79.135546, 38.643715], + [-79.136374, 38.6424], + [-79.137012, 38.640655], + [-79.146741, 38.625819], + [-79.146974, 38.625641], + [-79.174512, 38.566531], + [-79.174881, 38.566314], + [-79.207884, 38.500428], + [-79.207873, 38.500122], + [-79.209703, 38.495574], + [-79.210008, 38.494283], + [-79.210026, 38.494231], + [-79.225839, 38.479446], + [-79.23162, 38.474041], + [-79.234408, 38.473011], + [-79.240059, 38.469841], + [-79.242024, 38.464332], + [-79.26291, 38.444586], + [-79.263376, 38.443762], + [-79.265327, 38.441772], + [-79.267414, 38.438322], + [-79.282663, 38.431021], + [-79.280263, 38.425475], + [-79.290529, 38.420757], + [-79.291813, 38.419627], + [-79.295712, 38.418129], + [-79.297758, 38.416438], + [-79.312276, 38.411876], + [-79.476638, 38.457228], + [-79.521469, 38.533918], + [-79.53687, 38.550917], + [-79.555471, 38.560217], + [-79.597955, 38.572767], + [-79.649075, 38.591515], + [-79.669128, 38.510975], + [-79.669128, 38.510883], + [-79.695565, 38.477842], + [-79.699006, 38.475148], + [-79.688205, 38.450476], + [-79.688962, 38.449538], + [-79.689544, 38.442511], + [-79.691377, 38.439558], + [-79.731661, 38.374143], + [-79.808711, 38.309429], + [-79.810115, 38.305037], + [-79.788945, 38.268703], + [-79.790134, 38.267654], + [-79.794568, 38.264856], + [-79.891999, 38.203378], + [-79.892345, 38.202397], + [-79.916174, 38.184386], + [-79.917061, 38.183741], + [-79.921196, 38.180378], + [-79.921026, 38.179954], + [-79.925251, 38.150465], + [-79.925512, 38.150237], + [-79.928683, 38.144928], + [-79.928747, 38.144436], + [-79.933751, 38.135508], + [-79.938394, 38.130563], + [-79.931034, 38.101402], + [-79.933911, 38.099168], + [-79.959844, 38.063697], + [-79.978427, 38.029082], + [-80.002507, 37.992767], + [-80.055278, 37.951702], + [-80.130464, 37.893194], + [-80.14613, 37.884453], + [-80.147316, 37.885936], + [-80.148964, 37.886057], + [-80.162202, 37.875122], + [-80.227092, 37.798886], + [-80.231551, 37.792591], + [-80.257411, 37.756084], + [-80.262765, 37.738336], + [-80.260313, 37.733517], + [-80.259342, 37.731205], + [-80.263936, 37.719137], + [-80.287107, 37.696403], + [-80.296138, 37.691783], + [-80.292337, 37.683976], + [-80.292258, 37.683732], + [-80.270323, 37.648982], + [-80.270352, 37.648929], + [-80.267455, 37.646108], + [-80.267228, 37.646011], + [-80.264874, 37.645511], + [-80.26483, 37.645526], + [-80.263291, 37.645101], + [-80.263281, 37.645082], + [-80.254469, 37.642333], + [-80.254431, 37.642352], + [-80.239288, 37.637672], + [-80.220984, 37.627767], + [-80.223386, 37.623185], + [-80.240272, 37.606961], + [-80.288766, 37.58196], + [-80.312393, 37.546239], + [-80.330306, 37.536244], + [-80.314806, 37.500943], + [-80.320627, 37.49888], + [-80.425656, 37.449876], + [-80.443025, 37.438126], + [-80.46482, 37.426144], + [-80.475601, 37.422949], + [-80.494867, 37.43507], + [-80.511391, 37.481672], + [-80.622664, 37.433307], + [-80.770082, 37.372363], + [-80.776649, 37.383679], + [-80.776766, 37.384131], + [-80.798869, 37.395807], + [-80.811639, 37.407507], + [-80.85836, 37.428168], + [-80.858473, 37.428301], + [-80.859556, 37.429568], + [-80.859558, 37.429555], + [-80.862761, 37.411829], + [-80.872589, 37.372347], + [-80.849451, 37.346909], + [-80.900535, 37.315], + [-80.919259, 37.306163], + [-80.947896, 37.295872], + [-80.966556, 37.292158], + [-80.973889, 37.291444], + [-80.980044, 37.293118], + [-80.981322, 37.293465], + [-81.034652, 37.290751], + [-81.084012, 37.284401], + [-81.112596, 37.278497], + [-81.167029, 37.262881], + [-81.204774, 37.243013], + [-81.225104, 37.234874], + [-81.320105, 37.299323], + [-81.362156, 37.337687], + [-81.366315, 37.335927], + [-81.367052, 37.334504], + [-81.36809, 37.332423], + [-81.369379, 37.331827], + [-81.367599, 37.327569], + [-81.371315, 37.324115], + [-81.377349, 37.318447], + [-81.380159, 37.317838], + [-81.384127, 37.318596], + [-81.384914, 37.318832], + [-81.38581, 37.320085], + [-81.386727, 37.320474], + [-81.388132, 37.319903], + [-81.409196, 37.286071], + [-81.409729, 37.284837], + [-81.504168, 37.250115], + [-81.50488, 37.247697], + [-81.507325, 37.2338], + [-81.557315, 37.207697], + [-81.558353, 37.208145], + [-81.560625, 37.206663], + [-81.678603, 37.202467], + [-81.683544, 37.211452], + [-81.728194, 37.239823], + [-81.73332, 37.238127], + [-81.738378, 37.240917], + [-81.744291, 37.244178], + [-81.74342, 37.245858], + [-81.743505, 37.247601], + [-81.747656, 37.264329], + [-81.75129, 37.265131], + [-81.752123, 37.265568], + [-81.752912, 37.266614], + [-81.755012, 37.26772], + [-81.757531, 37.27001], + [-81.757714, 37.271124], + [-81.75773, 37.271934], + [-81.757631, 37.274003], + [-81.76022, 37.275254], + [-81.761752, 37.275713], + [-81.762776, 37.275391], + [-81.763836, 37.275218], + [-81.765195, 37.275099], + [-81.767837, 37.274216], + [-81.774684, 37.274807], + [-81.774747, 37.274847], + [-81.793425, 37.281674], + [-81.793639, 37.282188], + [-81.809184, 37.283003], + [-81.810559, 37.28298], + [-81.84231, 37.285556], + [-81.843167, 37.285586], + [-81.854059, 37.291352], + [-81.853488, 37.294763], + [-81.854465, 37.299937], + [-81.853978, 37.300418], + [-81.86476, 37.308404], + [-81.865219, 37.308839], + [-81.873213, 37.325065], + [-81.878343, 37.328837], + [-81.878713, 37.331753], + [-81.879601, 37.332074], + [-81.880886, 37.331146], + [-81.885075, 37.330665], + [-81.886952, 37.330725], + [-81.887722, 37.331156], + [-81.892876, 37.330134], + [-81.893773, 37.330105], + [-81.894768, 37.331381], + [-81.894797, 37.332012], + [-81.895489, 37.332022], + [-81.896001, 37.331967], + [-81.899459, 37.340277], + [-81.899495, 37.341102], + [-81.902992, 37.34234], + [-81.903795, 37.34305], + [-81.905945, 37.342775], + [-81.906368, 37.34276], + [-81.907322, 37.343119], + [-81.907895, 37.343783], + [-81.910875, 37.348729], + [-81.911487, 37.348839], + [-81.920711, 37.355416], + [-81.921571, 37.356423], + [-81.925643, 37.357316], + [-81.926589, 37.358942], + [-81.929915, 37.366589], + [-81.930194, 37.366728], + [-81.933895, 37.372747], + [-81.92749, 37.413251], + [-81.935621, 37.438397], + [-81.949367, 37.445687], + [-81.968795, 37.451496], + [-81.987006, 37.454878], + [-81.99227, 37.460916], + [-81.996578, 37.476705], + [-81.992916, 37.482969], + [-81.94264, 37.508844], + [-81.92787, 37.512118], + [-81.968297, 37.537798], + [-82.291908, 37.311642], + [-82.305874, 37.3011], + [-82.310793, 37.297387], + [-82.350948, 37.267077], + [-82.510826, 37.218091], + [-82.553549, 37.200867], + [-82.565329, 37.196118], + [-82.565375, 37.196092], + [-82.624878, 37.162932], + [-82.721941, 37.105689], + [-82.720597, 37.081833], + [-82.722472, 37.045101], + [-82.771795, 37.015716], + [-82.777368, 37.015279], + [-82.788897, 37.00816], + [-82.789092, 37.007995], + [-82.790462, 37.007263], + [-82.79089, 37.00676], + [-82.800531, 37.007944], + [-82.815748, 37.007196], + [-82.818006, 37.006161], + [-82.830588, 37.000945], + [-82.829125, 36.997541], + [-82.830802, 36.993445], + [-82.833843, 36.991973], + [-82.836008, 36.988837], + [-82.838549, 36.987027], + [-82.840051, 36.987113], + [-82.851397, 36.984497], + [-82.852614, 36.984963], + [-82.862926, 36.979975], + [-82.864909, 36.97901], + [-82.866019, 36.978272], + [-82.866689, 36.978052], + [-82.867535, 36.977518], + [-82.868455, 36.976481], + [-82.869183, 36.974183], + [-82.869183, 36.974182], + [-82.870274, 36.965993], + [-82.87023, 36.965498], + [-82.867358, 36.963182], + [-82.865404, 36.958084], + [-82.864211, 36.957983], + [-82.862866, 36.957765], + [-82.860534, 36.956015], + [-82.858443, 36.954036], + [-82.855705, 36.953808], + [-82.856099, 36.952471], + [-82.860633, 36.94584], + [-82.861282, 36.944848], + [-82.861684, 36.939316], + [-82.860537, 36.937439], + [-82.858784, 36.933065], + [-82.858461, 36.932717], + [-82.861943, 36.924236], + [-82.863468, 36.922308], + [-82.872136, 36.913456], + [-82.873777, 36.912299], + [-82.885618, 36.900415], + [-82.91169, 36.874248], + [-82.911824, 36.874243], + [-82.973395, 36.859097], + [-83.07259, 36.854589], + [-83.099792, 36.824889], + [-83.131694, 36.781488], + [-83.131245, 36.767105], + [-83.125655, 36.761407], + [-83.125728, 36.761276], + [-83.127833, 36.750828], + [-83.136395, 36.743088], + [-83.167396, 36.739187], + [-83.199698, 36.737487], + [-83.342804, 36.701286], + [-83.353613, 36.696699], + [-83.354606, 36.696153], + [-83.460808, 36.664885], + [-83.461013, 36.664916], + [-83.498011, 36.670485], + [-83.527212, 36.665984], + [-83.649513, 36.616683], + [-83.675413, 36.600814], + [-83.670141, 36.600797], + [-83.670128, 36.600764], + [-83.472108, 36.597284], + [-83.2763, 36.598187], + [-83.250304, 36.593935], + [-83.249899, 36.593898], + [-83.248933, 36.593827], + [-83.028357, 36.593893], + [-83.02725, 36.593847], + [-82.985087, 36.593829], + [-82.830433, 36.593761], + [-82.69578, 36.593698], + [-82.679879, 36.593698], + [-82.609176, 36.594099], + [-82.561074, 36.5948], + [-82.559774, 36.5948], + [-82.554294, 36.594876], + [-82.293814, 36.595565], + [-82.243274, 36.595699], + [-82.226653, 36.595743], + [-82.225716, 36.595744], + [-82.223445, 36.595721], + [-82.221713, 36.595814], + [-82.211005, 36.59586], + [-82.210497, 36.595772], + [-82.188491, 36.595179], + [-82.18074, 36.594928], + [-82.177247, 36.594768], + [-82.173982, 36.594607], + [-82.150727, 36.594673], + [-82.148569, 36.594718], + [-82.14607, 36.594712], + [-81.934144, 36.594213], + [-81.922644, 36.616213], + [-81.826742, 36.614215], + [-81.6469, 36.611918], + [-81.677535, 36.588117], + [-81.60697, 36.587094], + [-81.521032, 36.58052], + [-81.353322, 36.574723], + [-81.353169, 36.574724], + [-81.307511, 36.575024], + [-81.061866, 36.56702], + [-81.058844, 36.566976], + [-80.945988, 36.563196], + [-80.944338, 36.563058], + [-80.901836, 36.561754], + [-80.901726, 36.561751], + [-80.837954, 36.559131], + [-80.837641, 36.559118], + [-80.837089, 36.559154], + [-80.744101, 36.561686], + [-80.687539, 36.561411], + [-80.612158, 36.558127], + [-80.4401, 36.55063], + [-80.432628, 36.550302], + [-80.431605, 36.550219], + [-80.228263, 36.543867], + [-80.225408, 36.543748], + [-80.171636, 36.543219], + [-80.169535, 36.54319], + [-80.053455, 36.542623], + [-80.027269, 36.542495], + [-79.967511, 36.542502], + [-79.966979, 36.542475], + [-79.920239, 36.542365], + [-79.714855, 36.541884], + [-79.667309, 36.541772], + [-79.666827, 36.541772], + [-79.510961, 36.54074], + [-79.510647, 36.540738], + [-79.470047, 36.541025], + [-79.445961, 36.541195], + [-79.445687, 36.541218], + [-79.342696, 36.541382], + [-79.218638, 36.541579], + [-79.20948, 36.541594], + [-79.208686, 36.541571], + [-79.137936, 36.541739], + [-79.126078, 36.541533], + [-79.124736, 36.541568], + [-78.971814, 36.542123], + [-78.970577, 36.542154], + [-78.942254, 36.542079], + [-78.942009, 36.542113], + [-78.91542, 36.541974], + [-78.914543, 36.541972], + [-78.7963, 36.541713], + [-78.76543, 36.541727], + [-78.758392, 36.541852], + [-78.734122, 36.541902], + [-78.670051, 36.542035], + [-78.663317, 36.542011], + [-78.533013, 36.541004], + [-78.529722, 36.540981], + [-78.471022, 36.542307], + [-78.470792, 36.542316], + [-78.45697, 36.542474], + [-78.441199, 36.542687], + [-78.436333, 36.542666], + [-78.323912, 36.543809], + [-78.246681, 36.544341], + [-78.245462, 36.544411], + [-78.133323, 36.543847], + [-78.132911, 36.543811], + [-78.046202, 36.544168], + [-78.03942, 36.544196], + [-78.038938, 36.544173], + [-77.899771, 36.544663], + [-77.882357, 36.544737], + [-77.87528, 36.544754], + [-77.767117, 36.544752], + [-77.296875, 36.544746], + [-77.24969, 36.544745], + [-77.1645, 36.54633], + [-76.916048, 36.543815], + [-76.916001, 36.543818], + [-76.915384, 36.543856], + [-76.807078, 36.550606], + [-76.781296, 36.550659], + [-76.541687, 36.550312], + [-76.541391, 36.550312], + [-76.491497, 36.550365], + [-76.313215, 36.550551], + [-76.313196, 36.550551], + [-76.12236, 36.550621], + [-76.034751, 36.550653], + [-76.02675, 36.550553], + [-75.957648, 36.550553], + [-75.955748, 36.550553], + [-75.953447, 36.550553], + [-75.952847, 36.550553], + [-75.922046, 36.550654], + [-75.911446, 36.550654], + [-75.909046, 36.550654], + [-75.904745, 36.550654], + [-75.903445, 36.550654], + [-75.894145, 36.550754], + [-75.893245, 36.550654], + [-75.891945, 36.550754], + [-75.886545, 36.550754], + [-75.885945, 36.550754], + [-75.880644, 36.550754], + [-75.879744, 36.550754], + [-75.867044, 36.550754], + [-75.874145, 36.583853], + [-75.890946, 36.630753], + [-75.921748, 36.692051], + [-75.94955, 36.76115], + [-75.965451, 36.812449], + [-75.972151, 36.842268], + [-75.991552, 36.910847], + [-75.996252, 36.922047], + [-76.007553, 36.929047], + [-76.013753, 36.930746], + [-76.033454, 36.931946], + [-76.043054, 36.927547], + [-76.058154, 36.916947], + [-76.087955, 36.908647], + [-76.095508, 36.908817], + [-76.139557, 36.923047], + [-76.177019, 36.92929], + [-76.189959, 36.931447], + [-76.22166, 36.939547], + [-76.234961, 36.945147], + [-76.267962, 36.964547], + [-76.285063, 36.968747], + [-76.297663, 36.968147], + [-76.299364, 36.965547], + [-76.315867, 36.955351], + [-76.322764, 36.959147], + [-76.327365, 36.959447], + [-76.330765, 36.938647], + [-76.328864, 36.918447], + [-76.333158, 36.917293], + [-76.344663, 36.919313], + [-76.345569, 36.924531], + [-76.353765, 36.922747], + [-76.385867, 36.923247], + [-76.387567, 36.899547], + [-76.406908, 36.897507], + [-76.407507, 36.897444], + [-76.43122, 36.904532], + [-76.441605, 36.906116], + [-76.447413, 36.90322], + [-76.453941, 36.89274], + [-76.45329, 36.887031], + [-76.454692, 36.884077], + [-76.469914, 36.882898], + [-76.483369, 36.896239], + [-76.482135, 36.901108], + [-76.482407, 36.917364], + [-76.484107, 36.928916], + [-76.487559, 36.952372], + [-76.500355, 36.965212], + [-76.513363, 36.968057], + [-76.521006, 36.973187], + [-76.524142, 36.978316], + [-76.522971, 36.981085], + [-76.524853, 36.983833], + [-76.551246, 36.998946], + [-76.562923, 37.003796], + [-76.565803, 37.007493], + [-76.576617, 37.021374], + [-76.577531, 37.022548], + [-76.57816, 37.022982], + [-76.579236, 37.023726], + [-76.579393, 37.023835], + [-76.584478, 37.027349], + [-76.586491, 37.02874], + [-76.612124, 37.035604], + [-76.646013, 37.036228], + [-76.653998, 37.039172], + [-76.662558, 37.045748], + [-76.66835, 37.05506], + [-76.669822, 37.06426], + [-76.669118, 37.068132], + [-76.668295, 37.072656], + [-76.667646, 37.076228], + [-76.667219, 37.077149], + [-76.666526, 37.078643], + [-76.66555, 37.080746], + [-76.659394, 37.094019], + [-76.65811, 37.096787], + [-76.657703, 37.101161], + [-76.657101, 37.107617], + [-76.656894, 37.109843], + [-76.66375, 37.129979], + [-76.665641, 37.135534], + [-76.665833, 37.136098], + [-76.666542, 37.138179], + [-76.669604, 37.140534], + [-76.671588, 37.14206], + [-76.67147, 37.158739], + [-76.66867, 37.166771], + [-76.66427, 37.171027], + [-76.663774, 37.173875], + [-76.669886, 37.183571], + [-76.685614, 37.198851], + [-76.691918, 37.195731], + [-76.692926, 37.186147], + [-76.696735, 37.174403], + [-76.715295, 37.148035], + [-76.73032, 37.145395], + [-76.73728, 37.146164], + [-76.747632, 37.150548], + [-76.756899, 37.161582], + [-76.796905, 37.189404], + [-76.802511, 37.198308], + [-76.803198, 37.201513], + [-76.801023, 37.206043], + [-76.791555, 37.207564], + [-76.780532, 37.209336], + [-76.773752, 37.206061], + [-76.757765, 37.191658], + [-76.75047, 37.190098], + [-76.74304, 37.192611], + [-76.74, 37.195379], + [-76.73432, 37.204211], + [-76.730951, 37.213813], + [-76.698943, 37.219059], + [-76.693373, 37.221228], + [-76.689166, 37.222866], + [-76.649869, 37.220914], + [-76.641085, 37.216002], + [-76.639608, 37.214783], + [-76.629868, 37.206738], + [-76.623292, 37.198738], + [-76.621113, 37.195103], + [-76.619962, 37.193184], + [-76.61934, 37.192146], + [-76.618008, 37.186429], + [-76.617537, 37.184409], + [-76.616804, 37.18126], + [-76.616268, 37.178962], + [-76.614221, 37.174335], + [-76.613599, 37.172931], + [-76.612517, 37.170486], + [-76.611018, 37.167097], + [-76.610972, 37.166994], + [-76.606684, 37.166674], + [-76.604476, 37.160034], + [-76.617084, 37.144498], + [-76.622252, 37.142146], + [-76.62478, 37.127091], + [-76.618252, 37.119347], + [-76.579499, 37.096627], + [-76.567931, 37.080467], + [-76.564219, 37.077507], + [-76.555066, 37.075859], + [-76.536875, 37.083942], + [-76.528997, 37.079388], + [-76.526203, 37.077773], + [-76.526573, 37.070047], + [-76.527973, 37.068247], + [-76.526273, 37.062947], + [-76.518242, 37.055351], + [-76.512289, 37.054858], + [-76.509339, 37.053173], + [-76.507614, 37.052188], + [-76.46949, 37.030414], + [-76.464471, 37.027547], + [-76.448231, 37.007705], + [-76.449891, 37.004868], + [-76.452461, 37.004603], + [-76.452118, 36.998163], + [-76.428869, 36.969947], + [-76.418969, 36.964047], + [-76.411768, 36.962847], + [-76.408568, 36.969147], + [-76.396368, 36.982347], + [-76.387711, 36.989671], + [-76.383367, 36.993347], + [-76.373567, 36.998347], + [-76.356366, 37.002947], + [-76.348066, 37.006747], + [-76.340666, 37.015246], + [-76.34011, 37.015212], + [-76.329531, 37.014556], + [-76.318065, 37.013846], + [-76.314624, 37.00933], + [-76.315008, 37.001683], + [-76.312048, 37.000371], + [-76.304272, 37.001378], + [-76.300352, 37.00885], + [-76.292863, 37.035145], + [-76.271262, 37.084544], + [-76.274463, 37.094544], + [-76.287236, 37.117453], + [-76.292344, 37.126615], + [-76.311088, 37.138495], + [-76.324353, 37.142895], + [-76.330481, 37.141727], + [-76.334017, 37.144223], + [-76.340129, 37.151823], + [-76.34405, 37.160367], + [-76.344898, 37.164479], + [-76.343234, 37.166207], + [-76.348658, 37.170655], + [-76.35969, 37.16858], + [-76.375255, 37.16084], + [-76.381379, 37.155711], + [-76.394756, 37.157568], + [-76.399659, 37.160272], + [-76.397883, 37.164415], + [-76.391252, 37.179887], + [-76.389284, 37.193503], + [-76.396052, 37.201087], + [-76.3936, 37.214049], + [-76.389793, 37.222981], + [-76.394132, 37.22515], + [-76.471799, 37.216016], + [-76.494008, 37.225408], + [-76.50364, 37.233856], + [-76.4989, 37.241015], + [-76.493302, 37.24947], + [-76.48284, 37.254831], + [-76.475927, 37.250543], + [-76.429141, 37.25331], + [-76.421765, 37.255198], + [-76.417173, 37.26395], + [-76.392788, 37.264973], + [-76.36229, 37.270226], + [-76.349489, 37.273963], + [-76.352556, 37.278334], + [-76.369029, 37.279311], + [-76.381075, 37.28534], + [-76.385603, 37.294108], + [-76.38777, 37.30767], + [-76.406388, 37.332924], + [-76.434965, 37.354524], + [-76.445333, 37.36646], + [-76.437525, 37.37975], + [-76.422503, 37.381355], + [-76.418176, 37.385064], + [-76.418719, 37.3978], + [-76.415167, 37.402133], + [-76.404756, 37.400213], + [-76.393125, 37.398068], + [-76.393958, 37.39594], + [-76.391437, 37.390284], + [-76.387112, 37.385061], + [-76.366751, 37.374495], + [-76.337476, 37.364014], + [-76.31205, 37.338088], + [-76.308581, 37.329366], + [-76.291324, 37.324145], + [-76.282555, 37.319107], + [-76.275552, 37.309964], + [-76.272005, 37.322194], + [-76.272888, 37.335174], + [-76.264847, 37.357399], + [-76.262407, 37.360786], + [-76.258277, 37.36202], + [-76.24846, 37.375135], + [-76.245283, 37.386839], + [-76.246617, 37.404122], + [-76.250454, 37.421886], + [-76.252415, 37.447274], + [-76.265056, 37.481365], + [-76.281043, 37.507821], + [-76.288167, 37.514118], + [-76.293599, 37.516499], + [-76.297651, 37.515424], + [-76.298456, 37.512677], + [-76.296445, 37.511235], + [-76.297739, 37.506863], + [-76.306952, 37.497488], + [-76.32947, 37.49492], + [-76.352678, 37.504913], + [-76.359378, 37.513426], + [-76.360474, 37.51924], + [-76.355084, 37.527364], + [-76.348992, 37.536548], + [-76.339989, 37.53833], + [-76.330598, 37.536391], + [-76.302762, 37.551295], + [-76.29796, 37.557636], + [-76.300144, 37.561734], + [-76.332641, 37.570042], + [-76.357835, 37.573699], + [-76.383188, 37.573056], + [-76.410781, 37.581815], + [-76.420252, 37.598686], + [-76.435474, 37.612807], + [-76.527188, 37.611315], + [-76.533777, 37.61253], + [-76.542666, 37.616857], + [-76.574049, 37.646781], + [-76.583143, 37.661986], + [-76.579591, 37.671508], + [-76.597868, 37.702918], + [-76.598073, 37.70912], + [-76.595943, 37.712989], + [-76.597213, 37.717269], + [-76.606466, 37.724819], + [-76.61997, 37.731271], + [-76.621433, 37.737973], + [-76.617373, 37.742347], + [-76.61971, 37.744795], + [-76.639962, 37.750941], + [-76.663887, 37.751887], + [-76.677002, 37.7561], + [-76.680922, 37.759647], + [-76.683372, 37.765507], + [-76.683359, 37.770258], + [-76.683343, 37.775783], + [-76.681901, 37.778118], + [-76.683775, 37.781391], + [-76.689773, 37.78519], + [-76.715498, 37.785873], + [-76.723863, 37.788503], + [-76.734309, 37.79866], + [-76.7512, 37.824141], + [-76.766328, 37.840437], + [-76.782826, 37.863184], + [-76.784618, 37.869569], + [-76.77539, 37.874306], + [-76.765711, 37.879274], + [-76.747552, 37.875864], + [-76.738395, 37.865373], + [-76.733046, 37.852009], + [-76.72718, 37.842263], + [-76.722156, 37.83668], + [-76.701606, 37.822677], + [-76.692747, 37.82277], + [-76.680197, 37.825654], + [-76.658302, 37.806815], + [-76.651413, 37.796239], + [-76.642276, 37.792317], + [-76.615351, 37.780759], + [-76.602024, 37.772731], + [-76.595939, 37.77168], + [-76.593835, 37.772848], + [-76.584289, 37.76889], + [-76.576387, 37.757493], + [-76.560476, 37.727827], + [-76.54005, 37.704432], + [-76.537228, 37.698892], + [-76.535302, 37.687516], + [-76.537698, 37.66893], + [-76.536548, 37.663574], + [-76.510187, 37.642324], + [-76.501522, 37.643762], + [-76.497564, 37.647056], + [-76.491799, 37.663614], + [-76.489576, 37.666201], + [-76.472392, 37.665772], + [-76.443254, 37.652347], + [-76.399236, 37.628636], + [-76.390054, 37.630326], + [-76.381106, 37.627003], + [-76.36232, 37.610368], + [-76.309174, 37.621892], + [-76.28037, 37.613715], + [-76.279447, 37.618225], + [-76.287959, 37.631771], + [-76.292534, 37.636098], + [-76.306464, 37.642005], + [-76.332562, 37.645817], + [-76.339892, 37.655966], + [-76.324808, 37.676983], + [-76.320216, 37.680666], + [-76.315161, 37.68472], + [-76.312079, 37.684651], + [-76.302545, 37.689], + [-76.300067, 37.695364], + [-76.302803, 37.704474], + [-76.312858, 37.720338], + [-76.304917, 37.729913], + [-76.312108, 37.750522], + [-76.306489, 37.788646], + [-76.310307, 37.794849], + [-76.307482, 37.81235], + [-76.293525, 37.822717], + [-76.284904, 37.822308], + [-76.281985, 37.818068], + [-76.282592, 37.814109], + [-76.280544, 37.812597], + [-76.275178, 37.812664], + [-76.266057, 37.8174], + [-76.251358, 37.833072], + [-76.245072, 37.861918], + [-76.236725, 37.889174], + [-76.265998, 37.91138], + [-76.343848, 37.947345], + [-76.360211, 37.952329], + [-76.391439, 37.958742], + [-76.416299, 37.966828], + [-76.427487, 37.977038], + [-76.462542, 37.998572], + [-76.465291, 38.010226], + [-76.469343, 38.013544], + [-76.491998, 38.017222], + [-76.516547, 38.026566], + [-76.519536, 38.034814], + [-76.522354, 38.04259], + [-76.535919, 38.069532], + [-76.543155, 38.076971], + [-76.579497, 38.09487], + [-76.600937, 38.110084], + [-76.604131, 38.128771], + [-76.613939, 38.148587], + [-76.629476, 38.15305], + [-76.638983, 38.151476], + [-76.643448, 38.14825], + [-76.665127, 38.147638], + [-76.684892, 38.156497], + [-76.701297, 38.155718], + [-76.704048, 38.149264], + [-76.721722, 38.137635], + [-76.738938, 38.14651], + [-76.740278, 38.152824], + [-76.743064, 38.156988], + [-76.749685, 38.162114], + [-76.760241, 38.166581], + [-76.788445, 38.169199], + [-76.802968, 38.167988], + [-76.824274, 38.163639], + [-76.838795, 38.163476], + [-76.875272, 38.172207], + [-76.910832, 38.197073], + [-76.916922, 38.199751], + [-76.937134, 38.202384], + [-76.962311, 38.214075], + [-76.967335, 38.227185], + [-76.966553, 38.229542], + [-76.962375, 38.230093], + [-76.957417, 38.236341], + [-76.957796, 38.243183], + [-76.96215, 38.256486], + [-76.981372, 38.274214], + [-76.990255, 38.273935], + [-76.99767, 38.278047], + [-77.026304, 38.302685], + [-77.030683, 38.311623], + [-77.020947, 38.329273], + [-77.016932, 38.341697], + [-77.011827, 38.374554], + [-77.024866, 38.386791], + [-77.043526, 38.400548], + [-77.051437, 38.399083], + [-77.056032, 38.3962], + [-77.069956, 38.377895], + [-77.08481, 38.368297], + [-77.094665, 38.367715], + [-77.104717, 38.369655], + [-77.138224, 38.367917], + [-77.155191, 38.351047], + [-77.162692, 38.345994], + [-77.17934, 38.341915], + [-77.199433, 38.34089], + [-77.240072, 38.331598], + [-77.265295, 38.333165], + [-77.279633, 38.339444], + [-77.286202, 38.347024], + [-77.286202, 38.347025], + [-77.28835, 38.351286], + [-77.288145, 38.359477], + [-77.296077, 38.369797], + [-77.317288, 38.383576], + [-77.314848, 38.389579], + [-77.312201, 38.390958], + [-77.310719, 38.397669], + [-77.319036, 38.417803], + [-77.32544, 38.44885], + [-77.322622, 38.467131], + [-77.310334, 38.493926], + [-77.302457, 38.504683], + [-77.300776, 38.506978], + [-77.298844, 38.508724], + [-77.29582, 38.511457], + [-77.291103, 38.515721], + [-77.283503, 38.525221], + [-77.276303, 38.53962], + [-77.276603, 38.54712], + [-77.26083, 38.56533], + [-77.265304, 38.580319], + [-77.26443, 38.582845], + [-77.247003, 38.590618], + [-77.246441, 38.599532], + [-77.245104, 38.620717], + [-77.248904, 38.628617], + [-77.246704, 38.635217], + [-77.240604, 38.638917], + [-77.22235, 38.638091], + [-77.216303, 38.637817], + [-77.205103, 38.623917], + [-77.204302, 38.617817], + [-77.202002, 38.617217], + [-77.174902, 38.624217], + [-77.157501, 38.636417], + [-77.1302, 38.635017], + [-77.135901, 38.649817], + [-77.132501, 38.673816], + [-77.121101, 38.686616], + [-77.1059, 38.696815], + [-77.086113, 38.705792], + [-77.074599, 38.711015], + [-77.05991, 38.734419], + [-77.041398, 38.763914], + [-77.039239, 38.7852], + [-77.038598, 38.791513], + [-77.032986, 38.8395], + [-77.031698, 38.850512], + [-77.040599, 38.871212], + [-77.068199, 38.899811], + [-77.0902, 38.904211], + [-77.1012, 38.911111], + [-77.119863, 38.934265], + [-77.1199, 38.934311], + [-77.137701, 38.95531], + [-77.148179, 38.965002], + [-77.166901, 38.96811], + [-77.197502, 38.96681], + [-77.221502, 38.97131], + [-77.235403, 38.97661], + [-77.249803, 38.985909], + [-77.255703, 39.002409], + [-77.251803, 39.011409], + [-77.261403, 39.031009], + [-77.291605, 39.045408], + [-77.328002, 39.058554], + [-77.340287, 39.062991], + [-77.375079, 39.061297], + [-77.42318, 39.066878], + [-77.458202, 39.073723], + [-77.519929, 39.120925], + [-77.524559, 39.127821], + [-77.527282, 39.146236], + [-77.516426, 39.170891], + [-77.510631, 39.178484], + [-77.505162, 39.18205], + [-77.485971, 39.185665], + [-77.478596, 39.189168], + [-77.458884, 39.219826], + [-77.458779, 39.22028], + [-77.45768, 39.22502], + [-77.46021, 39.228359], + [-77.484605, 39.245941], + [-77.511222, 39.2535], + [-77.534461, 39.262361], + [-77.543228, 39.266937], + [-77.545846, 39.271535], + [-77.560854, 39.286152], + [-77.592739, 39.30129], + [-77.667749, 39.318129], + [-77.677505, 39.318699], + [-77.719029, 39.321125], + [-77.750267, 39.289284], + [-77.753357, 39.280331], + [-77.75306, 39.277971], + [-77.753105, 39.27734], + [-77.755193, 39.275191], + [-77.755698, 39.274575], + [-77.758412, 39.269197], + [-77.758733, 39.268114], + [-77.761217, 39.263721], + [-77.761768, 39.263031], + [-77.768, 39.257657], + [-77.768992, 39.256417], + [-77.767277, 39.24938], + [-77.771415, 39.236776], + [-77.822182, 39.139985], + [-77.828157, 39.132329], + [-78.032841, 39.264403], + [-78.033183, 39.264624], + [-78.033185, 39.264626], + [-78.228766, 39.391233], + [-78.347087, 39.466012], + [-78.362267, 39.357784], + [-78.34048, 39.353492], + [-78.35894, 39.319484], + [-78.360035, 39.317771], + [-78.399785, 39.244129], + [-78.399669, 39.243874], + [-78.423968, 39.212049], + [-78.427911, 39.208611], + [-78.429803, 39.207014], + [-78.431167, 39.205744], + [-78.43213, 39.204717], + [-78.437053, 39.199766], + [-78.438651, 39.198049], + [-78.426722, 39.188903], + [-78.41074, 39.171983], + [-78.418377, 39.156656], + [-78.439429, 39.132146], + [-78.459869, 39.113351], + [-78.508132, 39.08863], + [-78.544111, 39.056676], + [-78.571901, 39.031995], + [-78.565837, 39.026303], + [-78.554222, 39.019672], + [-78.557647, 39.013189], + [-78.601655, 38.964603], + [-78.710949, 38.910175], + [-78.714135, 38.911176], + [-78.716956, 38.916273], + [-78.719755, 38.922135], + [-78.719806, 38.922638], + [-78.757278, 38.903203], + [-78.779198, 38.892298], + [-78.788031, 38.885123], + [-78.808181, 38.856175], + [-78.835191, 38.811499], + [-78.869276, 38.762991] + ], + [ + [-78.3050537109375, 38.62545397209084], + [-78.3050537109375, 39.24501680713314], + [-78.134765625, 39.24501680713314], + [-78.134765625, 38.62545397209084], + [-78.3050537109375, 38.62545397209084] + ] + ] + }, + "properties": {}, + "type": "Feature" + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-79.12353515625, 36.34167804918315], + [-76.739501953125, 36.34167804918315], + [-76.739501953125, 39.027718840211605], + [-79.12353515625, 39.027718840211605], + [-79.12353515625, 36.34167804918315] + ] + ] + } + } + ] +} diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-holes.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-holes.geojson new file mode 100755 index 0000000..793012f --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-holes.geojson @@ -0,0 +1,1116 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-78.869276, 38.762991], + [-78.993997, 38.850102], + [-78.999752, 38.846162], + [-79.055354, 38.782213], + [-79.057253, 38.761413], + [-79.092555, 38.700149], + [-79.092271, 38.699208], + [-79.135472, 38.644057], + [-79.135546, 38.643715], + [-79.136374, 38.6424], + [-79.137012, 38.640655], + [-79.146741, 38.625819], + [-79.146974, 38.625641], + [-79.174512, 38.566531], + [-79.174881, 38.566314], + [-79.207884, 38.500428], + [-79.207873, 38.500122], + [-79.209703, 38.495574], + [-79.210008, 38.494283], + [-79.210026, 38.494231], + [-79.225839, 38.479446], + [-79.23162, 38.474041], + [-79.234408, 38.473011], + [-79.240059, 38.469841], + [-79.242024, 38.464332], + [-79.26291, 38.444586], + [-79.263376, 38.443762], + [-79.265327, 38.441772], + [-79.267414, 38.438322], + [-79.282663, 38.431021], + [-79.280263, 38.425475], + [-79.290529, 38.420757], + [-79.291813, 38.419627], + [-79.295712, 38.418129], + [-79.297758, 38.416438], + [-79.312276, 38.411876], + [-79.476638, 38.457228], + [-79.521469, 38.533918], + [-79.53687, 38.550917], + [-79.555471, 38.560217], + [-79.597955, 38.572767], + [-79.649075, 38.591515], + [-79.669128, 38.510975], + [-79.669128, 38.510883], + [-79.695565, 38.477842], + [-79.699006, 38.475148], + [-79.688205, 38.450476], + [-79.688962, 38.449538], + [-79.689544, 38.442511], + [-79.691377, 38.439558], + [-79.731661, 38.374143], + [-79.808711, 38.309429], + [-79.810115, 38.305037], + [-79.788945, 38.268703], + [-79.790134, 38.267654], + [-79.794568, 38.264856], + [-79.891999, 38.203378], + [-79.892345, 38.202397], + [-79.916174, 38.184386], + [-79.917061, 38.183741], + [-79.921196, 38.180378], + [-79.921026, 38.179954], + [-79.925251, 38.150465], + [-79.925512, 38.150237], + [-79.928683, 38.144928], + [-79.928747, 38.144436], + [-79.933751, 38.135508], + [-79.938394, 38.130563], + [-79.931034, 38.101402], + [-79.933911, 38.099168], + [-79.959844, 38.063697], + [-79.978427, 38.029082], + [-80.002507, 37.992767], + [-80.055278, 37.951702], + [-80.130464, 37.893194], + [-80.14613, 37.884453], + [-80.147316, 37.885936], + [-80.148964, 37.886057], + [-80.162202, 37.875122], + [-80.227092, 37.798886], + [-80.231551, 37.792591], + [-80.257411, 37.756084], + [-80.262765, 37.738336], + [-80.260313, 37.733517], + [-80.259342, 37.731205], + [-80.263936, 37.719137], + [-80.287107, 37.696403], + [-80.296138, 37.691783], + [-80.292337, 37.683976], + [-80.292258, 37.683732], + [-80.270323, 37.648982], + [-80.270352, 37.648929], + [-80.267455, 37.646108], + [-80.267228, 37.646011], + [-80.264874, 37.645511], + [-80.26483, 37.645526], + [-80.263291, 37.645101], + [-80.263281, 37.645082], + [-80.254469, 37.642333], + [-80.254431, 37.642352], + [-80.239288, 37.637672], + [-80.220984, 37.627767], + [-80.223386, 37.623185], + [-80.240272, 37.606961], + [-80.288766, 37.58196], + [-80.312393, 37.546239], + [-80.330306, 37.536244], + [-80.314806, 37.500943], + [-80.320627, 37.49888], + [-80.425656, 37.449876], + [-80.443025, 37.438126], + [-80.46482, 37.426144], + [-80.475601, 37.422949], + [-80.494867, 37.43507], + [-80.511391, 37.481672], + [-80.622664, 37.433307], + [-80.770082, 37.372363], + [-80.776649, 37.383679], + [-80.776766, 37.384131], + [-80.798869, 37.395807], + [-80.811639, 37.407507], + [-80.85836, 37.428168], + [-80.858473, 37.428301], + [-80.859556, 37.429568], + [-80.859558, 37.429555], + [-80.862761, 37.411829], + [-80.872589, 37.372347], + [-80.849451, 37.346909], + [-80.900535, 37.315], + [-80.919259, 37.306163], + [-80.947896, 37.295872], + [-80.966556, 37.292158], + [-80.973889, 37.291444], + [-80.980044, 37.293118], + [-80.981322, 37.293465], + [-81.034652, 37.290751], + [-81.084012, 37.284401], + [-81.112596, 37.278497], + [-81.167029, 37.262881], + [-81.204774, 37.243013], + [-81.225104, 37.234874], + [-81.320105, 37.299323], + [-81.362156, 37.337687], + [-81.366315, 37.335927], + [-81.367052, 37.334504], + [-81.36809, 37.332423], + [-81.369379, 37.331827], + [-81.367599, 37.327569], + [-81.371315, 37.324115], + [-81.377349, 37.318447], + [-81.380159, 37.317838], + [-81.384127, 37.318596], + [-81.384914, 37.318832], + [-81.38581, 37.320085], + [-81.386727, 37.320474], + [-81.388132, 37.319903], + [-81.409196, 37.286071], + [-81.409729, 37.284837], + [-81.504168, 37.250115], + [-81.50488, 37.247697], + [-81.507325, 37.2338], + [-81.557315, 37.207697], + [-81.558353, 37.208145], + [-81.560625, 37.206663], + [-81.678603, 37.202467], + [-81.683544, 37.211452], + [-81.728194, 37.239823], + [-81.73332, 37.238127], + [-81.738378, 37.240917], + [-81.744291, 37.244178], + [-81.74342, 37.245858], + [-81.743505, 37.247601], + [-81.747656, 37.264329], + [-81.75129, 37.265131], + [-81.752123, 37.265568], + [-81.752912, 37.266614], + [-81.755012, 37.26772], + [-81.757531, 37.27001], + [-81.757714, 37.271124], + [-81.75773, 37.271934], + [-81.757631, 37.274003], + [-81.76022, 37.275254], + [-81.761752, 37.275713], + [-81.762776, 37.275391], + [-81.763836, 37.275218], + [-81.765195, 37.275099], + [-81.767837, 37.274216], + [-81.774684, 37.274807], + [-81.774747, 37.274847], + [-81.793425, 37.281674], + [-81.793639, 37.282188], + [-81.809184, 37.283003], + [-81.810559, 37.28298], + [-81.84231, 37.285556], + [-81.843167, 37.285586], + [-81.854059, 37.291352], + [-81.853488, 37.294763], + [-81.854465, 37.299937], + [-81.853978, 37.300418], + [-81.86476, 37.308404], + [-81.865219, 37.308839], + [-81.873213, 37.325065], + [-81.878343, 37.328837], + [-81.878713, 37.331753], + [-81.879601, 37.332074], + [-81.880886, 37.331146], + [-81.885075, 37.330665], + [-81.886952, 37.330725], + [-81.887722, 37.331156], + [-81.892876, 37.330134], + [-81.893773, 37.330105], + [-81.894768, 37.331381], + [-81.894797, 37.332012], + [-81.895489, 37.332022], + [-81.896001, 37.331967], + [-81.899459, 37.340277], + [-81.899495, 37.341102], + [-81.902992, 37.34234], + [-81.903795, 37.34305], + [-81.905945, 37.342775], + [-81.906368, 37.34276], + [-81.907322, 37.343119], + [-81.907895, 37.343783], + [-81.910875, 37.348729], + [-81.911487, 37.348839], + [-81.920711, 37.355416], + [-81.921571, 37.356423], + [-81.925643, 37.357316], + [-81.926589, 37.358942], + [-81.929915, 37.366589], + [-81.930194, 37.366728], + [-81.933895, 37.372747], + [-81.92749, 37.413251], + [-81.935621, 37.438397], + [-81.949367, 37.445687], + [-81.968795, 37.451496], + [-81.987006, 37.454878], + [-81.99227, 37.460916], + [-81.996578, 37.476705], + [-81.992916, 37.482969], + [-81.94264, 37.508844], + [-81.92787, 37.512118], + [-81.968297, 37.537798], + [-82.291908, 37.311642], + [-82.305874, 37.3011], + [-82.310793, 37.297387], + [-82.350948, 37.267077], + [-82.510826, 37.218091], + [-82.553549, 37.200867], + [-82.565329, 37.196118], + [-82.565375, 37.196092], + [-82.624878, 37.162932], + [-82.721941, 37.105689], + [-82.720597, 37.081833], + [-82.722472, 37.045101], + [-82.771795, 37.015716], + [-82.777368, 37.015279], + [-82.788897, 37.00816], + [-82.789092, 37.007995], + [-82.790462, 37.007263], + [-82.79089, 37.00676], + [-82.800531, 37.007944], + [-82.815748, 37.007196], + [-82.818006, 37.006161], + [-82.830588, 37.000945], + [-82.829125, 36.997541], + [-82.830802, 36.993445], + [-82.833843, 36.991973], + [-82.836008, 36.988837], + [-82.838549, 36.987027], + [-82.840051, 36.987113], + [-82.851397, 36.984497], + [-82.852614, 36.984963], + [-82.862926, 36.979975], + [-82.864909, 36.97901], + [-82.866019, 36.978272], + [-82.866689, 36.978052], + [-82.867535, 36.977518], + [-82.868455, 36.976481], + [-82.869183, 36.974183], + [-82.869183, 36.974182], + [-82.870274, 36.965993], + [-82.87023, 36.965498], + [-82.867358, 36.963182], + [-82.865404, 36.958084], + [-82.864211, 36.957983], + [-82.862866, 36.957765], + [-82.860534, 36.956015], + [-82.858443, 36.954036], + [-82.855705, 36.953808], + [-82.856099, 36.952471], + [-82.860633, 36.94584], + [-82.861282, 36.944848], + [-82.861684, 36.939316], + [-82.860537, 36.937439], + [-82.858784, 36.933065], + [-82.858461, 36.932717], + [-82.861943, 36.924236], + [-82.863468, 36.922308], + [-82.872136, 36.913456], + [-82.873777, 36.912299], + [-82.885618, 36.900415], + [-82.91169, 36.874248], + [-82.911824, 36.874243], + [-82.973395, 36.859097], + [-83.07259, 36.854589], + [-83.099792, 36.824889], + [-83.131694, 36.781488], + [-83.131245, 36.767105], + [-83.125655, 36.761407], + [-83.125728, 36.761276], + [-83.127833, 36.750828], + [-83.136395, 36.743088], + [-83.167396, 36.739187], + [-83.199698, 36.737487], + [-83.342804, 36.701286], + [-83.353613, 36.696699], + [-83.354606, 36.696153], + [-83.460808, 36.664885], + [-83.461013, 36.664916], + [-83.498011, 36.670485], + [-83.527212, 36.665984], + [-83.649513, 36.616683], + [-83.675413, 36.600814], + [-83.670141, 36.600797], + [-83.670128, 36.600764], + [-83.472108, 36.597284], + [-83.2763, 36.598187], + [-83.250304, 36.593935], + [-83.249899, 36.593898], + [-83.248933, 36.593827], + [-83.028357, 36.593893], + [-83.02725, 36.593847], + [-82.985087, 36.593829], + [-82.830433, 36.593761], + [-82.69578, 36.593698], + [-82.679879, 36.593698], + [-82.609176, 36.594099], + [-82.561074, 36.5948], + [-82.559774, 36.5948], + [-82.554294, 36.594876], + [-82.293814, 36.595565], + [-82.243274, 36.595699], + [-82.226653, 36.595743], + [-82.225716, 36.595744], + [-82.223445, 36.595721], + [-82.221713, 36.595814], + [-82.211005, 36.59586], + [-82.210497, 36.595772], + [-82.188491, 36.595179], + [-82.18074, 36.594928], + [-82.177247, 36.594768], + [-82.173982, 36.594607], + [-82.150727, 36.594673], + [-82.148569, 36.594718], + [-82.14607, 36.594712], + [-81.934144, 36.594213], + [-81.922644, 36.616213], + [-81.826742, 36.614215], + [-81.6469, 36.611918], + [-81.677535, 36.588117], + [-81.60697, 36.587094], + [-81.521032, 36.58052], + [-81.353322, 36.574723], + [-81.353169, 36.574724], + [-81.307511, 36.575024], + [-81.061866, 36.56702], + [-81.058844, 36.566976], + [-80.945988, 36.563196], + [-80.944338, 36.563058], + [-80.901836, 36.561754], + [-80.901726, 36.561751], + [-80.837954, 36.559131], + [-80.837641, 36.559118], + [-80.837089, 36.559154], + [-80.744101, 36.561686], + [-80.687539, 36.561411], + [-80.612158, 36.558127], + [-80.4401, 36.55063], + [-80.432628, 36.550302], + [-80.431605, 36.550219], + [-80.228263, 36.543867], + [-80.225408, 36.543748], + [-80.171636, 36.543219], + [-80.169535, 36.54319], + [-80.053455, 36.542623], + [-80.027269, 36.542495], + [-79.967511, 36.542502], + [-79.966979, 36.542475], + [-79.920239, 36.542365], + [-79.714855, 36.541884], + [-79.667309, 36.541772], + [-79.666827, 36.541772], + [-79.510961, 36.54074], + [-79.510647, 36.540738], + [-79.470047, 36.541025], + [-79.445961, 36.541195], + [-79.445687, 36.541218], + [-79.342696, 36.541382], + [-79.218638, 36.541579], + [-79.20948, 36.541594], + [-79.208686, 36.541571], + [-79.137936, 36.541739], + [-79.126078, 36.541533], + [-79.124736, 36.541568], + [-78.971814, 36.542123], + [-78.970577, 36.542154], + [-78.942254, 36.542079], + [-78.942009, 36.542113], + [-78.91542, 36.541974], + [-78.914543, 36.541972], + [-78.7963, 36.541713], + [-78.76543, 36.541727], + [-78.758392, 36.541852], + [-78.734122, 36.541902], + [-78.670051, 36.542035], + [-78.663317, 36.542011], + [-78.533013, 36.541004], + [-78.529722, 36.540981], + [-78.471022, 36.542307], + [-78.470792, 36.542316], + [-78.45697, 36.542474], + [-78.441199, 36.542687], + [-78.436333, 36.542666], + [-78.323912, 36.543809], + [-78.246681, 36.544341], + [-78.245462, 36.544411], + [-78.133323, 36.543847], + [-78.132911, 36.543811], + [-78.046202, 36.544168], + [-78.03942, 36.544196], + [-78.038938, 36.544173], + [-77.899771, 36.544663], + [-77.882357, 36.544737], + [-77.87528, 36.544754], + [-77.767117, 36.544752], + [-77.296875, 36.544746], + [-77.24969, 36.544745], + [-77.1645, 36.54633], + [-76.916048, 36.543815], + [-76.916001, 36.543818], + [-76.915384, 36.543856], + [-76.807078, 36.550606], + [-76.781296, 36.550659], + [-76.541687, 36.550312], + [-76.541391, 36.550312], + [-76.491497, 36.550365], + [-76.313215, 36.550551], + [-76.313196, 36.550551], + [-76.12236, 36.550621], + [-76.034751, 36.550653], + [-76.02675, 36.550553], + [-75.957648, 36.550553], + [-75.955748, 36.550553], + [-75.953447, 36.550553], + [-75.952847, 36.550553], + [-75.922046, 36.550654], + [-75.911446, 36.550654], + [-75.909046, 36.550654], + [-75.904745, 36.550654], + [-75.903445, 36.550654], + [-75.894145, 36.550754], + [-75.893245, 36.550654], + [-75.891945, 36.550754], + [-75.886545, 36.550754], + [-75.885945, 36.550754], + [-75.880644, 36.550754], + [-75.879744, 36.550754], + [-75.867044, 36.550754], + [-75.874145, 36.583853], + [-75.890946, 36.630753], + [-75.921748, 36.692051], + [-75.94955, 36.76115], + [-75.965451, 36.812449], + [-75.972151, 36.842268], + [-75.991552, 36.910847], + [-75.996252, 36.922047], + [-76.007553, 36.929047], + [-76.013753, 36.930746], + [-76.033454, 36.931946], + [-76.043054, 36.927547], + [-76.058154, 36.916947], + [-76.087955, 36.908647], + [-76.095508, 36.908817], + [-76.139557, 36.923047], + [-76.177019, 36.92929], + [-76.189959, 36.931447], + [-76.22166, 36.939547], + [-76.234961, 36.945147], + [-76.267962, 36.964547], + [-76.285063, 36.968747], + [-76.297663, 36.968147], + [-76.299364, 36.965547], + [-76.315867, 36.955351], + [-76.322764, 36.959147], + [-76.327365, 36.959447], + [-76.330765, 36.938647], + [-76.328864, 36.918447], + [-76.333158, 36.917293], + [-76.344663, 36.919313], + [-76.345569, 36.924531], + [-76.353765, 36.922747], + [-76.385867, 36.923247], + [-76.387567, 36.899547], + [-76.406908, 36.897507], + [-76.407507, 36.897444], + [-76.43122, 36.904532], + [-76.441605, 36.906116], + [-76.447413, 36.90322], + [-76.453941, 36.89274], + [-76.45329, 36.887031], + [-76.454692, 36.884077], + [-76.469914, 36.882898], + [-76.483369, 36.896239], + [-76.482135, 36.901108], + [-76.482407, 36.917364], + [-76.484107, 36.928916], + [-76.487559, 36.952372], + [-76.500355, 36.965212], + [-76.513363, 36.968057], + [-76.521006, 36.973187], + [-76.524142, 36.978316], + [-76.522971, 36.981085], + [-76.524853, 36.983833], + [-76.551246, 36.998946], + [-76.562923, 37.003796], + [-76.565803, 37.007493], + [-76.576617, 37.021374], + [-76.577531, 37.022548], + [-76.57816, 37.022982], + [-76.579236, 37.023726], + [-76.579393, 37.023835], + [-76.584478, 37.027349], + [-76.586491, 37.02874], + [-76.612124, 37.035604], + [-76.646013, 37.036228], + [-76.653998, 37.039172], + [-76.662558, 37.045748], + [-76.66835, 37.05506], + [-76.669822, 37.06426], + [-76.669118, 37.068132], + [-76.668295, 37.072656], + [-76.667646, 37.076228], + [-76.667219, 37.077149], + [-76.666526, 37.078643], + [-76.66555, 37.080746], + [-76.659394, 37.094019], + [-76.65811, 37.096787], + [-76.657703, 37.101161], + [-76.657101, 37.107617], + [-76.656894, 37.109843], + [-76.66375, 37.129979], + [-76.665641, 37.135534], + [-76.665833, 37.136098], + [-76.666542, 37.138179], + [-76.669604, 37.140534], + [-76.671588, 37.14206], + [-76.67147, 37.158739], + [-76.66867, 37.166771], + [-76.66427, 37.171027], + [-76.663774, 37.173875], + [-76.669886, 37.183571], + [-76.685614, 37.198851], + [-76.691918, 37.195731], + [-76.692926, 37.186147], + [-76.696735, 37.174403], + [-76.715295, 37.148035], + [-76.73032, 37.145395], + [-76.73728, 37.146164], + [-76.747632, 37.150548], + [-76.756899, 37.161582], + [-76.796905, 37.189404], + [-76.802511, 37.198308], + [-76.803198, 37.201513], + [-76.801023, 37.206043], + [-76.791555, 37.207564], + [-76.780532, 37.209336], + [-76.773752, 37.206061], + [-76.757765, 37.191658], + [-76.75047, 37.190098], + [-76.74304, 37.192611], + [-76.74, 37.195379], + [-76.73432, 37.204211], + [-76.730951, 37.213813], + [-76.698943, 37.219059], + [-76.693373, 37.221228], + [-76.689166, 37.222866], + [-76.649869, 37.220914], + [-76.641085, 37.216002], + [-76.639608, 37.214783], + [-76.629868, 37.206738], + [-76.623292, 37.198738], + [-76.621113, 37.195103], + [-76.619962, 37.193184], + [-76.61934, 37.192146], + [-76.618008, 37.186429], + [-76.617537, 37.184409], + [-76.616804, 37.18126], + [-76.616268, 37.178962], + [-76.614221, 37.174335], + [-76.613599, 37.172931], + [-76.612517, 37.170486], + [-76.611018, 37.167097], + [-76.610972, 37.166994], + [-76.606684, 37.166674], + [-76.604476, 37.160034], + [-76.617084, 37.144498], + [-76.622252, 37.142146], + [-76.62478, 37.127091], + [-76.618252, 37.119347], + [-76.579499, 37.096627], + [-76.567931, 37.080467], + [-76.564219, 37.077507], + [-76.555066, 37.075859], + [-76.536875, 37.083942], + [-76.528997, 37.079388], + [-76.526203, 37.077773], + [-76.526573, 37.070047], + [-76.527973, 37.068247], + [-76.526273, 37.062947], + [-76.518242, 37.055351], + [-76.512289, 37.054858], + [-76.509339, 37.053173], + [-76.507614, 37.052188], + [-76.46949, 37.030414], + [-76.464471, 37.027547], + [-76.448231, 37.007705], + [-76.449891, 37.004868], + [-76.452461, 37.004603], + [-76.452118, 36.998163], + [-76.428869, 36.969947], + [-76.418969, 36.964047], + [-76.411768, 36.962847], + [-76.408568, 36.969147], + [-76.396368, 36.982347], + [-76.387711, 36.989671], + [-76.383367, 36.993347], + [-76.373567, 36.998347], + [-76.356366, 37.002947], + [-76.348066, 37.006747], + [-76.340666, 37.015246], + [-76.34011, 37.015212], + [-76.329531, 37.014556], + [-76.318065, 37.013846], + [-76.314624, 37.00933], + [-76.315008, 37.001683], + [-76.312048, 37.000371], + [-76.304272, 37.001378], + [-76.300352, 37.00885], + [-76.292863, 37.035145], + [-76.271262, 37.084544], + [-76.274463, 37.094544], + [-76.287236, 37.117453], + [-76.292344, 37.126615], + [-76.311088, 37.138495], + [-76.324353, 37.142895], + [-76.330481, 37.141727], + [-76.334017, 37.144223], + [-76.340129, 37.151823], + [-76.34405, 37.160367], + [-76.344898, 37.164479], + [-76.343234, 37.166207], + [-76.348658, 37.170655], + [-76.35969, 37.16858], + [-76.375255, 37.16084], + [-76.381379, 37.155711], + [-76.394756, 37.157568], + [-76.399659, 37.160272], + [-76.397883, 37.164415], + [-76.391252, 37.179887], + [-76.389284, 37.193503], + [-76.396052, 37.201087], + [-76.3936, 37.214049], + [-76.389793, 37.222981], + [-76.394132, 37.22515], + [-76.471799, 37.216016], + [-76.494008, 37.225408], + [-76.50364, 37.233856], + [-76.4989, 37.241015], + [-76.493302, 37.24947], + [-76.48284, 37.254831], + [-76.475927, 37.250543], + [-76.429141, 37.25331], + [-76.421765, 37.255198], + [-76.417173, 37.26395], + [-76.392788, 37.264973], + [-76.36229, 37.270226], + [-76.349489, 37.273963], + [-76.352556, 37.278334], + [-76.369029, 37.279311], + [-76.381075, 37.28534], + [-76.385603, 37.294108], + [-76.38777, 37.30767], + [-76.406388, 37.332924], + [-76.434965, 37.354524], + [-76.445333, 37.36646], + [-76.437525, 37.37975], + [-76.422503, 37.381355], + [-76.418176, 37.385064], + [-76.418719, 37.3978], + [-76.415167, 37.402133], + [-76.404756, 37.400213], + [-76.393125, 37.398068], + [-76.393958, 37.39594], + [-76.391437, 37.390284], + [-76.387112, 37.385061], + [-76.366751, 37.374495], + [-76.337476, 37.364014], + [-76.31205, 37.338088], + [-76.308581, 37.329366], + [-76.291324, 37.324145], + [-76.282555, 37.319107], + [-76.275552, 37.309964], + [-76.272005, 37.322194], + [-76.272888, 37.335174], + [-76.264847, 37.357399], + [-76.262407, 37.360786], + [-76.258277, 37.36202], + [-76.24846, 37.375135], + [-76.245283, 37.386839], + [-76.246617, 37.404122], + [-76.250454, 37.421886], + [-76.252415, 37.447274], + [-76.265056, 37.481365], + [-76.281043, 37.507821], + [-76.288167, 37.514118], + [-76.293599, 37.516499], + [-76.297651, 37.515424], + [-76.298456, 37.512677], + [-76.296445, 37.511235], + [-76.297739, 37.506863], + [-76.306952, 37.497488], + [-76.32947, 37.49492], + [-76.352678, 37.504913], + [-76.359378, 37.513426], + [-76.360474, 37.51924], + [-76.355084, 37.527364], + [-76.348992, 37.536548], + [-76.339989, 37.53833], + [-76.330598, 37.536391], + [-76.302762, 37.551295], + [-76.29796, 37.557636], + [-76.300144, 37.561734], + [-76.332641, 37.570042], + [-76.357835, 37.573699], + [-76.383188, 37.573056], + [-76.410781, 37.581815], + [-76.420252, 37.598686], + [-76.435474, 37.612807], + [-76.527188, 37.611315], + [-76.533777, 37.61253], + [-76.542666, 37.616857], + [-76.574049, 37.646781], + [-76.583143, 37.661986], + [-76.579591, 37.671508], + [-76.597868, 37.702918], + [-76.598073, 37.70912], + [-76.595943, 37.712989], + [-76.597213, 37.717269], + [-76.606466, 37.724819], + [-76.61997, 37.731271], + [-76.621433, 37.737973], + [-76.617373, 37.742347], + [-76.61971, 37.744795], + [-76.639962, 37.750941], + [-76.663887, 37.751887], + [-76.677002, 37.7561], + [-76.680922, 37.759647], + [-76.683372, 37.765507], + [-76.683359, 37.770258], + [-76.683343, 37.775783], + [-76.681901, 37.778118], + [-76.683775, 37.781391], + [-76.689773, 37.78519], + [-76.715498, 37.785873], + [-76.723863, 37.788503], + [-76.734309, 37.79866], + [-76.7512, 37.824141], + [-76.766328, 37.840437], + [-76.782826, 37.863184], + [-76.784618, 37.869569], + [-76.77539, 37.874306], + [-76.765711, 37.879274], + [-76.747552, 37.875864], + [-76.738395, 37.865373], + [-76.733046, 37.852009], + [-76.72718, 37.842263], + [-76.722156, 37.83668], + [-76.701606, 37.822677], + [-76.692747, 37.82277], + [-76.680197, 37.825654], + [-76.658302, 37.806815], + [-76.651413, 37.796239], + [-76.642276, 37.792317], + [-76.615351, 37.780759], + [-76.602024, 37.772731], + [-76.595939, 37.77168], + [-76.593835, 37.772848], + [-76.584289, 37.76889], + [-76.576387, 37.757493], + [-76.560476, 37.727827], + [-76.54005, 37.704432], + [-76.537228, 37.698892], + [-76.535302, 37.687516], + [-76.537698, 37.66893], + [-76.536548, 37.663574], + [-76.510187, 37.642324], + [-76.501522, 37.643762], + [-76.497564, 37.647056], + [-76.491799, 37.663614], + [-76.489576, 37.666201], + [-76.472392, 37.665772], + [-76.443254, 37.652347], + [-76.399236, 37.628636], + [-76.390054, 37.630326], + [-76.381106, 37.627003], + [-76.36232, 37.610368], + [-76.309174, 37.621892], + [-76.28037, 37.613715], + [-76.279447, 37.618225], + [-76.287959, 37.631771], + [-76.292534, 37.636098], + [-76.306464, 37.642005], + [-76.332562, 37.645817], + [-76.339892, 37.655966], + [-76.324808, 37.676983], + [-76.320216, 37.680666], + [-76.315161, 37.68472], + [-76.312079, 37.684651], + [-76.302545, 37.689], + [-76.300067, 37.695364], + [-76.302803, 37.704474], + [-76.312858, 37.720338], + [-76.304917, 37.729913], + [-76.312108, 37.750522], + [-76.306489, 37.788646], + [-76.310307, 37.794849], + [-76.307482, 37.81235], + [-76.293525, 37.822717], + [-76.284904, 37.822308], + [-76.281985, 37.818068], + [-76.282592, 37.814109], + [-76.280544, 37.812597], + [-76.275178, 37.812664], + [-76.266057, 37.8174], + [-76.251358, 37.833072], + [-76.245072, 37.861918], + [-76.236725, 37.889174], + [-76.265998, 37.91138], + [-76.343848, 37.947345], + [-76.360211, 37.952329], + [-76.391439, 37.958742], + [-76.416299, 37.966828], + [-76.427487, 37.977038], + [-76.462542, 37.998572], + [-76.465291, 38.010226], + [-76.469343, 38.013544], + [-76.491998, 38.017222], + [-76.516547, 38.026566], + [-76.519536, 38.034814], + [-76.522354, 38.04259], + [-76.535919, 38.069532], + [-76.543155, 38.076971], + [-76.579497, 38.09487], + [-76.600937, 38.110084], + [-76.604131, 38.128771], + [-76.613939, 38.148587], + [-76.629476, 38.15305], + [-76.638983, 38.151476], + [-76.643448, 38.14825], + [-76.665127, 38.147638], + [-76.684892, 38.156497], + [-76.701297, 38.155718], + [-76.704048, 38.149264], + [-76.721722, 38.137635], + [-76.738938, 38.14651], + [-76.740278, 38.152824], + [-76.743064, 38.156988], + [-76.749685, 38.162114], + [-76.760241, 38.166581], + [-76.788445, 38.169199], + [-76.802968, 38.167988], + [-76.824274, 38.163639], + [-76.838795, 38.163476], + [-76.875272, 38.172207], + [-76.910832, 38.197073], + [-76.916922, 38.199751], + [-76.937134, 38.202384], + [-76.962311, 38.214075], + [-76.967335, 38.227185], + [-76.966553, 38.229542], + [-76.962375, 38.230093], + [-76.957417, 38.236341], + [-76.957796, 38.243183], + [-76.96215, 38.256486], + [-76.981372, 38.274214], + [-76.990255, 38.273935], + [-76.99767, 38.278047], + [-77.026304, 38.302685], + [-77.030683, 38.311623], + [-77.020947, 38.329273], + [-77.016932, 38.341697], + [-77.011827, 38.374554], + [-77.024866, 38.386791], + [-77.043526, 38.400548], + [-77.051437, 38.399083], + [-77.056032, 38.3962], + [-77.069956, 38.377895], + [-77.08481, 38.368297], + [-77.094665, 38.367715], + [-77.104717, 38.369655], + [-77.138224, 38.367917], + [-77.155191, 38.351047], + [-77.162692, 38.345994], + [-77.17934, 38.341915], + [-77.199433, 38.34089], + [-77.240072, 38.331598], + [-77.265295, 38.333165], + [-77.279633, 38.339444], + [-77.286202, 38.347024], + [-77.286202, 38.347025], + [-77.28835, 38.351286], + [-77.288145, 38.359477], + [-77.296077, 38.369797], + [-77.317288, 38.383576], + [-77.314848, 38.389579], + [-77.312201, 38.390958], + [-77.310719, 38.397669], + [-77.319036, 38.417803], + [-77.32544, 38.44885], + [-77.322622, 38.467131], + [-77.310334, 38.493926], + [-77.302457, 38.504683], + [-77.300776, 38.506978], + [-77.298844, 38.508724], + [-77.29582, 38.511457], + [-77.291103, 38.515721], + [-77.283503, 38.525221], + [-77.276303, 38.53962], + [-77.276603, 38.54712], + [-77.26083, 38.56533], + [-77.265304, 38.580319], + [-77.26443, 38.582845], + [-77.247003, 38.590618], + [-77.246441, 38.599532], + [-77.245104, 38.620717], + [-77.248904, 38.628617], + [-77.246704, 38.635217], + [-77.240604, 38.638917], + [-77.22235, 38.638091], + [-77.216303, 38.637817], + [-77.205103, 38.623917], + [-77.204302, 38.617817], + [-77.202002, 38.617217], + [-77.174902, 38.624217], + [-77.157501, 38.636417], + [-77.1302, 38.635017], + [-77.135901, 38.649817], + [-77.132501, 38.673816], + [-77.121101, 38.686616], + [-77.1059, 38.696815], + [-77.086113, 38.705792], + [-77.074599, 38.711015], + [-77.05991, 38.734419], + [-77.041398, 38.763914], + [-77.039239, 38.7852], + [-77.038598, 38.791513], + [-77.032986, 38.8395], + [-77.031698, 38.850512], + [-77.040599, 38.871212], + [-77.068199, 38.899811], + [-77.0902, 38.904211], + [-77.1012, 38.911111], + [-77.119863, 38.934265], + [-77.1199, 38.934311], + [-77.137701, 38.95531], + [-77.148179, 38.965002], + [-77.166901, 38.96811], + [-77.197502, 38.96681], + [-77.221502, 38.97131], + [-77.235403, 38.97661], + [-77.249803, 38.985909], + [-77.255703, 39.002409], + [-77.251803, 39.011409], + [-77.261403, 39.031009], + [-77.291605, 39.045408], + [-77.328002, 39.058554], + [-77.340287, 39.062991], + [-77.375079, 39.061297], + [-77.42318, 39.066878], + [-77.458202, 39.073723], + [-77.519929, 39.120925], + [-77.524559, 39.127821], + [-77.527282, 39.146236], + [-77.516426, 39.170891], + [-77.510631, 39.178484], + [-77.505162, 39.18205], + [-77.485971, 39.185665], + [-77.478596, 39.189168], + [-77.458884, 39.219826], + [-77.458779, 39.22028], + [-77.45768, 39.22502], + [-77.46021, 39.228359], + [-77.484605, 39.245941], + [-77.511222, 39.2535], + [-77.534461, 39.262361], + [-77.543228, 39.266937], + [-77.545846, 39.271535], + [-77.560854, 39.286152], + [-77.592739, 39.30129], + [-77.667749, 39.318129], + [-77.677505, 39.318699], + [-77.719029, 39.321125], + [-77.750267, 39.289284], + [-77.753357, 39.280331], + [-77.75306, 39.277971], + [-77.753105, 39.27734], + [-77.755193, 39.275191], + [-77.755698, 39.274575], + [-77.758412, 39.269197], + [-77.758733, 39.268114], + [-77.761217, 39.263721], + [-77.761768, 39.263031], + [-77.768, 39.257657], + [-77.768992, 39.256417], + [-77.767277, 39.24938], + [-77.771415, 39.236776], + [-77.822182, 39.139985], + [-77.828157, 39.132329], + [-78.032841, 39.264403], + [-78.033183, 39.264624], + [-78.033185, 39.264626], + [-78.228766, 39.391233], + [-78.347087, 39.466012], + [-78.362267, 39.357784], + [-78.34048, 39.353492], + [-78.35894, 39.319484], + [-78.360035, 39.317771], + [-78.399785, 39.244129], + [-78.399669, 39.243874], + [-78.423968, 39.212049], + [-78.427911, 39.208611], + [-78.429803, 39.207014], + [-78.431167, 39.205744], + [-78.43213, 39.204717], + [-78.437053, 39.199766], + [-78.438651, 39.198049], + [-78.426722, 39.188903], + [-78.41074, 39.171983], + [-78.418377, 39.156656], + [-78.439429, 39.132146], + [-78.459869, 39.113351], + [-78.508132, 39.08863], + [-78.544111, 39.056676], + [-78.571901, 39.031995], + [-78.565837, 39.026303], + [-78.554222, 39.019672], + [-78.557647, 39.013189], + [-78.601655, 38.964603], + [-78.710949, 38.910175], + [-78.714135, 38.911176], + [-78.716956, 38.916273], + [-78.719755, 38.922135], + [-78.719806, 38.922638], + [-78.757278, 38.903203], + [-78.779198, 38.892298], + [-78.788031, 38.885123], + [-78.808181, 38.856175], + [-78.835191, 38.811499], + [-78.869276, 38.762991] + ], + [ + [-78.8214111328125, 38.45789034424927], + [-78.8214111328125, 38.66406704456943], + [-78.5247802734375, 38.66406704456943], + [-78.5247802734375, 38.45789034424927], + [-78.8214111328125, 38.45789034424927] + ], + [ + [-78.2940673828125, 39.138581990583525], + [-78.2940673828125, 39.30029918615032], + [-78.145751953125, 39.30029918615032], + [-78.145751953125, 39.138581990583525], + [-78.2940673828125, 39.138581990583525] + ] + ] + }, + "properties": {}, + "type": "Feature" + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-79.60693359375, 36.38591277287651], + [-76.717529296875, 36.38591277287651], + [-76.717529296875, 39.07890809706475], + [-79.60693359375, 39.07890809706475], + [-79.60693359375, 36.38591277287651] + ] + ] + } + } + ] +} diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-point-intersection.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-point-intersection.geojson new file mode 100755 index 0000000..cbcd6e3 --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon-point-intersection.geojson @@ -0,0 +1,41 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [115.872872384, -31.977789227500004], + [115.87413347200001, -31.978896027], + [115.874207392, -31.978955634], + [115.874293312, -31.978886666], + [115.875, -31.9782948325], + [115.873511744, -31.977027638], + [115.8731464, -31.977071372], + [115.872185504, -31.9771863865], + [115.872872384, -31.977789227500004] + ] + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [115.875, -31.98], + [115.88, -31.98], + [115.88, -31.975], + [115.875, -31.975], + [115.875, -31.98] + ] + ] + } + } + ] +} diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon.geojson new file mode 100755 index 0000000..284415d --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/in/polygon.geojson @@ -0,0 +1,1102 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-78.869276, 38.762991], + [-78.993997, 38.850102], + [-78.999752, 38.846162], + [-79.055354, 38.782213], + [-79.057253, 38.761413], + [-79.092555, 38.700149], + [-79.092271, 38.699208], + [-79.135472, 38.644057], + [-79.135546, 38.643715], + [-79.136374, 38.6424], + [-79.137012, 38.640655], + [-79.146741, 38.625819], + [-79.146974, 38.625641], + [-79.174512, 38.566531], + [-79.174881, 38.566314], + [-79.207884, 38.500428], + [-79.207873, 38.500122], + [-79.209703, 38.495574], + [-79.210008, 38.494283], + [-79.210026, 38.494231], + [-79.225839, 38.479446], + [-79.23162, 38.474041], + [-79.234408, 38.473011], + [-79.240059, 38.469841], + [-79.242024, 38.464332], + [-79.26291, 38.444586], + [-79.263376, 38.443762], + [-79.265327, 38.441772], + [-79.267414, 38.438322], + [-79.282663, 38.431021], + [-79.280263, 38.425475], + [-79.290529, 38.420757], + [-79.291813, 38.419627], + [-79.295712, 38.418129], + [-79.297758, 38.416438], + [-79.312276, 38.411876], + [-79.476638, 38.457228], + [-79.521469, 38.533918], + [-79.53687, 38.550917], + [-79.555471, 38.560217], + [-79.597955, 38.572767], + [-79.649075, 38.591515], + [-79.669128, 38.510975], + [-79.669128, 38.510883], + [-79.695565, 38.477842], + [-79.699006, 38.475148], + [-79.688205, 38.450476], + [-79.688962, 38.449538], + [-79.689544, 38.442511], + [-79.691377, 38.439558], + [-79.731661, 38.374143], + [-79.808711, 38.309429], + [-79.810115, 38.305037], + [-79.788945, 38.268703], + [-79.790134, 38.267654], + [-79.794568, 38.264856], + [-79.891999, 38.203378], + [-79.892345, 38.202397], + [-79.916174, 38.184386], + [-79.917061, 38.183741], + [-79.921196, 38.180378], + [-79.921026, 38.179954], + [-79.925251, 38.150465], + [-79.925512, 38.150237], + [-79.928683, 38.144928], + [-79.928747, 38.144436], + [-79.933751, 38.135508], + [-79.938394, 38.130563], + [-79.931034, 38.101402], + [-79.933911, 38.099168], + [-79.959844, 38.063697], + [-79.978427, 38.029082], + [-80.002507, 37.992767], + [-80.055278, 37.951702], + [-80.130464, 37.893194], + [-80.14613, 37.884453], + [-80.147316, 37.885936], + [-80.148964, 37.886057], + [-80.162202, 37.875122], + [-80.227092, 37.798886], + [-80.231551, 37.792591], + [-80.257411, 37.756084], + [-80.262765, 37.738336], + [-80.260313, 37.733517], + [-80.259342, 37.731205], + [-80.263936, 37.719137], + [-80.287107, 37.696403], + [-80.296138, 37.691783], + [-80.292337, 37.683976], + [-80.292258, 37.683732], + [-80.270323, 37.648982], + [-80.270352, 37.648929], + [-80.267455, 37.646108], + [-80.267228, 37.646011], + [-80.264874, 37.645511], + [-80.26483, 37.645526], + [-80.263291, 37.645101], + [-80.263281, 37.645082], + [-80.254469, 37.642333], + [-80.254431, 37.642352], + [-80.239288, 37.637672], + [-80.220984, 37.627767], + [-80.223386, 37.623185], + [-80.240272, 37.606961], + [-80.288766, 37.58196], + [-80.312393, 37.546239], + [-80.330306, 37.536244], + [-80.314806, 37.500943], + [-80.320627, 37.49888], + [-80.425656, 37.449876], + [-80.443025, 37.438126], + [-80.46482, 37.426144], + [-80.475601, 37.422949], + [-80.494867, 37.43507], + [-80.511391, 37.481672], + [-80.622664, 37.433307], + [-80.770082, 37.372363], + [-80.776649, 37.383679], + [-80.776766, 37.384131], + [-80.798869, 37.395807], + [-80.811639, 37.407507], + [-80.85836, 37.428168], + [-80.858473, 37.428301], + [-80.859556, 37.429568], + [-80.859558, 37.429555], + [-80.862761, 37.411829], + [-80.872589, 37.372347], + [-80.849451, 37.346909], + [-80.900535, 37.315], + [-80.919259, 37.306163], + [-80.947896, 37.295872], + [-80.966556, 37.292158], + [-80.973889, 37.291444], + [-80.980044, 37.293118], + [-80.981322, 37.293465], + [-81.034652, 37.290751], + [-81.084012, 37.284401], + [-81.112596, 37.278497], + [-81.167029, 37.262881], + [-81.204774, 37.243013], + [-81.225104, 37.234874], + [-81.320105, 37.299323], + [-81.362156, 37.337687], + [-81.366315, 37.335927], + [-81.367052, 37.334504], + [-81.36809, 37.332423], + [-81.369379, 37.331827], + [-81.367599, 37.327569], + [-81.371315, 37.324115], + [-81.377349, 37.318447], + [-81.380159, 37.317838], + [-81.384127, 37.318596], + [-81.384914, 37.318832], + [-81.38581, 37.320085], + [-81.386727, 37.320474], + [-81.388132, 37.319903], + [-81.409196, 37.286071], + [-81.409729, 37.284837], + [-81.504168, 37.250115], + [-81.50488, 37.247697], + [-81.507325, 37.2338], + [-81.557315, 37.207697], + [-81.558353, 37.208145], + [-81.560625, 37.206663], + [-81.678603, 37.202467], + [-81.683544, 37.211452], + [-81.728194, 37.239823], + [-81.73332, 37.238127], + [-81.738378, 37.240917], + [-81.744291, 37.244178], + [-81.74342, 37.245858], + [-81.743505, 37.247601], + [-81.747656, 37.264329], + [-81.75129, 37.265131], + [-81.752123, 37.265568], + [-81.752912, 37.266614], + [-81.755012, 37.26772], + [-81.757531, 37.27001], + [-81.757714, 37.271124], + [-81.75773, 37.271934], + [-81.757631, 37.274003], + [-81.76022, 37.275254], + [-81.761752, 37.275713], + [-81.762776, 37.275391], + [-81.763836, 37.275218], + [-81.765195, 37.275099], + [-81.767837, 37.274216], + [-81.774684, 37.274807], + [-81.774747, 37.274847], + [-81.793425, 37.281674], + [-81.793639, 37.282188], + [-81.809184, 37.283003], + [-81.810559, 37.28298], + [-81.84231, 37.285556], + [-81.843167, 37.285586], + [-81.854059, 37.291352], + [-81.853488, 37.294763], + [-81.854465, 37.299937], + [-81.853978, 37.300418], + [-81.86476, 37.308404], + [-81.865219, 37.308839], + [-81.873213, 37.325065], + [-81.878343, 37.328837], + [-81.878713, 37.331753], + [-81.879601, 37.332074], + [-81.880886, 37.331146], + [-81.885075, 37.330665], + [-81.886952, 37.330725], + [-81.887722, 37.331156], + [-81.892876, 37.330134], + [-81.893773, 37.330105], + [-81.894768, 37.331381], + [-81.894797, 37.332012], + [-81.895489, 37.332022], + [-81.896001, 37.331967], + [-81.899459, 37.340277], + [-81.899495, 37.341102], + [-81.902992, 37.34234], + [-81.903795, 37.34305], + [-81.905945, 37.342775], + [-81.906368, 37.34276], + [-81.907322, 37.343119], + [-81.907895, 37.343783], + [-81.910875, 37.348729], + [-81.911487, 37.348839], + [-81.920711, 37.355416], + [-81.921571, 37.356423], + [-81.925643, 37.357316], + [-81.926589, 37.358942], + [-81.929915, 37.366589], + [-81.930194, 37.366728], + [-81.933895, 37.372747], + [-81.92749, 37.413251], + [-81.935621, 37.438397], + [-81.949367, 37.445687], + [-81.968795, 37.451496], + [-81.987006, 37.454878], + [-81.99227, 37.460916], + [-81.996578, 37.476705], + [-81.992916, 37.482969], + [-81.94264, 37.508844], + [-81.92787, 37.512118], + [-81.968297, 37.537798], + [-82.291908, 37.311642], + [-82.305874, 37.3011], + [-82.310793, 37.297387], + [-82.350948, 37.267077], + [-82.510826, 37.218091], + [-82.553549, 37.200867], + [-82.565329, 37.196118], + [-82.565375, 37.196092], + [-82.624878, 37.162932], + [-82.721941, 37.105689], + [-82.720597, 37.081833], + [-82.722472, 37.045101], + [-82.771795, 37.015716], + [-82.777368, 37.015279], + [-82.788897, 37.00816], + [-82.789092, 37.007995], + [-82.790462, 37.007263], + [-82.79089, 37.00676], + [-82.800531, 37.007944], + [-82.815748, 37.007196], + [-82.818006, 37.006161], + [-82.830588, 37.000945], + [-82.829125, 36.997541], + [-82.830802, 36.993445], + [-82.833843, 36.991973], + [-82.836008, 36.988837], + [-82.838549, 36.987027], + [-82.840051, 36.987113], + [-82.851397, 36.984497], + [-82.852614, 36.984963], + [-82.862926, 36.979975], + [-82.864909, 36.97901], + [-82.866019, 36.978272], + [-82.866689, 36.978052], + [-82.867535, 36.977518], + [-82.868455, 36.976481], + [-82.869183, 36.974183], + [-82.869183, 36.974182], + [-82.870274, 36.965993], + [-82.87023, 36.965498], + [-82.867358, 36.963182], + [-82.865404, 36.958084], + [-82.864211, 36.957983], + [-82.862866, 36.957765], + [-82.860534, 36.956015], + [-82.858443, 36.954036], + [-82.855705, 36.953808], + [-82.856099, 36.952471], + [-82.860633, 36.94584], + [-82.861282, 36.944848], + [-82.861684, 36.939316], + [-82.860537, 36.937439], + [-82.858784, 36.933065], + [-82.858461, 36.932717], + [-82.861943, 36.924236], + [-82.863468, 36.922308], + [-82.872136, 36.913456], + [-82.873777, 36.912299], + [-82.885618, 36.900415], + [-82.91169, 36.874248], + [-82.911824, 36.874243], + [-82.973395, 36.859097], + [-83.07259, 36.854589], + [-83.099792, 36.824889], + [-83.131694, 36.781488], + [-83.131245, 36.767105], + [-83.125655, 36.761407], + [-83.125728, 36.761276], + [-83.127833, 36.750828], + [-83.136395, 36.743088], + [-83.167396, 36.739187], + [-83.199698, 36.737487], + [-83.342804, 36.701286], + [-83.353613, 36.696699], + [-83.354606, 36.696153], + [-83.460808, 36.664885], + [-83.461013, 36.664916], + [-83.498011, 36.670485], + [-83.527212, 36.665984], + [-83.649513, 36.616683], + [-83.675413, 36.600814], + [-83.670141, 36.600797], + [-83.670128, 36.600764], + [-83.472108, 36.597284], + [-83.2763, 36.598187], + [-83.250304, 36.593935], + [-83.249899, 36.593898], + [-83.248933, 36.593827], + [-83.028357, 36.593893], + [-83.02725, 36.593847], + [-82.985087, 36.593829], + [-82.830433, 36.593761], + [-82.69578, 36.593698], + [-82.679879, 36.593698], + [-82.609176, 36.594099], + [-82.561074, 36.5948], + [-82.559774, 36.5948], + [-82.554294, 36.594876], + [-82.293814, 36.595565], + [-82.243274, 36.595699], + [-82.226653, 36.595743], + [-82.225716, 36.595744], + [-82.223445, 36.595721], + [-82.221713, 36.595814], + [-82.211005, 36.59586], + [-82.210497, 36.595772], + [-82.188491, 36.595179], + [-82.18074, 36.594928], + [-82.177247, 36.594768], + [-82.173982, 36.594607], + [-82.150727, 36.594673], + [-82.148569, 36.594718], + [-82.14607, 36.594712], + [-81.934144, 36.594213], + [-81.922644, 36.616213], + [-81.826742, 36.614215], + [-81.6469, 36.611918], + [-81.677535, 36.588117], + [-81.60697, 36.587094], + [-81.521032, 36.58052], + [-81.353322, 36.574723], + [-81.353169, 36.574724], + [-81.307511, 36.575024], + [-81.061866, 36.56702], + [-81.058844, 36.566976], + [-80.945988, 36.563196], + [-80.944338, 36.563058], + [-80.901836, 36.561754], + [-80.901726, 36.561751], + [-80.837954, 36.559131], + [-80.837641, 36.559118], + [-80.837089, 36.559154], + [-80.744101, 36.561686], + [-80.687539, 36.561411], + [-80.612158, 36.558127], + [-80.4401, 36.55063], + [-80.432628, 36.550302], + [-80.431605, 36.550219], + [-80.228263, 36.543867], + [-80.225408, 36.543748], + [-80.171636, 36.543219], + [-80.169535, 36.54319], + [-80.053455, 36.542623], + [-80.027269, 36.542495], + [-79.967511, 36.542502], + [-79.966979, 36.542475], + [-79.920239, 36.542365], + [-79.714855, 36.541884], + [-79.667309, 36.541772], + [-79.666827, 36.541772], + [-79.510961, 36.54074], + [-79.510647, 36.540738], + [-79.470047, 36.541025], + [-79.445961, 36.541195], + [-79.445687, 36.541218], + [-79.342696, 36.541382], + [-79.218638, 36.541579], + [-79.20948, 36.541594], + [-79.208686, 36.541571], + [-79.137936, 36.541739], + [-79.126078, 36.541533], + [-79.124736, 36.541568], + [-78.971814, 36.542123], + [-78.970577, 36.542154], + [-78.942254, 36.542079], + [-78.942009, 36.542113], + [-78.91542, 36.541974], + [-78.914543, 36.541972], + [-78.7963, 36.541713], + [-78.76543, 36.541727], + [-78.758392, 36.541852], + [-78.734122, 36.541902], + [-78.670051, 36.542035], + [-78.663317, 36.542011], + [-78.533013, 36.541004], + [-78.529722, 36.540981], + [-78.471022, 36.542307], + [-78.470792, 36.542316], + [-78.45697, 36.542474], + [-78.441199, 36.542687], + [-78.436333, 36.542666], + [-78.323912, 36.543809], + [-78.246681, 36.544341], + [-78.245462, 36.544411], + [-78.133323, 36.543847], + [-78.132911, 36.543811], + [-78.046202, 36.544168], + [-78.03942, 36.544196], + [-78.038938, 36.544173], + [-77.899771, 36.544663], + [-77.882357, 36.544737], + [-77.87528, 36.544754], + [-77.767117, 36.544752], + [-77.296875, 36.544746], + [-77.24969, 36.544745], + [-77.1645, 36.54633], + [-76.916048, 36.543815], + [-76.916001, 36.543818], + [-76.915384, 36.543856], + [-76.807078, 36.550606], + [-76.781296, 36.550659], + [-76.541687, 36.550312], + [-76.541391, 36.550312], + [-76.491497, 36.550365], + [-76.313215, 36.550551], + [-76.313196, 36.550551], + [-76.12236, 36.550621], + [-76.034751, 36.550653], + [-76.02675, 36.550553], + [-75.957648, 36.550553], + [-75.955748, 36.550553], + [-75.953447, 36.550553], + [-75.952847, 36.550553], + [-75.922046, 36.550654], + [-75.911446, 36.550654], + [-75.909046, 36.550654], + [-75.904745, 36.550654], + [-75.903445, 36.550654], + [-75.894145, 36.550754], + [-75.893245, 36.550654], + [-75.891945, 36.550754], + [-75.886545, 36.550754], + [-75.885945, 36.550754], + [-75.880644, 36.550754], + [-75.879744, 36.550754], + [-75.867044, 36.550754], + [-75.874145, 36.583853], + [-75.890946, 36.630753], + [-75.921748, 36.692051], + [-75.94955, 36.76115], + [-75.965451, 36.812449], + [-75.972151, 36.842268], + [-75.991552, 36.910847], + [-75.996252, 36.922047], + [-76.007553, 36.929047], + [-76.013753, 36.930746], + [-76.033454, 36.931946], + [-76.043054, 36.927547], + [-76.058154, 36.916947], + [-76.087955, 36.908647], + [-76.095508, 36.908817], + [-76.139557, 36.923047], + [-76.177019, 36.92929], + [-76.189959, 36.931447], + [-76.22166, 36.939547], + [-76.234961, 36.945147], + [-76.267962, 36.964547], + [-76.285063, 36.968747], + [-76.297663, 36.968147], + [-76.299364, 36.965547], + [-76.315867, 36.955351], + [-76.322764, 36.959147], + [-76.327365, 36.959447], + [-76.330765, 36.938647], + [-76.328864, 36.918447], + [-76.333158, 36.917293], + [-76.344663, 36.919313], + [-76.345569, 36.924531], + [-76.353765, 36.922747], + [-76.385867, 36.923247], + [-76.387567, 36.899547], + [-76.406908, 36.897507], + [-76.407507, 36.897444], + [-76.43122, 36.904532], + [-76.441605, 36.906116], + [-76.447413, 36.90322], + [-76.453941, 36.89274], + [-76.45329, 36.887031], + [-76.454692, 36.884077], + [-76.469914, 36.882898], + [-76.483369, 36.896239], + [-76.482135, 36.901108], + [-76.482407, 36.917364], + [-76.484107, 36.928916], + [-76.487559, 36.952372], + [-76.500355, 36.965212], + [-76.513363, 36.968057], + [-76.521006, 36.973187], + [-76.524142, 36.978316], + [-76.522971, 36.981085], + [-76.524853, 36.983833], + [-76.551246, 36.998946], + [-76.562923, 37.003796], + [-76.565803, 37.007493], + [-76.576617, 37.021374], + [-76.577531, 37.022548], + [-76.57816, 37.022982], + [-76.579236, 37.023726], + [-76.579393, 37.023835], + [-76.584478, 37.027349], + [-76.586491, 37.02874], + [-76.612124, 37.035604], + [-76.646013, 37.036228], + [-76.653998, 37.039172], + [-76.662558, 37.045748], + [-76.66835, 37.05506], + [-76.669822, 37.06426], + [-76.669118, 37.068132], + [-76.668295, 37.072656], + [-76.667646, 37.076228], + [-76.667219, 37.077149], + [-76.666526, 37.078643], + [-76.66555, 37.080746], + [-76.659394, 37.094019], + [-76.65811, 37.096787], + [-76.657703, 37.101161], + [-76.657101, 37.107617], + [-76.656894, 37.109843], + [-76.66375, 37.129979], + [-76.665641, 37.135534], + [-76.665833, 37.136098], + [-76.666542, 37.138179], + [-76.669604, 37.140534], + [-76.671588, 37.14206], + [-76.67147, 37.158739], + [-76.66867, 37.166771], + [-76.66427, 37.171027], + [-76.663774, 37.173875], + [-76.669886, 37.183571], + [-76.685614, 37.198851], + [-76.691918, 37.195731], + [-76.692926, 37.186147], + [-76.696735, 37.174403], + [-76.715295, 37.148035], + [-76.73032, 37.145395], + [-76.73728, 37.146164], + [-76.747632, 37.150548], + [-76.756899, 37.161582], + [-76.796905, 37.189404], + [-76.802511, 37.198308], + [-76.803198, 37.201513], + [-76.801023, 37.206043], + [-76.791555, 37.207564], + [-76.780532, 37.209336], + [-76.773752, 37.206061], + [-76.757765, 37.191658], + [-76.75047, 37.190098], + [-76.74304, 37.192611], + [-76.74, 37.195379], + [-76.73432, 37.204211], + [-76.730951, 37.213813], + [-76.698943, 37.219059], + [-76.693373, 37.221228], + [-76.689166, 37.222866], + [-76.649869, 37.220914], + [-76.641085, 37.216002], + [-76.639608, 37.214783], + [-76.629868, 37.206738], + [-76.623292, 37.198738], + [-76.621113, 37.195103], + [-76.619962, 37.193184], + [-76.61934, 37.192146], + [-76.618008, 37.186429], + [-76.617537, 37.184409], + [-76.616804, 37.18126], + [-76.616268, 37.178962], + [-76.614221, 37.174335], + [-76.613599, 37.172931], + [-76.612517, 37.170486], + [-76.611018, 37.167097], + [-76.610972, 37.166994], + [-76.606684, 37.166674], + [-76.604476, 37.160034], + [-76.617084, 37.144498], + [-76.622252, 37.142146], + [-76.62478, 37.127091], + [-76.618252, 37.119347], + [-76.579499, 37.096627], + [-76.567931, 37.080467], + [-76.564219, 37.077507], + [-76.555066, 37.075859], + [-76.536875, 37.083942], + [-76.528997, 37.079388], + [-76.526203, 37.077773], + [-76.526573, 37.070047], + [-76.527973, 37.068247], + [-76.526273, 37.062947], + [-76.518242, 37.055351], + [-76.512289, 37.054858], + [-76.509339, 37.053173], + [-76.507614, 37.052188], + [-76.46949, 37.030414], + [-76.464471, 37.027547], + [-76.448231, 37.007705], + [-76.449891, 37.004868], + [-76.452461, 37.004603], + [-76.452118, 36.998163], + [-76.428869, 36.969947], + [-76.418969, 36.964047], + [-76.411768, 36.962847], + [-76.408568, 36.969147], + [-76.396368, 36.982347], + [-76.387711, 36.989671], + [-76.383367, 36.993347], + [-76.373567, 36.998347], + [-76.356366, 37.002947], + [-76.348066, 37.006747], + [-76.340666, 37.015246], + [-76.34011, 37.015212], + [-76.329531, 37.014556], + [-76.318065, 37.013846], + [-76.314624, 37.00933], + [-76.315008, 37.001683], + [-76.312048, 37.000371], + [-76.304272, 37.001378], + [-76.300352, 37.00885], + [-76.292863, 37.035145], + [-76.271262, 37.084544], + [-76.274463, 37.094544], + [-76.287236, 37.117453], + [-76.292344, 37.126615], + [-76.311088, 37.138495], + [-76.324353, 37.142895], + [-76.330481, 37.141727], + [-76.334017, 37.144223], + [-76.340129, 37.151823], + [-76.34405, 37.160367], + [-76.344898, 37.164479], + [-76.343234, 37.166207], + [-76.348658, 37.170655], + [-76.35969, 37.16858], + [-76.375255, 37.16084], + [-76.381379, 37.155711], + [-76.394756, 37.157568], + [-76.399659, 37.160272], + [-76.397883, 37.164415], + [-76.391252, 37.179887], + [-76.389284, 37.193503], + [-76.396052, 37.201087], + [-76.3936, 37.214049], + [-76.389793, 37.222981], + [-76.394132, 37.22515], + [-76.471799, 37.216016], + [-76.494008, 37.225408], + [-76.50364, 37.233856], + [-76.4989, 37.241015], + [-76.493302, 37.24947], + [-76.48284, 37.254831], + [-76.475927, 37.250543], + [-76.429141, 37.25331], + [-76.421765, 37.255198], + [-76.417173, 37.26395], + [-76.392788, 37.264973], + [-76.36229, 37.270226], + [-76.349489, 37.273963], + [-76.352556, 37.278334], + [-76.369029, 37.279311], + [-76.381075, 37.28534], + [-76.385603, 37.294108], + [-76.38777, 37.30767], + [-76.406388, 37.332924], + [-76.434965, 37.354524], + [-76.445333, 37.36646], + [-76.437525, 37.37975], + [-76.422503, 37.381355], + [-76.418176, 37.385064], + [-76.418719, 37.3978], + [-76.415167, 37.402133], + [-76.404756, 37.400213], + [-76.393125, 37.398068], + [-76.393958, 37.39594], + [-76.391437, 37.390284], + [-76.387112, 37.385061], + [-76.366751, 37.374495], + [-76.337476, 37.364014], + [-76.31205, 37.338088], + [-76.308581, 37.329366], + [-76.291324, 37.324145], + [-76.282555, 37.319107], + [-76.275552, 37.309964], + [-76.272005, 37.322194], + [-76.272888, 37.335174], + [-76.264847, 37.357399], + [-76.262407, 37.360786], + [-76.258277, 37.36202], + [-76.24846, 37.375135], + [-76.245283, 37.386839], + [-76.246617, 37.404122], + [-76.250454, 37.421886], + [-76.252415, 37.447274], + [-76.265056, 37.481365], + [-76.281043, 37.507821], + [-76.288167, 37.514118], + [-76.293599, 37.516499], + [-76.297651, 37.515424], + [-76.298456, 37.512677], + [-76.296445, 37.511235], + [-76.297739, 37.506863], + [-76.306952, 37.497488], + [-76.32947, 37.49492], + [-76.352678, 37.504913], + [-76.359378, 37.513426], + [-76.360474, 37.51924], + [-76.355084, 37.527364], + [-76.348992, 37.536548], + [-76.339989, 37.53833], + [-76.330598, 37.536391], + [-76.302762, 37.551295], + [-76.29796, 37.557636], + [-76.300144, 37.561734], + [-76.332641, 37.570042], + [-76.357835, 37.573699], + [-76.383188, 37.573056], + [-76.410781, 37.581815], + [-76.420252, 37.598686], + [-76.435474, 37.612807], + [-76.527188, 37.611315], + [-76.533777, 37.61253], + [-76.542666, 37.616857], + [-76.574049, 37.646781], + [-76.583143, 37.661986], + [-76.579591, 37.671508], + [-76.597868, 37.702918], + [-76.598073, 37.70912], + [-76.595943, 37.712989], + [-76.597213, 37.717269], + [-76.606466, 37.724819], + [-76.61997, 37.731271], + [-76.621433, 37.737973], + [-76.617373, 37.742347], + [-76.61971, 37.744795], + [-76.639962, 37.750941], + [-76.663887, 37.751887], + [-76.677002, 37.7561], + [-76.680922, 37.759647], + [-76.683372, 37.765507], + [-76.683359, 37.770258], + [-76.683343, 37.775783], + [-76.681901, 37.778118], + [-76.683775, 37.781391], + [-76.689773, 37.78519], + [-76.715498, 37.785873], + [-76.723863, 37.788503], + [-76.734309, 37.79866], + [-76.7512, 37.824141], + [-76.766328, 37.840437], + [-76.782826, 37.863184], + [-76.784618, 37.869569], + [-76.77539, 37.874306], + [-76.765711, 37.879274], + [-76.747552, 37.875864], + [-76.738395, 37.865373], + [-76.733046, 37.852009], + [-76.72718, 37.842263], + [-76.722156, 37.83668], + [-76.701606, 37.822677], + [-76.692747, 37.82277], + [-76.680197, 37.825654], + [-76.658302, 37.806815], + [-76.651413, 37.796239], + [-76.642276, 37.792317], + [-76.615351, 37.780759], + [-76.602024, 37.772731], + [-76.595939, 37.77168], + [-76.593835, 37.772848], + [-76.584289, 37.76889], + [-76.576387, 37.757493], + [-76.560476, 37.727827], + [-76.54005, 37.704432], + [-76.537228, 37.698892], + [-76.535302, 37.687516], + [-76.537698, 37.66893], + [-76.536548, 37.663574], + [-76.510187, 37.642324], + [-76.501522, 37.643762], + [-76.497564, 37.647056], + [-76.491799, 37.663614], + [-76.489576, 37.666201], + [-76.472392, 37.665772], + [-76.443254, 37.652347], + [-76.399236, 37.628636], + [-76.390054, 37.630326], + [-76.381106, 37.627003], + [-76.36232, 37.610368], + [-76.309174, 37.621892], + [-76.28037, 37.613715], + [-76.279447, 37.618225], + [-76.287959, 37.631771], + [-76.292534, 37.636098], + [-76.306464, 37.642005], + [-76.332562, 37.645817], + [-76.339892, 37.655966], + [-76.324808, 37.676983], + [-76.320216, 37.680666], + [-76.315161, 37.68472], + [-76.312079, 37.684651], + [-76.302545, 37.689], + [-76.300067, 37.695364], + [-76.302803, 37.704474], + [-76.312858, 37.720338], + [-76.304917, 37.729913], + [-76.312108, 37.750522], + [-76.306489, 37.788646], + [-76.310307, 37.794849], + [-76.307482, 37.81235], + [-76.293525, 37.822717], + [-76.284904, 37.822308], + [-76.281985, 37.818068], + [-76.282592, 37.814109], + [-76.280544, 37.812597], + [-76.275178, 37.812664], + [-76.266057, 37.8174], + [-76.251358, 37.833072], + [-76.245072, 37.861918], + [-76.236725, 37.889174], + [-76.265998, 37.91138], + [-76.343848, 37.947345], + [-76.360211, 37.952329], + [-76.391439, 37.958742], + [-76.416299, 37.966828], + [-76.427487, 37.977038], + [-76.462542, 37.998572], + [-76.465291, 38.010226], + [-76.469343, 38.013544], + [-76.491998, 38.017222], + [-76.516547, 38.026566], + [-76.519536, 38.034814], + [-76.522354, 38.04259], + [-76.535919, 38.069532], + [-76.543155, 38.076971], + [-76.579497, 38.09487], + [-76.600937, 38.110084], + [-76.604131, 38.128771], + [-76.613939, 38.148587], + [-76.629476, 38.15305], + [-76.638983, 38.151476], + [-76.643448, 38.14825], + [-76.665127, 38.147638], + [-76.684892, 38.156497], + [-76.701297, 38.155718], + [-76.704048, 38.149264], + [-76.721722, 38.137635], + [-76.738938, 38.14651], + [-76.740278, 38.152824], + [-76.743064, 38.156988], + [-76.749685, 38.162114], + [-76.760241, 38.166581], + [-76.788445, 38.169199], + [-76.802968, 38.167988], + [-76.824274, 38.163639], + [-76.838795, 38.163476], + [-76.875272, 38.172207], + [-76.910832, 38.197073], + [-76.916922, 38.199751], + [-76.937134, 38.202384], + [-76.962311, 38.214075], + [-76.967335, 38.227185], + [-76.966553, 38.229542], + [-76.962375, 38.230093], + [-76.957417, 38.236341], + [-76.957796, 38.243183], + [-76.96215, 38.256486], + [-76.981372, 38.274214], + [-76.990255, 38.273935], + [-76.99767, 38.278047], + [-77.026304, 38.302685], + [-77.030683, 38.311623], + [-77.020947, 38.329273], + [-77.016932, 38.341697], + [-77.011827, 38.374554], + [-77.024866, 38.386791], + [-77.043526, 38.400548], + [-77.051437, 38.399083], + [-77.056032, 38.3962], + [-77.069956, 38.377895], + [-77.08481, 38.368297], + [-77.094665, 38.367715], + [-77.104717, 38.369655], + [-77.138224, 38.367917], + [-77.155191, 38.351047], + [-77.162692, 38.345994], + [-77.17934, 38.341915], + [-77.199433, 38.34089], + [-77.240072, 38.331598], + [-77.265295, 38.333165], + [-77.279633, 38.339444], + [-77.286202, 38.347024], + [-77.286202, 38.347025], + [-77.28835, 38.351286], + [-77.288145, 38.359477], + [-77.296077, 38.369797], + [-77.317288, 38.383576], + [-77.314848, 38.389579], + [-77.312201, 38.390958], + [-77.310719, 38.397669], + [-77.319036, 38.417803], + [-77.32544, 38.44885], + [-77.322622, 38.467131], + [-77.310334, 38.493926], + [-77.302457, 38.504683], + [-77.300776, 38.506978], + [-77.298844, 38.508724], + [-77.29582, 38.511457], + [-77.291103, 38.515721], + [-77.283503, 38.525221], + [-77.276303, 38.53962], + [-77.276603, 38.54712], + [-77.26083, 38.56533], + [-77.265304, 38.580319], + [-77.26443, 38.582845], + [-77.247003, 38.590618], + [-77.246441, 38.599532], + [-77.245104, 38.620717], + [-77.248904, 38.628617], + [-77.246704, 38.635217], + [-77.240604, 38.638917], + [-77.22235, 38.638091], + [-77.216303, 38.637817], + [-77.205103, 38.623917], + [-77.204302, 38.617817], + [-77.202002, 38.617217], + [-77.174902, 38.624217], + [-77.157501, 38.636417], + [-77.1302, 38.635017], + [-77.135901, 38.649817], + [-77.132501, 38.673816], + [-77.121101, 38.686616], + [-77.1059, 38.696815], + [-77.086113, 38.705792], + [-77.074599, 38.711015], + [-77.05991, 38.734419], + [-77.041398, 38.763914], + [-77.039239, 38.7852], + [-77.038598, 38.791513], + [-77.032986, 38.8395], + [-77.031698, 38.850512], + [-77.040599, 38.871212], + [-77.068199, 38.899811], + [-77.0902, 38.904211], + [-77.1012, 38.911111], + [-77.119863, 38.934265], + [-77.1199, 38.934311], + [-77.137701, 38.95531], + [-77.148179, 38.965002], + [-77.166901, 38.96811], + [-77.197502, 38.96681], + [-77.221502, 38.97131], + [-77.235403, 38.97661], + [-77.249803, 38.985909], + [-77.255703, 39.002409], + [-77.251803, 39.011409], + [-77.261403, 39.031009], + [-77.291605, 39.045408], + [-77.328002, 39.058554], + [-77.340287, 39.062991], + [-77.375079, 39.061297], + [-77.42318, 39.066878], + [-77.458202, 39.073723], + [-77.519929, 39.120925], + [-77.524559, 39.127821], + [-77.527282, 39.146236], + [-77.516426, 39.170891], + [-77.510631, 39.178484], + [-77.505162, 39.18205], + [-77.485971, 39.185665], + [-77.478596, 39.189168], + [-77.458884, 39.219826], + [-77.458779, 39.22028], + [-77.45768, 39.22502], + [-77.46021, 39.228359], + [-77.484605, 39.245941], + [-77.511222, 39.2535], + [-77.534461, 39.262361], + [-77.543228, 39.266937], + [-77.545846, 39.271535], + [-77.560854, 39.286152], + [-77.592739, 39.30129], + [-77.667749, 39.318129], + [-77.677505, 39.318699], + [-77.719029, 39.321125], + [-77.750267, 39.289284], + [-77.753357, 39.280331], + [-77.75306, 39.277971], + [-77.753105, 39.27734], + [-77.755193, 39.275191], + [-77.755698, 39.274575], + [-77.758412, 39.269197], + [-77.758733, 39.268114], + [-77.761217, 39.263721], + [-77.761768, 39.263031], + [-77.768, 39.257657], + [-77.768992, 39.256417], + [-77.767277, 39.24938], + [-77.771415, 39.236776], + [-77.822182, 39.139985], + [-77.828157, 39.132329], + [-78.032841, 39.264403], + [-78.033183, 39.264624], + [-78.033185, 39.264626], + [-78.228766, 39.391233], + [-78.347087, 39.466012], + [-78.362267, 39.357784], + [-78.34048, 39.353492], + [-78.35894, 39.319484], + [-78.360035, 39.317771], + [-78.399785, 39.244129], + [-78.399669, 39.243874], + [-78.423968, 39.212049], + [-78.427911, 39.208611], + [-78.429803, 39.207014], + [-78.431167, 39.205744], + [-78.43213, 39.204717], + [-78.437053, 39.199766], + [-78.438651, 39.198049], + [-78.426722, 39.188903], + [-78.41074, 39.171983], + [-78.418377, 39.156656], + [-78.439429, 39.132146], + [-78.459869, 39.113351], + [-78.508132, 39.08863], + [-78.544111, 39.056676], + [-78.571901, 39.031995], + [-78.565837, 39.026303], + [-78.554222, 39.019672], + [-78.557647, 39.013189], + [-78.601655, 38.964603], + [-78.710949, 38.910175], + [-78.714135, 38.911176], + [-78.716956, 38.916273], + [-78.719755, 38.922135], + [-78.719806, 38.922638], + [-78.757278, 38.903203], + [-78.779198, 38.892298], + [-78.788031, 38.885123], + [-78.808181, 38.856175], + [-78.835191, 38.811499], + [-78.869276, 38.762991] + ] + ] + }, + "properties": {}, + "type": "Feature" + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-80.321044921875, 36.26199220445664], + [-76.541748046875, 36.26199220445664], + [-76.541748046875, 39.68182601089365], + [-80.321044921875, 39.68182601089365], + [-80.321044921875, 36.26199220445664] + ] + ] + } + } + ] +} diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-crossing-hole.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-crossing-hole.geojson new file mode 100755 index 0000000..5f1ef7e --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-crossing-hole.geojson @@ -0,0 +1 @@ +{"features":[{"geometry":{"coordinates":[[[-78.869276,38.762991],[-78.993997,38.850102],[-78.999752,38.846162],[-79.055354,38.782213],[-79.057253,38.761413],[-79.092555,38.700149],[-79.092271,38.699208],[-79.135472,38.644057],[-79.135546,38.643715],[-79.136374,38.6424],[-79.137012,38.640655],[-79.146741,38.625819],[-79.146974,38.625641],[-79.174512,38.566531],[-79.174881,38.566314],[-79.207884,38.500428],[-79.207873,38.500122],[-79.209703,38.495574],[-79.210008,38.494283],[-79.210026,38.494231],[-79.225839,38.479446],[-79.23162,38.474041],[-79.234408,38.473011],[-79.240059,38.469841],[-79.242024,38.464332],[-79.26291,38.444586],[-79.263376,38.443762],[-79.265327,38.441772],[-79.267414,38.438322],[-79.282663,38.431021],[-79.280263,38.425475],[-79.290529,38.420757],[-79.291813,38.419627],[-79.295712,38.418129],[-79.297758,38.416438],[-79.312276,38.411876],[-79.476638,38.457228],[-79.521469,38.533918],[-79.53687,38.550917],[-79.555471,38.560217],[-79.597955,38.572767],[-79.649075,38.591515],[-79.669128,38.510975],[-79.669128,38.510883],[-79.695565,38.477842],[-79.699006,38.475148],[-79.688205,38.450476],[-79.688962,38.449538],[-79.689544,38.442511],[-79.691377,38.439558],[-79.731661,38.374143],[-79.808711,38.309429],[-79.810115,38.305037],[-79.788945,38.268703],[-79.790134,38.267654],[-79.794568,38.264856],[-79.891999,38.203378],[-79.892345,38.202397],[-79.916174,38.184386],[-79.917061,38.183741],[-79.921196,38.180378],[-79.921026,38.179954],[-79.925251,38.150465],[-79.925512,38.150237],[-79.928683,38.144928],[-79.928747,38.144436],[-79.933751,38.135508],[-79.938394,38.130563],[-79.931034,38.101402],[-79.933911,38.099168],[-79.959844,38.063697],[-79.978427,38.029082],[-80.002507,37.992767],[-80.055278,37.951702],[-80.130464,37.893194],[-80.14613,37.884453],[-80.147316,37.885936],[-80.148964,37.886057],[-80.162202,37.875122],[-80.227092,37.798886],[-80.231551,37.792591],[-80.257411,37.756084],[-80.262765,37.738336],[-80.260313,37.733517],[-80.259342,37.731205],[-80.263936,37.719137],[-80.287107,37.696403],[-80.296138,37.691783],[-80.292337,37.683976],[-80.292258,37.683732],[-80.270323,37.648982],[-80.270352,37.648929],[-80.267455,37.646108],[-80.267228,37.646011],[-80.264874,37.645511],[-80.26483,37.645526],[-80.263291,37.645101],[-80.263281,37.645082],[-80.254469,37.642333],[-80.254431,37.642352],[-80.239288,37.637672],[-80.220984,37.627767],[-80.223386,37.623185],[-80.240272,37.606961],[-80.288766,37.58196],[-80.312393,37.546239],[-80.330306,37.536244],[-80.314806,37.500943],[-80.320627,37.49888],[-80.425656,37.449876],[-80.443025,37.438126],[-80.46482,37.426144],[-80.475601,37.422949],[-80.494867,37.43507],[-80.511391,37.481672],[-80.622664,37.433307],[-80.770082,37.372363],[-80.776649,37.383679],[-80.776766,37.384131],[-80.798869,37.395807],[-80.811639,37.407507],[-80.85836,37.428168],[-80.858473,37.428301],[-80.859556,37.429568],[-80.859558,37.429555],[-80.862761,37.411829],[-80.872589,37.372347],[-80.849451,37.346909],[-80.900535,37.315],[-80.919259,37.306163],[-80.947896,37.295872],[-80.966556,37.292158],[-80.973889,37.291444],[-80.980044,37.293118],[-80.981322,37.293465],[-81.034652,37.290751],[-81.084012,37.284401],[-81.112596,37.278497],[-81.167029,37.262881],[-81.204774,37.243013],[-81.225104,37.234874],[-81.320105,37.299323],[-81.362156,37.337687],[-81.366315,37.335927],[-81.367052,37.334504],[-81.36809,37.332423],[-81.369379,37.331827],[-81.367599,37.327569],[-81.371315,37.324115],[-81.377349,37.318447],[-81.380159,37.317838],[-81.384127,37.318596],[-81.384914,37.318832],[-81.38581,37.320085],[-81.386727,37.320474],[-81.388132,37.319903],[-81.409196,37.286071],[-81.409729,37.284837],[-81.504168,37.250115],[-81.50488,37.247697],[-81.507325,37.2338],[-81.557315,37.207697],[-81.558353,37.208145],[-81.560625,37.206663],[-81.678603,37.202467],[-81.683544,37.211452],[-81.728194,37.239823],[-81.73332,37.238127],[-81.738378,37.240917],[-81.744291,37.244178],[-81.74342,37.245858],[-81.743505,37.247601],[-81.747656,37.264329],[-81.75129,37.265131],[-81.752123,37.265568],[-81.752912,37.266614],[-81.755012,37.26772],[-81.757531,37.27001],[-81.757714,37.271124],[-81.75773,37.271934],[-81.757631,37.274003],[-81.76022,37.275254],[-81.761752,37.275713],[-81.762776,37.275391],[-81.763836,37.275218],[-81.765195,37.275099],[-81.767837,37.274216],[-81.774684,37.274807],[-81.774747,37.274847],[-81.793425,37.281674],[-81.793639,37.282188],[-81.809184,37.283003],[-81.810559,37.28298],[-81.84231,37.285556],[-81.843167,37.285586],[-81.854059,37.291352],[-81.853488,37.294763],[-81.854465,37.299937],[-81.853978,37.300418],[-81.86476,37.308404],[-81.865219,37.308839],[-81.873213,37.325065],[-81.878343,37.328837],[-81.878713,37.331753],[-81.879601,37.332074],[-81.880886,37.331146],[-81.885075,37.330665],[-81.886952,37.330725],[-81.887722,37.331156],[-81.892876,37.330134],[-81.893773,37.330105],[-81.894768,37.331381],[-81.894797,37.332012],[-81.895489,37.332022],[-81.896001,37.331967],[-81.899459,37.340277],[-81.899495,37.341102],[-81.902992,37.34234],[-81.903795,37.34305],[-81.905945,37.342775],[-81.906368,37.34276],[-81.907322,37.343119],[-81.907895,37.343783],[-81.910875,37.348729],[-81.911487,37.348839],[-81.920711,37.355416],[-81.921571,37.356423],[-81.925643,37.357316],[-81.926589,37.358942],[-81.929915,37.366589],[-81.930194,37.366728],[-81.933895,37.372747],[-81.92749,37.413251],[-81.935621,37.438397],[-81.949367,37.445687],[-81.968795,37.451496],[-81.987006,37.454878],[-81.99227,37.460916],[-81.996578,37.476705],[-81.992916,37.482969],[-81.94264,37.508844],[-81.92787,37.512118],[-81.968297,37.537798],[-82.291908,37.311642],[-82.305874,37.3011],[-82.310793,37.297387],[-82.350948,37.267077],[-82.510826,37.218091],[-82.553549,37.200867],[-82.565329,37.196118],[-82.565375,37.196092],[-82.624878,37.162932],[-82.721941,37.105689],[-82.720597,37.081833],[-82.722472,37.045101],[-82.771795,37.015716],[-82.777368,37.015279],[-82.788897,37.00816],[-82.789092,37.007995],[-82.790462,37.007263],[-82.79089,37.00676],[-82.800531,37.007944],[-82.815748,37.007196],[-82.818006,37.006161],[-82.830588,37.000945],[-82.829125,36.997541],[-82.830802,36.993445],[-82.833843,36.991973],[-82.836008,36.988837],[-82.838549,36.987027],[-82.840051,36.987113],[-82.851397,36.984497],[-82.852614,36.984963],[-82.862926,36.979975],[-82.864909,36.97901],[-82.866019,36.978272],[-82.866689,36.978052],[-82.867535,36.977518],[-82.868455,36.976481],[-82.869183,36.974183],[-82.869183,36.974182],[-82.870274,36.965993],[-82.87023,36.965498],[-82.867358,36.963182],[-82.865404,36.958084],[-82.864211,36.957983],[-82.862866,36.957765],[-82.860534,36.956015],[-82.858443,36.954036],[-82.855705,36.953808],[-82.856099,36.952471],[-82.860633,36.94584],[-82.861282,36.944848],[-82.861684,36.939316],[-82.860537,36.937439],[-82.858784,36.933065],[-82.858461,36.932717],[-82.861943,36.924236],[-82.863468,36.922308],[-82.872136,36.913456],[-82.873777,36.912299],[-82.885618,36.900415],[-82.91169,36.874248],[-82.911824,36.874243],[-82.973395,36.859097],[-83.07259,36.854589],[-83.099792,36.824889],[-83.131694,36.781488],[-83.131245,36.767105],[-83.125655,36.761407],[-83.125728,36.761276],[-83.127833,36.750828],[-83.136395,36.743088],[-83.167396,36.739187],[-83.199698,36.737487],[-83.342804,36.701286],[-83.353613,36.696699],[-83.354606,36.696153],[-83.460808,36.664885],[-83.461013,36.664916],[-83.498011,36.670485],[-83.527212,36.665984],[-83.649513,36.616683],[-83.675413,36.600814],[-83.670141,36.600797],[-83.670128,36.600764],[-83.472108,36.597284],[-83.2763,36.598187],[-83.250304,36.593935],[-83.249899,36.593898],[-83.248933,36.593827],[-83.028357,36.593893],[-83.02725,36.593847],[-82.985087,36.593829],[-82.830433,36.593761],[-82.69578,36.593698],[-82.679879,36.593698],[-82.609176,36.594099],[-82.561074,36.5948],[-82.559774,36.5948],[-82.554294,36.594876],[-82.293814,36.595565],[-82.243274,36.595699],[-82.226653,36.595743],[-82.225716,36.595744],[-82.223445,36.595721],[-82.221713,36.595814],[-82.211005,36.59586],[-82.210497,36.595772],[-82.188491,36.595179],[-82.18074,36.594928],[-82.177247,36.594768],[-82.173982,36.594607],[-82.150727,36.594673],[-82.148569,36.594718],[-82.14607,36.594712],[-81.934144,36.594213],[-81.922644,36.616213],[-81.826742,36.614215],[-81.6469,36.611918],[-81.677535,36.588117],[-81.60697,36.587094],[-81.521032,36.58052],[-81.353322,36.574723],[-81.353169,36.574724],[-81.307511,36.575024],[-81.061866,36.56702],[-81.058844,36.566976],[-80.945988,36.563196],[-80.944338,36.563058],[-80.901836,36.561754],[-80.901726,36.561751],[-80.837954,36.559131],[-80.837641,36.559118],[-80.837089,36.559154],[-80.744101,36.561686],[-80.687539,36.561411],[-80.612158,36.558127],[-80.4401,36.55063],[-80.432628,36.550302],[-80.431605,36.550219],[-80.228263,36.543867],[-80.225408,36.543748],[-80.171636,36.543219],[-80.169535,36.54319],[-80.053455,36.542623],[-80.027269,36.542495],[-79.967511,36.542502],[-79.966979,36.542475],[-79.920239,36.542365],[-79.714855,36.541884],[-79.667309,36.541772],[-79.666827,36.541772],[-79.510961,36.54074],[-79.510647,36.540738],[-79.470047,36.541025],[-79.445961,36.541195],[-79.445687,36.541218],[-79.342696,36.541382],[-79.218638,36.541579],[-79.20948,36.541594],[-79.208686,36.541571],[-79.137936,36.541739],[-79.126078,36.541533],[-79.124736,36.541568],[-78.971814,36.542123],[-78.970577,36.542154],[-78.942254,36.542079],[-78.942009,36.542113],[-78.91542,36.541974],[-78.914543,36.541972],[-78.7963,36.541713],[-78.76543,36.541727],[-78.758392,36.541852],[-78.734122,36.541902],[-78.670051,36.542035],[-78.663317,36.542011],[-78.533013,36.541004],[-78.529722,36.540981],[-78.471022,36.542307],[-78.470792,36.542316],[-78.45697,36.542474],[-78.441199,36.542687],[-78.436333,36.542666],[-78.323912,36.543809],[-78.246681,36.544341],[-78.245462,36.544411],[-78.133323,36.543847],[-78.132911,36.543811],[-78.046202,36.544168],[-78.03942,36.544196],[-78.038938,36.544173],[-77.899771,36.544663],[-77.882357,36.544737],[-77.87528,36.544754],[-77.767117,36.544752],[-77.296875,36.544746],[-77.24969,36.544745],[-77.1645,36.54633],[-76.916048,36.543815],[-76.916001,36.543818],[-76.915384,36.543856],[-76.807078,36.550606],[-76.781296,36.550659],[-76.541687,36.550312],[-76.541391,36.550312],[-76.491497,36.550365],[-76.313215,36.550551],[-76.313196,36.550551],[-76.12236,36.550621],[-76.034751,36.550653],[-76.02675,36.550553],[-75.957648,36.550553],[-75.955748,36.550553],[-75.953447,36.550553],[-75.952847,36.550553],[-75.922046,36.550654],[-75.911446,36.550654],[-75.909046,36.550654],[-75.904745,36.550654],[-75.903445,36.550654],[-75.894145,36.550754],[-75.893245,36.550654],[-75.891945,36.550754],[-75.886545,36.550754],[-75.885945,36.550754],[-75.880644,36.550754],[-75.879744,36.550754],[-75.867044,36.550754],[-75.874145,36.583853],[-75.890946,36.630753],[-75.921748,36.692051],[-75.94955,36.76115],[-75.965451,36.812449],[-75.972151,36.842268],[-75.991552,36.910847],[-75.996252,36.922047],[-76.007553,36.929047],[-76.013753,36.930746],[-76.033454,36.931946],[-76.043054,36.927547],[-76.058154,36.916947],[-76.087955,36.908647],[-76.095508,36.908817],[-76.139557,36.923047],[-76.177019,36.92929],[-76.189959,36.931447],[-76.22166,36.939547],[-76.234961,36.945147],[-76.267962,36.964547],[-76.285063,36.968747],[-76.297663,36.968147],[-76.299364,36.965547],[-76.315867,36.955351],[-76.322764,36.959147],[-76.327365,36.959447],[-76.330765,36.938647],[-76.328864,36.918447],[-76.333158,36.917293],[-76.344663,36.919313],[-76.345569,36.924531],[-76.353765,36.922747],[-76.385867,36.923247],[-76.387567,36.899547],[-76.406908,36.897507],[-76.407507,36.897444],[-76.43122,36.904532],[-76.441605,36.906116],[-76.447413,36.90322],[-76.453941,36.89274],[-76.45329,36.887031],[-76.454692,36.884077],[-76.469914,36.882898],[-76.483369,36.896239],[-76.482135,36.901108],[-76.482407,36.917364],[-76.484107,36.928916],[-76.487559,36.952372],[-76.500355,36.965212],[-76.513363,36.968057],[-76.521006,36.973187],[-76.524142,36.978316],[-76.522971,36.981085],[-76.524853,36.983833],[-76.551246,36.998946],[-76.562923,37.003796],[-76.565803,37.007493],[-76.576617,37.021374],[-76.577531,37.022548],[-76.57816,37.022982],[-76.579236,37.023726],[-76.579393,37.023835],[-76.584478,37.027349],[-76.586491,37.02874],[-76.612124,37.035604],[-76.646013,37.036228],[-76.653998,37.039172],[-76.662558,37.045748],[-76.66835,37.05506],[-76.669822,37.06426],[-76.669118,37.068132],[-76.668295,37.072656],[-76.667646,37.076228],[-76.667219,37.077149],[-76.666526,37.078643],[-76.66555,37.080746],[-76.659394,37.094019],[-76.65811,37.096787],[-76.657703,37.101161],[-76.657101,37.107617],[-76.656894,37.109843],[-76.66375,37.129979],[-76.665641,37.135534],[-76.665833,37.136098],[-76.666542,37.138179],[-76.669604,37.140534],[-76.671588,37.14206],[-76.67147,37.158739],[-76.66867,37.166771],[-76.66427,37.171027],[-76.663774,37.173875],[-76.669886,37.183571],[-76.685614,37.198851],[-76.691918,37.195731],[-76.692926,37.186147],[-76.696735,37.174403],[-76.715295,37.148035],[-76.73032,37.145395],[-76.73728,37.146164],[-76.747632,37.150548],[-76.756899,37.161582],[-76.796905,37.189404],[-76.802511,37.198308],[-76.803198,37.201513],[-76.801023,37.206043],[-76.791555,37.207564],[-76.780532,37.209336],[-76.773752,37.206061],[-76.757765,37.191658],[-76.75047,37.190098],[-76.74304,37.192611],[-76.74,37.195379],[-76.73432,37.204211],[-76.730951,37.213813],[-76.698943,37.219059],[-76.693373,37.221228],[-76.689166,37.222866],[-76.649869,37.220914],[-76.641085,37.216002],[-76.639608,37.214783],[-76.629868,37.206738],[-76.623292,37.198738],[-76.621113,37.195103],[-76.619962,37.193184],[-76.61934,37.192146],[-76.618008,37.186429],[-76.617537,37.184409],[-76.616804,37.18126],[-76.616268,37.178962],[-76.614221,37.174335],[-76.613599,37.172931],[-76.612517,37.170486],[-76.611018,37.167097],[-76.610972,37.166994],[-76.606684,37.166674],[-76.604476,37.160034],[-76.617084,37.144498],[-76.622252,37.142146],[-76.62478,37.127091],[-76.618252,37.119347],[-76.579499,37.096627],[-76.567931,37.080467],[-76.564219,37.077507],[-76.555066,37.075859],[-76.536875,37.083942],[-76.528997,37.079388],[-76.526203,37.077773],[-76.526573,37.070047],[-76.527973,37.068247],[-76.526273,37.062947],[-76.518242,37.055351],[-76.512289,37.054858],[-76.509339,37.053173],[-76.507614,37.052188],[-76.46949,37.030414],[-76.464471,37.027547],[-76.448231,37.007705],[-76.449891,37.004868],[-76.452461,37.004603],[-76.452118,36.998163],[-76.428869,36.969947],[-76.418969,36.964047],[-76.411768,36.962847],[-76.408568,36.969147],[-76.396368,36.982347],[-76.387711,36.989671],[-76.383367,36.993347],[-76.373567,36.998347],[-76.356366,37.002947],[-76.348066,37.006747],[-76.340666,37.015246],[-76.34011,37.015212],[-76.329531,37.014556],[-76.318065,37.013846],[-76.314624,37.00933],[-76.315008,37.001683],[-76.312048,37.000371],[-76.304272,37.001378],[-76.300352,37.00885],[-76.292863,37.035145],[-76.271262,37.084544],[-76.274463,37.094544],[-76.287236,37.117453],[-76.292344,37.126615],[-76.311088,37.138495],[-76.324353,37.142895],[-76.330481,37.141727],[-76.334017,37.144223],[-76.340129,37.151823],[-76.34405,37.160367],[-76.344898,37.164479],[-76.343234,37.166207],[-76.348658,37.170655],[-76.35969,37.16858],[-76.375255,37.16084],[-76.381379,37.155711],[-76.394756,37.157568],[-76.399659,37.160272],[-76.397883,37.164415],[-76.391252,37.179887],[-76.389284,37.193503],[-76.396052,37.201087],[-76.3936,37.214049],[-76.389793,37.222981],[-76.394132,37.22515],[-76.471799,37.216016],[-76.494008,37.225408],[-76.50364,37.233856],[-76.4989,37.241015],[-76.493302,37.24947],[-76.48284,37.254831],[-76.475927,37.250543],[-76.429141,37.25331],[-76.421765,37.255198],[-76.417173,37.26395],[-76.392788,37.264973],[-76.36229,37.270226],[-76.349489,37.273963],[-76.352556,37.278334],[-76.369029,37.279311],[-76.381075,37.28534],[-76.385603,37.294108],[-76.38777,37.30767],[-76.406388,37.332924],[-76.434965,37.354524],[-76.445333,37.36646],[-76.437525,37.37975],[-76.422503,37.381355],[-76.418176,37.385064],[-76.418719,37.3978],[-76.415167,37.402133],[-76.404756,37.400213],[-76.393125,37.398068],[-76.393958,37.39594],[-76.391437,37.390284],[-76.387112,37.385061],[-76.366751,37.374495],[-76.337476,37.364014],[-76.31205,37.338088],[-76.308581,37.329366],[-76.291324,37.324145],[-76.282555,37.319107],[-76.275552,37.309964],[-76.272005,37.322194],[-76.272888,37.335174],[-76.264847,37.357399],[-76.262407,37.360786],[-76.258277,37.36202],[-76.24846,37.375135],[-76.245283,37.386839],[-76.246617,37.404122],[-76.250454,37.421886],[-76.252415,37.447274],[-76.265056,37.481365],[-76.281043,37.507821],[-76.288167,37.514118],[-76.293599,37.516499],[-76.297651,37.515424],[-76.298456,37.512677],[-76.296445,37.511235],[-76.297739,37.506863],[-76.306952,37.497488],[-76.32947,37.49492],[-76.352678,37.504913],[-76.359378,37.513426],[-76.360474,37.51924],[-76.355084,37.527364],[-76.348992,37.536548],[-76.339989,37.53833],[-76.330598,37.536391],[-76.302762,37.551295],[-76.29796,37.557636],[-76.300144,37.561734],[-76.332641,37.570042],[-76.357835,37.573699],[-76.383188,37.573056],[-76.410781,37.581815],[-76.420252,37.598686],[-76.435474,37.612807],[-76.527188,37.611315],[-76.533777,37.61253],[-76.542666,37.616857],[-76.574049,37.646781],[-76.583143,37.661986],[-76.579591,37.671508],[-76.597868,37.702918],[-76.598073,37.70912],[-76.595943,37.712989],[-76.597213,37.717269],[-76.606466,37.724819],[-76.61997,37.731271],[-76.621433,37.737973],[-76.617373,37.742347],[-76.61971,37.744795],[-76.639962,37.750941],[-76.663887,37.751887],[-76.677002,37.7561],[-76.680922,37.759647],[-76.683372,37.765507],[-76.683359,37.770258],[-76.683343,37.775783],[-76.681901,37.778118],[-76.683775,37.781391],[-76.689773,37.78519],[-76.715498,37.785873],[-76.723863,37.788503],[-76.734309,37.79866],[-76.7512,37.824141],[-76.766328,37.840437],[-76.782826,37.863184],[-76.784618,37.869569],[-76.77539,37.874306],[-76.765711,37.879274],[-76.747552,37.875864],[-76.738395,37.865373],[-76.733046,37.852009],[-76.72718,37.842263],[-76.722156,37.83668],[-76.701606,37.822677],[-76.692747,37.82277],[-76.680197,37.825654],[-76.658302,37.806815],[-76.651413,37.796239],[-76.642276,37.792317],[-76.615351,37.780759],[-76.602024,37.772731],[-76.595939,37.77168],[-76.593835,37.772848],[-76.584289,37.76889],[-76.576387,37.757493],[-76.560476,37.727827],[-76.54005,37.704432],[-76.537228,37.698892],[-76.535302,37.687516],[-76.537698,37.66893],[-76.536548,37.663574],[-76.510187,37.642324],[-76.501522,37.643762],[-76.497564,37.647056],[-76.491799,37.663614],[-76.489576,37.666201],[-76.472392,37.665772],[-76.443254,37.652347],[-76.399236,37.628636],[-76.390054,37.630326],[-76.381106,37.627003],[-76.36232,37.610368],[-76.309174,37.621892],[-76.28037,37.613715],[-76.279447,37.618225],[-76.287959,37.631771],[-76.292534,37.636098],[-76.306464,37.642005],[-76.332562,37.645817],[-76.339892,37.655966],[-76.324808,37.676983],[-76.320216,37.680666],[-76.315161,37.68472],[-76.312079,37.684651],[-76.302545,37.689],[-76.300067,37.695364],[-76.302803,37.704474],[-76.312858,37.720338],[-76.304917,37.729913],[-76.312108,37.750522],[-76.306489,37.788646],[-76.310307,37.794849],[-76.307482,37.81235],[-76.293525,37.822717],[-76.284904,37.822308],[-76.281985,37.818068],[-76.282592,37.814109],[-76.280544,37.812597],[-76.275178,37.812664],[-76.266057,37.8174],[-76.251358,37.833072],[-76.245072,37.861918],[-76.236725,37.889174],[-76.265998,37.91138],[-76.343848,37.947345],[-76.360211,37.952329],[-76.391439,37.958742],[-76.416299,37.966828],[-76.427487,37.977038],[-76.462542,37.998572],[-76.465291,38.010226],[-76.469343,38.013544],[-76.491998,38.017222],[-76.516547,38.026566],[-76.519536,38.034814],[-76.522354,38.04259],[-76.535919,38.069532],[-76.543155,38.076971],[-76.579497,38.09487],[-76.600937,38.110084],[-76.604131,38.128771],[-76.613939,38.148587],[-76.629476,38.15305],[-76.638983,38.151476],[-76.643448,38.14825],[-76.665127,38.147638],[-76.684892,38.156497],[-76.701297,38.155718],[-76.704048,38.149264],[-76.721722,38.137635],[-76.738938,38.14651],[-76.740278,38.152824],[-76.743064,38.156988],[-76.749685,38.162114],[-76.760241,38.166581],[-76.788445,38.169199],[-76.802968,38.167988],[-76.824274,38.163639],[-76.838795,38.163476],[-76.875272,38.172207],[-76.910832,38.197073],[-76.916922,38.199751],[-76.937134,38.202384],[-76.962311,38.214075],[-76.967335,38.227185],[-76.966553,38.229542],[-76.962375,38.230093],[-76.957417,38.236341],[-76.957796,38.243183],[-76.96215,38.256486],[-76.981372,38.274214],[-76.990255,38.273935],[-76.99767,38.278047],[-77.026304,38.302685],[-77.030683,38.311623],[-77.020947,38.329273],[-77.016932,38.341697],[-77.011827,38.374554],[-77.024866,38.386791],[-77.043526,38.400548],[-77.051437,38.399083],[-77.056032,38.3962],[-77.069956,38.377895],[-77.08481,38.368297],[-77.094665,38.367715],[-77.104717,38.369655],[-77.138224,38.367917],[-77.155191,38.351047],[-77.162692,38.345994],[-77.17934,38.341915],[-77.199433,38.34089],[-77.240072,38.331598],[-77.265295,38.333165],[-77.279633,38.339444],[-77.286202,38.347024],[-77.286202,38.347025],[-77.28835,38.351286],[-77.288145,38.359477],[-77.296077,38.369797],[-77.317288,38.383576],[-77.314848,38.389579],[-77.312201,38.390958],[-77.310719,38.397669],[-77.319036,38.417803],[-77.32544,38.44885],[-77.322622,38.467131],[-77.310334,38.493926],[-77.302457,38.504683],[-77.300776,38.506978],[-77.298844,38.508724],[-77.29582,38.511457],[-77.291103,38.515721],[-77.283503,38.525221],[-77.276303,38.53962],[-77.276603,38.54712],[-77.26083,38.56533],[-77.265304,38.580319],[-77.26443,38.582845],[-77.247003,38.590618],[-77.246441,38.599532],[-77.245104,38.620717],[-77.248904,38.628617],[-77.246704,38.635217],[-77.240604,38.638917],[-77.22235,38.638091],[-77.216303,38.637817],[-77.205103,38.623917],[-77.204302,38.617817],[-77.202002,38.617217],[-77.174902,38.624217],[-77.157501,38.636417],[-77.1302,38.635017],[-77.135901,38.649817],[-77.132501,38.673816],[-77.121101,38.686616],[-77.1059,38.696815],[-77.086113,38.705792],[-77.074599,38.711015],[-77.05991,38.734419],[-77.041398,38.763914],[-77.039239,38.7852],[-77.038598,38.791513],[-77.032986,38.8395],[-77.031698,38.850512],[-77.040599,38.871212],[-77.068199,38.899811],[-77.0902,38.904211],[-77.1012,38.911111],[-77.119863,38.934265],[-77.1199,38.934311],[-77.137701,38.95531],[-77.148179,38.965002],[-77.166901,38.96811],[-77.197502,38.96681],[-77.221502,38.97131],[-77.235403,38.97661],[-77.249803,38.985909],[-77.255703,39.002409],[-77.251803,39.011409],[-77.261403,39.031009],[-77.291605,39.045408],[-77.328002,39.058554],[-77.340287,39.062991],[-77.375079,39.061297],[-77.42318,39.066878],[-77.458202,39.073723],[-77.519929,39.120925],[-77.524559,39.127821],[-77.527282,39.146236],[-77.516426,39.170891],[-77.510631,39.178484],[-77.505162,39.18205],[-77.485971,39.185665],[-77.478596,39.189168],[-77.458884,39.219826],[-77.458779,39.22028],[-77.45768,39.22502],[-77.46021,39.228359],[-77.484605,39.245941],[-77.511222,39.2535],[-77.534461,39.262361],[-77.543228,39.266937],[-77.545846,39.271535],[-77.560854,39.286152],[-77.592739,39.30129],[-77.667749,39.318129],[-77.677505,39.318699],[-77.719029,39.321125],[-77.750267,39.289284],[-77.753357,39.280331],[-77.75306,39.277971],[-77.753105,39.27734],[-77.755193,39.275191],[-77.755698,39.274575],[-77.758412,39.269197],[-77.758733,39.268114],[-77.761217,39.263721],[-77.761768,39.263031],[-77.768,39.257657],[-77.768992,39.256417],[-77.767277,39.24938],[-77.771415,39.236776],[-77.822182,39.139985],[-77.828157,39.132329],[-78.032841,39.264403],[-78.033183,39.264624],[-78.033185,39.264626],[-78.228766,39.391233],[-78.347087,39.466012],[-78.362267,39.357784],[-78.34048,39.353492],[-78.35894,39.319484],[-78.360035,39.317771],[-78.399785,39.244129],[-78.399669,39.243874],[-78.423968,39.212049],[-78.427911,39.208611],[-78.429803,39.207014],[-78.431167,39.205744],[-78.43213,39.204717],[-78.437053,39.199766],[-78.438651,39.198049],[-78.426722,39.188903],[-78.41074,39.171983],[-78.418377,39.156656],[-78.439429,39.132146],[-78.459869,39.113351],[-78.508132,39.08863],[-78.544111,39.056676],[-78.571901,39.031995],[-78.565837,39.026303],[-78.554222,39.019672],[-78.557647,39.013189],[-78.601655,38.964603],[-78.710949,38.910175],[-78.714135,38.911176],[-78.716956,38.916273],[-78.719755,38.922135],[-78.719806,38.922638],[-78.757278,38.903203],[-78.779198,38.892298],[-78.788031,38.885123],[-78.808181,38.856175],[-78.835191,38.811499],[-78.869276,38.762991]],[[-78.305054,38.625454],[-78.305054,39.245017],[-78.134766,39.245017],[-78.134766,38.625454],[-78.305054,38.625454]]],"type":"Polygon"},"properties":{"fill":"#080","fill-opacity":0.1,"stroke":"#080","stroke-width":6},"type":"Feature"},{"geometry":{"coordinates":[[[-78.869276,38.762991],[-78.993997,38.850102],[-78.999752,38.846162],[-79.055354,38.782213],[-79.057253,38.761413],[-79.092555,38.700149],[-79.092271,38.699208],[-79.123535,38.659296],[-79.123535,36.541572],[-78.971814,36.542123],[-78.970577,36.542154],[-78.942254,36.542079],[-78.942009,36.542113],[-78.91542,36.541974],[-78.914543,36.541972],[-78.7963,36.541713],[-78.76543,36.541727],[-78.758392,36.541852],[-78.734122,36.541902],[-78.670051,36.542035],[-78.663317,36.542011],[-78.533013,36.541004],[-78.529722,36.540981],[-78.471022,36.542307],[-78.470792,36.542316],[-78.45697,36.542474],[-78.441199,36.542687],[-78.436333,36.542666],[-78.323912,36.543809],[-78.246681,36.544341],[-78.245462,36.544411],[-78.133323,36.543847],[-78.132911,36.543811],[-78.046202,36.544168],[-78.03942,36.544196],[-78.038938,36.544173],[-77.899771,36.544663],[-77.882357,36.544737],[-77.87528,36.544754],[-77.767117,36.544752],[-77.296875,36.544746],[-77.24969,36.544745],[-77.1645,36.54633],[-76.916048,36.543815],[-76.916001,36.543818],[-76.915384,36.543856],[-76.807078,36.550606],[-76.781296,36.550659],[-76.739502,36.550598],[-76.739502,37.147105],[-76.747632,37.150548],[-76.756899,37.161582],[-76.796905,37.189404],[-76.802511,37.198308],[-76.803198,37.201513],[-76.801023,37.206043],[-76.791555,37.207564],[-76.780532,37.209336],[-76.773752,37.206061],[-76.757765,37.191658],[-76.75047,37.190098],[-76.74304,37.192611],[-76.74,37.195379],[-76.739502,37.196153],[-76.739502,37.806494],[-76.7512,37.824141],[-76.766328,37.840437],[-76.782826,37.863184],[-76.784618,37.869569],[-76.77539,37.874306],[-76.765711,37.879274],[-76.747552,37.875864],[-76.739502,37.866641],[-76.739502,38.149167],[-76.740278,38.152824],[-76.743064,38.156988],[-76.749685,38.162114],[-76.760241,38.166581],[-76.788445,38.169199],[-76.802968,38.167988],[-76.824274,38.163639],[-76.838795,38.163476],[-76.875272,38.172207],[-76.910832,38.197073],[-76.916922,38.199751],[-76.937134,38.202384],[-76.962311,38.214075],[-76.967335,38.227185],[-76.966553,38.229542],[-76.962375,38.230093],[-76.957417,38.236341],[-76.957796,38.243183],[-76.96215,38.256486],[-76.981372,38.274214],[-76.990255,38.273935],[-76.99767,38.278047],[-77.026304,38.302685],[-77.030683,38.311623],[-77.020947,38.329273],[-77.016932,38.341697],[-77.011827,38.374554],[-77.024866,38.386791],[-77.043526,38.400548],[-77.051437,38.399083],[-77.056032,38.3962],[-77.069956,38.377895],[-77.08481,38.368297],[-77.094665,38.367715],[-77.104717,38.369655],[-77.138224,38.367917],[-77.155191,38.351047],[-77.162692,38.345994],[-77.17934,38.341915],[-77.199433,38.34089],[-77.240072,38.331598],[-77.265295,38.333165],[-77.279633,38.339444],[-77.286202,38.347024],[-77.286202,38.347025],[-77.28835,38.351286],[-77.288145,38.359477],[-77.296077,38.369797],[-77.317288,38.383576],[-77.314848,38.389579],[-77.312201,38.390958],[-77.310719,38.397669],[-77.319036,38.417803],[-77.32544,38.44885],[-77.322622,38.467131],[-77.310334,38.493926],[-77.302457,38.504683],[-77.300776,38.506978],[-77.298844,38.508724],[-77.29582,38.511457],[-77.291103,38.515721],[-77.283503,38.525221],[-77.276303,38.53962],[-77.276603,38.54712],[-77.26083,38.56533],[-77.265304,38.580319],[-77.26443,38.582845],[-77.247003,38.590618],[-77.246441,38.599532],[-77.245104,38.620717],[-77.248904,38.628617],[-77.246704,38.635217],[-77.240604,38.638917],[-77.22235,38.638091],[-77.216303,38.637817],[-77.205103,38.623917],[-77.204302,38.617817],[-77.202002,38.617217],[-77.174902,38.624217],[-77.157501,38.636417],[-77.1302,38.635017],[-77.135901,38.649817],[-77.132501,38.673816],[-77.121101,38.686616],[-77.1059,38.696815],[-77.086113,38.705792],[-77.074599,38.711015],[-77.05991,38.734419],[-77.041398,38.763914],[-77.039239,38.7852],[-77.038598,38.791513],[-77.032986,38.8395],[-77.031698,38.850512],[-77.040599,38.871212],[-77.068199,38.899811],[-77.0902,38.904211],[-77.1012,38.911111],[-77.119863,38.934265],[-77.1199,38.934311],[-77.137701,38.95531],[-77.148179,38.965002],[-77.166901,38.96811],[-77.197502,38.96681],[-77.221502,38.97131],[-77.235403,38.97661],[-77.249803,38.985909],[-77.255703,39.002409],[-77.251803,39.011409],[-77.259791,39.027719],[-78.567345,39.027719],[-78.565837,39.026303],[-78.554222,39.019672],[-78.557647,39.013189],[-78.601655,38.964603],[-78.710949,38.910175],[-78.714135,38.911176],[-78.716956,38.916273],[-78.719755,38.922135],[-78.719806,38.922638],[-78.757278,38.903203],[-78.779198,38.892298],[-78.788031,38.885123],[-78.808181,38.856175],[-78.835191,38.811499],[-78.869276,38.762991]],[[-78.305054,38.625454],[-78.305054,39.027719],[-78.134766,39.027719],[-78.134766,38.625454],[-78.305054,38.625454]]],"type":"Polygon"},"properties":{"fill":"#F00","fill-opacity":0.1,"stroke":"#F00","stroke-width":6},"type":"Feature"},{"geometry":{"coordinates":[[[-79.123535,36.341678],[-76.739502,36.341678],[-76.739502,39.027719],[-79.123535,39.027719],[-79.123535,36.341678]]],"type":"Polygon"},"properties":{"fill":"#00F","fill-opacity":0.1,"stroke":"#00F","stroke-width":3},"type":"Feature"}],"type":"FeatureCollection"} \ No newline at end of file diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-holes.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-holes.geojson new file mode 100755 index 0000000..8f18543 --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-holes.geojson @@ -0,0 +1,1415 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-78.869276, 38.762991], + [-78.993997, 38.850102], + [-78.999752, 38.846162], + [-79.055354, 38.782213], + [-79.057253, 38.761413], + [-79.092555, 38.700149], + [-79.092271, 38.699208], + [-79.135472, 38.644057], + [-79.135546, 38.643715], + [-79.136374, 38.6424], + [-79.137012, 38.640655], + [-79.146741, 38.625819], + [-79.146974, 38.625641], + [-79.174512, 38.566531], + [-79.174881, 38.566314], + [-79.207884, 38.500428], + [-79.207873, 38.500122], + [-79.209703, 38.495574], + [-79.210008, 38.494283], + [-79.210026, 38.494231], + [-79.225839, 38.479446], + [-79.23162, 38.474041], + [-79.234408, 38.473011], + [-79.240059, 38.469841], + [-79.242024, 38.464332], + [-79.26291, 38.444586], + [-79.263376, 38.443762], + [-79.265327, 38.441772], + [-79.267414, 38.438322], + [-79.282663, 38.431021], + [-79.280263, 38.425475], + [-79.290529, 38.420757], + [-79.291813, 38.419627], + [-79.295712, 38.418129], + [-79.297758, 38.416438], + [-79.312276, 38.411876], + [-79.476638, 38.457228], + [-79.521469, 38.533918], + [-79.53687, 38.550917], + [-79.555471, 38.560217], + [-79.597955, 38.572767], + [-79.649075, 38.591515], + [-79.669128, 38.510975], + [-79.669128, 38.510883], + [-79.695565, 38.477842], + [-79.699006, 38.475148], + [-79.688205, 38.450476], + [-79.688962, 38.449538], + [-79.689544, 38.442511], + [-79.691377, 38.439558], + [-79.731661, 38.374143], + [-79.808711, 38.309429], + [-79.810115, 38.305037], + [-79.788945, 38.268703], + [-79.790134, 38.267654], + [-79.794568, 38.264856], + [-79.891999, 38.203378], + [-79.892345, 38.202397], + [-79.916174, 38.184386], + [-79.917061, 38.183741], + [-79.921196, 38.180378], + [-79.921026, 38.179954], + [-79.925251, 38.150465], + [-79.925512, 38.150237], + [-79.928683, 38.144928], + [-79.928747, 38.144436], + [-79.933751, 38.135508], + [-79.938394, 38.130563], + [-79.931034, 38.101402], + [-79.933911, 38.099168], + [-79.959844, 38.063697], + [-79.978427, 38.029082], + [-80.002507, 37.992767], + [-80.055278, 37.951702], + [-80.130464, 37.893194], + [-80.14613, 37.884453], + [-80.147316, 37.885936], + [-80.148964, 37.886057], + [-80.162202, 37.875122], + [-80.227092, 37.798886], + [-80.231551, 37.792591], + [-80.257411, 37.756084], + [-80.262765, 37.738336], + [-80.260313, 37.733517], + [-80.259342, 37.731205], + [-80.263936, 37.719137], + [-80.287107, 37.696403], + [-80.296138, 37.691783], + [-80.292337, 37.683976], + [-80.292258, 37.683732], + [-80.270323, 37.648982], + [-80.270352, 37.648929], + [-80.267455, 37.646108], + [-80.267228, 37.646011], + [-80.264874, 37.645511], + [-80.26483, 37.645526], + [-80.263291, 37.645101], + [-80.263281, 37.645082], + [-80.254469, 37.642333], + [-80.254431, 37.642352], + [-80.239288, 37.637672], + [-80.220984, 37.627767], + [-80.223386, 37.623185], + [-80.240272, 37.606961], + [-80.288766, 37.58196], + [-80.312393, 37.546239], + [-80.330306, 37.536244], + [-80.314806, 37.500943], + [-80.320627, 37.49888], + [-80.425656, 37.449876], + [-80.443025, 37.438126], + [-80.46482, 37.426144], + [-80.475601, 37.422949], + [-80.494867, 37.43507], + [-80.511391, 37.481672], + [-80.622664, 37.433307], + [-80.770082, 37.372363], + [-80.776649, 37.383679], + [-80.776766, 37.384131], + [-80.798869, 37.395807], + [-80.811639, 37.407507], + [-80.85836, 37.428168], + [-80.858473, 37.428301], + [-80.859556, 37.429568], + [-80.859558, 37.429555], + [-80.862761, 37.411829], + [-80.872589, 37.372347], + [-80.849451, 37.346909], + [-80.900535, 37.315], + [-80.919259, 37.306163], + [-80.947896, 37.295872], + [-80.966556, 37.292158], + [-80.973889, 37.291444], + [-80.980044, 37.293118], + [-80.981322, 37.293465], + [-81.034652, 37.290751], + [-81.084012, 37.284401], + [-81.112596, 37.278497], + [-81.167029, 37.262881], + [-81.204774, 37.243013], + [-81.225104, 37.234874], + [-81.320105, 37.299323], + [-81.362156, 37.337687], + [-81.366315, 37.335927], + [-81.367052, 37.334504], + [-81.36809, 37.332423], + [-81.369379, 37.331827], + [-81.367599, 37.327569], + [-81.371315, 37.324115], + [-81.377349, 37.318447], + [-81.380159, 37.317838], + [-81.384127, 37.318596], + [-81.384914, 37.318832], + [-81.38581, 37.320085], + [-81.386727, 37.320474], + [-81.388132, 37.319903], + [-81.409196, 37.286071], + [-81.409729, 37.284837], + [-81.504168, 37.250115], + [-81.50488, 37.247697], + [-81.507325, 37.2338], + [-81.557315, 37.207697], + [-81.558353, 37.208145], + [-81.560625, 37.206663], + [-81.678603, 37.202467], + [-81.683544, 37.211452], + [-81.728194, 37.239823], + [-81.73332, 37.238127], + [-81.738378, 37.240917], + [-81.744291, 37.244178], + [-81.74342, 37.245858], + [-81.743505, 37.247601], + [-81.747656, 37.264329], + [-81.75129, 37.265131], + [-81.752123, 37.265568], + [-81.752912, 37.266614], + [-81.755012, 37.26772], + [-81.757531, 37.27001], + [-81.757714, 37.271124], + [-81.75773, 37.271934], + [-81.757631, 37.274003], + [-81.76022, 37.275254], + [-81.761752, 37.275713], + [-81.762776, 37.275391], + [-81.763836, 37.275218], + [-81.765195, 37.275099], + [-81.767837, 37.274216], + [-81.774684, 37.274807], + [-81.774747, 37.274847], + [-81.793425, 37.281674], + [-81.793639, 37.282188], + [-81.809184, 37.283003], + [-81.810559, 37.28298], + [-81.84231, 37.285556], + [-81.843167, 37.285586], + [-81.854059, 37.291352], + [-81.853488, 37.294763], + [-81.854465, 37.299937], + [-81.853978, 37.300418], + [-81.86476, 37.308404], + [-81.865219, 37.308839], + [-81.873213, 37.325065], + [-81.878343, 37.328837], + [-81.878713, 37.331753], + [-81.879601, 37.332074], + [-81.880886, 37.331146], + [-81.885075, 37.330665], + [-81.886952, 37.330725], + [-81.887722, 37.331156], + [-81.892876, 37.330134], + [-81.893773, 37.330105], + [-81.894768, 37.331381], + [-81.894797, 37.332012], + [-81.895489, 37.332022], + [-81.896001, 37.331967], + [-81.899459, 37.340277], + [-81.899495, 37.341102], + [-81.902992, 37.34234], + [-81.903795, 37.34305], + [-81.905945, 37.342775], + [-81.906368, 37.34276], + [-81.907322, 37.343119], + [-81.907895, 37.343783], + [-81.910875, 37.348729], + [-81.911487, 37.348839], + [-81.920711, 37.355416], + [-81.921571, 37.356423], + [-81.925643, 37.357316], + [-81.926589, 37.358942], + [-81.929915, 37.366589], + [-81.930194, 37.366728], + [-81.933895, 37.372747], + [-81.92749, 37.413251], + [-81.935621, 37.438397], + [-81.949367, 37.445687], + [-81.968795, 37.451496], + [-81.987006, 37.454878], + [-81.99227, 37.460916], + [-81.996578, 37.476705], + [-81.992916, 37.482969], + [-81.94264, 37.508844], + [-81.92787, 37.512118], + [-81.968297, 37.537798], + [-82.291908, 37.311642], + [-82.305874, 37.3011], + [-82.310793, 37.297387], + [-82.350948, 37.267077], + [-82.510826, 37.218091], + [-82.553549, 37.200867], + [-82.565329, 37.196118], + [-82.565375, 37.196092], + [-82.624878, 37.162932], + [-82.721941, 37.105689], + [-82.720597, 37.081833], + [-82.722472, 37.045101], + [-82.771795, 37.015716], + [-82.777368, 37.015279], + [-82.788897, 37.00816], + [-82.789092, 37.007995], + [-82.790462, 37.007263], + [-82.79089, 37.00676], + [-82.800531, 37.007944], + [-82.815748, 37.007196], + [-82.818006, 37.006161], + [-82.830588, 37.000945], + [-82.829125, 36.997541], + [-82.830802, 36.993445], + [-82.833843, 36.991973], + [-82.836008, 36.988837], + [-82.838549, 36.987027], + [-82.840051, 36.987113], + [-82.851397, 36.984497], + [-82.852614, 36.984963], + [-82.862926, 36.979975], + [-82.864909, 36.97901], + [-82.866019, 36.978272], + [-82.866689, 36.978052], + [-82.867535, 36.977518], + [-82.868455, 36.976481], + [-82.869183, 36.974183], + [-82.869183, 36.974182], + [-82.870274, 36.965993], + [-82.87023, 36.965498], + [-82.867358, 36.963182], + [-82.865404, 36.958084], + [-82.864211, 36.957983], + [-82.862866, 36.957765], + [-82.860534, 36.956015], + [-82.858443, 36.954036], + [-82.855705, 36.953808], + [-82.856099, 36.952471], + [-82.860633, 36.94584], + [-82.861282, 36.944848], + [-82.861684, 36.939316], + [-82.860537, 36.937439], + [-82.858784, 36.933065], + [-82.858461, 36.932717], + [-82.861943, 36.924236], + [-82.863468, 36.922308], + [-82.872136, 36.913456], + [-82.873777, 36.912299], + [-82.885618, 36.900415], + [-82.91169, 36.874248], + [-82.911824, 36.874243], + [-82.973395, 36.859097], + [-83.07259, 36.854589], + [-83.099792, 36.824889], + [-83.131694, 36.781488], + [-83.131245, 36.767105], + [-83.125655, 36.761407], + [-83.125728, 36.761276], + [-83.127833, 36.750828], + [-83.136395, 36.743088], + [-83.167396, 36.739187], + [-83.199698, 36.737487], + [-83.342804, 36.701286], + [-83.353613, 36.696699], + [-83.354606, 36.696153], + [-83.460808, 36.664885], + [-83.461013, 36.664916], + [-83.498011, 36.670485], + [-83.527212, 36.665984], + [-83.649513, 36.616683], + [-83.675413, 36.600814], + [-83.670141, 36.600797], + [-83.670128, 36.600764], + [-83.472108, 36.597284], + [-83.2763, 36.598187], + [-83.250304, 36.593935], + [-83.249899, 36.593898], + [-83.248933, 36.593827], + [-83.028357, 36.593893], + [-83.02725, 36.593847], + [-82.985087, 36.593829], + [-82.830433, 36.593761], + [-82.69578, 36.593698], + [-82.679879, 36.593698], + [-82.609176, 36.594099], + [-82.561074, 36.5948], + [-82.559774, 36.5948], + [-82.554294, 36.594876], + [-82.293814, 36.595565], + [-82.243274, 36.595699], + [-82.226653, 36.595743], + [-82.225716, 36.595744], + [-82.223445, 36.595721], + [-82.221713, 36.595814], + [-82.211005, 36.59586], + [-82.210497, 36.595772], + [-82.188491, 36.595179], + [-82.18074, 36.594928], + [-82.177247, 36.594768], + [-82.173982, 36.594607], + [-82.150727, 36.594673], + [-82.148569, 36.594718], + [-82.14607, 36.594712], + [-81.934144, 36.594213], + [-81.922644, 36.616213], + [-81.826742, 36.614215], + [-81.6469, 36.611918], + [-81.677535, 36.588117], + [-81.60697, 36.587094], + [-81.521032, 36.58052], + [-81.353322, 36.574723], + [-81.353169, 36.574724], + [-81.307511, 36.575024], + [-81.061866, 36.56702], + [-81.058844, 36.566976], + [-80.945988, 36.563196], + [-80.944338, 36.563058], + [-80.901836, 36.561754], + [-80.901726, 36.561751], + [-80.837954, 36.559131], + [-80.837641, 36.559118], + [-80.837089, 36.559154], + [-80.744101, 36.561686], + [-80.687539, 36.561411], + [-80.612158, 36.558127], + [-80.4401, 36.55063], + [-80.432628, 36.550302], + [-80.431605, 36.550219], + [-80.228263, 36.543867], + [-80.225408, 36.543748], + [-80.171636, 36.543219], + [-80.169535, 36.54319], + [-80.053455, 36.542623], + [-80.027269, 36.542495], + [-79.967511, 36.542502], + [-79.966979, 36.542475], + [-79.920239, 36.542365], + [-79.714855, 36.541884], + [-79.667309, 36.541772], + [-79.666827, 36.541772], + [-79.510961, 36.54074], + [-79.510647, 36.540738], + [-79.470047, 36.541025], + [-79.445961, 36.541195], + [-79.445687, 36.541218], + [-79.342696, 36.541382], + [-79.218638, 36.541579], + [-79.20948, 36.541594], + [-79.208686, 36.541571], + [-79.137936, 36.541739], + [-79.126078, 36.541533], + [-79.124736, 36.541568], + [-78.971814, 36.542123], + [-78.970577, 36.542154], + [-78.942254, 36.542079], + [-78.942009, 36.542113], + [-78.91542, 36.541974], + [-78.914543, 36.541972], + [-78.7963, 36.541713], + [-78.76543, 36.541727], + [-78.758392, 36.541852], + [-78.734122, 36.541902], + [-78.670051, 36.542035], + [-78.663317, 36.542011], + [-78.533013, 36.541004], + [-78.529722, 36.540981], + [-78.471022, 36.542307], + [-78.470792, 36.542316], + [-78.45697, 36.542474], + [-78.441199, 36.542687], + [-78.436333, 36.542666], + [-78.323912, 36.543809], + [-78.246681, 36.544341], + [-78.245462, 36.544411], + [-78.133323, 36.543847], + [-78.132911, 36.543811], + [-78.046202, 36.544168], + [-78.03942, 36.544196], + [-78.038938, 36.544173], + [-77.899771, 36.544663], + [-77.882357, 36.544737], + [-77.87528, 36.544754], + [-77.767117, 36.544752], + [-77.296875, 36.544746], + [-77.24969, 36.544745], + [-77.1645, 36.54633], + [-76.916048, 36.543815], + [-76.916001, 36.543818], + [-76.915384, 36.543856], + [-76.807078, 36.550606], + [-76.781296, 36.550659], + [-76.541687, 36.550312], + [-76.541391, 36.550312], + [-76.491497, 36.550365], + [-76.313215, 36.550551], + [-76.313196, 36.550551], + [-76.12236, 36.550621], + [-76.034751, 36.550653], + [-76.02675, 36.550553], + [-75.957648, 36.550553], + [-75.955748, 36.550553], + [-75.953447, 36.550553], + [-75.952847, 36.550553], + [-75.922046, 36.550654], + [-75.911446, 36.550654], + [-75.909046, 36.550654], + [-75.904745, 36.550654], + [-75.903445, 36.550654], + [-75.894145, 36.550754], + [-75.893245, 36.550654], + [-75.891945, 36.550754], + [-75.886545, 36.550754], + [-75.885945, 36.550754], + [-75.880644, 36.550754], + [-75.879744, 36.550754], + [-75.867044, 36.550754], + [-75.874145, 36.583853], + [-75.890946, 36.630753], + [-75.921748, 36.692051], + [-75.94955, 36.76115], + [-75.965451, 36.812449], + [-75.972151, 36.842268], + [-75.991552, 36.910847], + [-75.996252, 36.922047], + [-76.007553, 36.929047], + [-76.013753, 36.930746], + [-76.033454, 36.931946], + [-76.043054, 36.927547], + [-76.058154, 36.916947], + [-76.087955, 36.908647], + [-76.095508, 36.908817], + [-76.139557, 36.923047], + [-76.177019, 36.92929], + [-76.189959, 36.931447], + [-76.22166, 36.939547], + [-76.234961, 36.945147], + [-76.267962, 36.964547], + [-76.285063, 36.968747], + [-76.297663, 36.968147], + [-76.299364, 36.965547], + [-76.315867, 36.955351], + [-76.322764, 36.959147], + [-76.327365, 36.959447], + [-76.330765, 36.938647], + [-76.328864, 36.918447], + [-76.333158, 36.917293], + [-76.344663, 36.919313], + [-76.345569, 36.924531], + [-76.353765, 36.922747], + [-76.385867, 36.923247], + [-76.387567, 36.899547], + [-76.406908, 36.897507], + [-76.407507, 36.897444], + [-76.43122, 36.904532], + [-76.441605, 36.906116], + [-76.447413, 36.90322], + [-76.453941, 36.89274], + [-76.45329, 36.887031], + [-76.454692, 36.884077], + [-76.469914, 36.882898], + [-76.483369, 36.896239], + [-76.482135, 36.901108], + [-76.482407, 36.917364], + [-76.484107, 36.928916], + [-76.487559, 36.952372], + [-76.500355, 36.965212], + [-76.513363, 36.968057], + [-76.521006, 36.973187], + [-76.524142, 36.978316], + [-76.522971, 36.981085], + [-76.524853, 36.983833], + [-76.551246, 36.998946], + [-76.562923, 37.003796], + [-76.565803, 37.007493], + [-76.576617, 37.021374], + [-76.577531, 37.022548], + [-76.57816, 37.022982], + [-76.579236, 37.023726], + [-76.579393, 37.023835], + [-76.584478, 37.027349], + [-76.586491, 37.02874], + [-76.612124, 37.035604], + [-76.646013, 37.036228], + [-76.653998, 37.039172], + [-76.662558, 37.045748], + [-76.66835, 37.05506], + [-76.669822, 37.06426], + [-76.669118, 37.068132], + [-76.668295, 37.072656], + [-76.667646, 37.076228], + [-76.667219, 37.077149], + [-76.666526, 37.078643], + [-76.66555, 37.080746], + [-76.659394, 37.094019], + [-76.65811, 37.096787], + [-76.657703, 37.101161], + [-76.657101, 37.107617], + [-76.656894, 37.109843], + [-76.66375, 37.129979], + [-76.665641, 37.135534], + [-76.665833, 37.136098], + [-76.666542, 37.138179], + [-76.669604, 37.140534], + [-76.671588, 37.14206], + [-76.67147, 37.158739], + [-76.66867, 37.166771], + [-76.66427, 37.171027], + [-76.663774, 37.173875], + [-76.669886, 37.183571], + [-76.685614, 37.198851], + [-76.691918, 37.195731], + [-76.692926, 37.186147], + [-76.696735, 37.174403], + [-76.715295, 37.148035], + [-76.73032, 37.145395], + [-76.73728, 37.146164], + [-76.747632, 37.150548], + [-76.756899, 37.161582], + [-76.796905, 37.189404], + [-76.802511, 37.198308], + [-76.803198, 37.201513], + [-76.801023, 37.206043], + [-76.791555, 37.207564], + [-76.780532, 37.209336], + [-76.773752, 37.206061], + [-76.757765, 37.191658], + [-76.75047, 37.190098], + [-76.74304, 37.192611], + [-76.74, 37.195379], + [-76.73432, 37.204211], + [-76.730951, 37.213813], + [-76.698943, 37.219059], + [-76.693373, 37.221228], + [-76.689166, 37.222866], + [-76.649869, 37.220914], + [-76.641085, 37.216002], + [-76.639608, 37.214783], + [-76.629868, 37.206738], + [-76.623292, 37.198738], + [-76.621113, 37.195103], + [-76.619962, 37.193184], + [-76.61934, 37.192146], + [-76.618008, 37.186429], + [-76.617537, 37.184409], + [-76.616804, 37.18126], + [-76.616268, 37.178962], + [-76.614221, 37.174335], + [-76.613599, 37.172931], + [-76.612517, 37.170486], + [-76.611018, 37.167097], + [-76.610972, 37.166994], + [-76.606684, 37.166674], + [-76.604476, 37.160034], + [-76.617084, 37.144498], + [-76.622252, 37.142146], + [-76.62478, 37.127091], + [-76.618252, 37.119347], + [-76.579499, 37.096627], + [-76.567931, 37.080467], + [-76.564219, 37.077507], + [-76.555066, 37.075859], + [-76.536875, 37.083942], + [-76.528997, 37.079388], + [-76.526203, 37.077773], + [-76.526573, 37.070047], + [-76.527973, 37.068247], + [-76.526273, 37.062947], + [-76.518242, 37.055351], + [-76.512289, 37.054858], + [-76.509339, 37.053173], + [-76.507614, 37.052188], + [-76.46949, 37.030414], + [-76.464471, 37.027547], + [-76.448231, 37.007705], + [-76.449891, 37.004868], + [-76.452461, 37.004603], + [-76.452118, 36.998163], + [-76.428869, 36.969947], + [-76.418969, 36.964047], + [-76.411768, 36.962847], + [-76.408568, 36.969147], + [-76.396368, 36.982347], + [-76.387711, 36.989671], + [-76.383367, 36.993347], + [-76.373567, 36.998347], + [-76.356366, 37.002947], + [-76.348066, 37.006747], + [-76.340666, 37.015246], + [-76.34011, 37.015212], + [-76.329531, 37.014556], + [-76.318065, 37.013846], + [-76.314624, 37.00933], + [-76.315008, 37.001683], + [-76.312048, 37.000371], + [-76.304272, 37.001378], + [-76.300352, 37.00885], + [-76.292863, 37.035145], + [-76.271262, 37.084544], + [-76.274463, 37.094544], + [-76.287236, 37.117453], + [-76.292344, 37.126615], + [-76.311088, 37.138495], + [-76.324353, 37.142895], + [-76.330481, 37.141727], + [-76.334017, 37.144223], + [-76.340129, 37.151823], + [-76.34405, 37.160367], + [-76.344898, 37.164479], + [-76.343234, 37.166207], + [-76.348658, 37.170655], + [-76.35969, 37.16858], + [-76.375255, 37.16084], + [-76.381379, 37.155711], + [-76.394756, 37.157568], + [-76.399659, 37.160272], + [-76.397883, 37.164415], + [-76.391252, 37.179887], + [-76.389284, 37.193503], + [-76.396052, 37.201087], + [-76.3936, 37.214049], + [-76.389793, 37.222981], + [-76.394132, 37.22515], + [-76.471799, 37.216016], + [-76.494008, 37.225408], + [-76.50364, 37.233856], + [-76.4989, 37.241015], + [-76.493302, 37.24947], + [-76.48284, 37.254831], + [-76.475927, 37.250543], + [-76.429141, 37.25331], + [-76.421765, 37.255198], + [-76.417173, 37.26395], + [-76.392788, 37.264973], + [-76.36229, 37.270226], + [-76.349489, 37.273963], + [-76.352556, 37.278334], + [-76.369029, 37.279311], + [-76.381075, 37.28534], + [-76.385603, 37.294108], + [-76.38777, 37.30767], + [-76.406388, 37.332924], + [-76.434965, 37.354524], + [-76.445333, 37.36646], + [-76.437525, 37.37975], + [-76.422503, 37.381355], + [-76.418176, 37.385064], + [-76.418719, 37.3978], + [-76.415167, 37.402133], + [-76.404756, 37.400213], + [-76.393125, 37.398068], + [-76.393958, 37.39594], + [-76.391437, 37.390284], + [-76.387112, 37.385061], + [-76.366751, 37.374495], + [-76.337476, 37.364014], + [-76.31205, 37.338088], + [-76.308581, 37.329366], + [-76.291324, 37.324145], + [-76.282555, 37.319107], + [-76.275552, 37.309964], + [-76.272005, 37.322194], + [-76.272888, 37.335174], + [-76.264847, 37.357399], + [-76.262407, 37.360786], + [-76.258277, 37.36202], + [-76.24846, 37.375135], + [-76.245283, 37.386839], + [-76.246617, 37.404122], + [-76.250454, 37.421886], + [-76.252415, 37.447274], + [-76.265056, 37.481365], + [-76.281043, 37.507821], + [-76.288167, 37.514118], + [-76.293599, 37.516499], + [-76.297651, 37.515424], + [-76.298456, 37.512677], + [-76.296445, 37.511235], + [-76.297739, 37.506863], + [-76.306952, 37.497488], + [-76.32947, 37.49492], + [-76.352678, 37.504913], + [-76.359378, 37.513426], + [-76.360474, 37.51924], + [-76.355084, 37.527364], + [-76.348992, 37.536548], + [-76.339989, 37.53833], + [-76.330598, 37.536391], + [-76.302762, 37.551295], + [-76.29796, 37.557636], + [-76.300144, 37.561734], + [-76.332641, 37.570042], + [-76.357835, 37.573699], + [-76.383188, 37.573056], + [-76.410781, 37.581815], + [-76.420252, 37.598686], + [-76.435474, 37.612807], + [-76.527188, 37.611315], + [-76.533777, 37.61253], + [-76.542666, 37.616857], + [-76.574049, 37.646781], + [-76.583143, 37.661986], + [-76.579591, 37.671508], + [-76.597868, 37.702918], + [-76.598073, 37.70912], + [-76.595943, 37.712989], + [-76.597213, 37.717269], + [-76.606466, 37.724819], + [-76.61997, 37.731271], + [-76.621433, 37.737973], + [-76.617373, 37.742347], + [-76.61971, 37.744795], + [-76.639962, 37.750941], + [-76.663887, 37.751887], + [-76.677002, 37.7561], + [-76.680922, 37.759647], + [-76.683372, 37.765507], + [-76.683359, 37.770258], + [-76.683343, 37.775783], + [-76.681901, 37.778118], + [-76.683775, 37.781391], + [-76.689773, 37.78519], + [-76.715498, 37.785873], + [-76.723863, 37.788503], + [-76.734309, 37.79866], + [-76.7512, 37.824141], + [-76.766328, 37.840437], + [-76.782826, 37.863184], + [-76.784618, 37.869569], + [-76.77539, 37.874306], + [-76.765711, 37.879274], + [-76.747552, 37.875864], + [-76.738395, 37.865373], + [-76.733046, 37.852009], + [-76.72718, 37.842263], + [-76.722156, 37.83668], + [-76.701606, 37.822677], + [-76.692747, 37.82277], + [-76.680197, 37.825654], + [-76.658302, 37.806815], + [-76.651413, 37.796239], + [-76.642276, 37.792317], + [-76.615351, 37.780759], + [-76.602024, 37.772731], + [-76.595939, 37.77168], + [-76.593835, 37.772848], + [-76.584289, 37.76889], + [-76.576387, 37.757493], + [-76.560476, 37.727827], + [-76.54005, 37.704432], + [-76.537228, 37.698892], + [-76.535302, 37.687516], + [-76.537698, 37.66893], + [-76.536548, 37.663574], + [-76.510187, 37.642324], + [-76.501522, 37.643762], + [-76.497564, 37.647056], + [-76.491799, 37.663614], + [-76.489576, 37.666201], + [-76.472392, 37.665772], + [-76.443254, 37.652347], + [-76.399236, 37.628636], + [-76.390054, 37.630326], + [-76.381106, 37.627003], + [-76.36232, 37.610368], + [-76.309174, 37.621892], + [-76.28037, 37.613715], + [-76.279447, 37.618225], + [-76.287959, 37.631771], + [-76.292534, 37.636098], + [-76.306464, 37.642005], + [-76.332562, 37.645817], + [-76.339892, 37.655966], + [-76.324808, 37.676983], + [-76.320216, 37.680666], + [-76.315161, 37.68472], + [-76.312079, 37.684651], + [-76.302545, 37.689], + [-76.300067, 37.695364], + [-76.302803, 37.704474], + [-76.312858, 37.720338], + [-76.304917, 37.729913], + [-76.312108, 37.750522], + [-76.306489, 37.788646], + [-76.310307, 37.794849], + [-76.307482, 37.81235], + [-76.293525, 37.822717], + [-76.284904, 37.822308], + [-76.281985, 37.818068], + [-76.282592, 37.814109], + [-76.280544, 37.812597], + [-76.275178, 37.812664], + [-76.266057, 37.8174], + [-76.251358, 37.833072], + [-76.245072, 37.861918], + [-76.236725, 37.889174], + [-76.265998, 37.91138], + [-76.343848, 37.947345], + [-76.360211, 37.952329], + [-76.391439, 37.958742], + [-76.416299, 37.966828], + [-76.427487, 37.977038], + [-76.462542, 37.998572], + [-76.465291, 38.010226], + [-76.469343, 38.013544], + [-76.491998, 38.017222], + [-76.516547, 38.026566], + [-76.519536, 38.034814], + [-76.522354, 38.04259], + [-76.535919, 38.069532], + [-76.543155, 38.076971], + [-76.579497, 38.09487], + [-76.600937, 38.110084], + [-76.604131, 38.128771], + [-76.613939, 38.148587], + [-76.629476, 38.15305], + [-76.638983, 38.151476], + [-76.643448, 38.14825], + [-76.665127, 38.147638], + [-76.684892, 38.156497], + [-76.701297, 38.155718], + [-76.704048, 38.149264], + [-76.721722, 38.137635], + [-76.738938, 38.14651], + [-76.740278, 38.152824], + [-76.743064, 38.156988], + [-76.749685, 38.162114], + [-76.760241, 38.166581], + [-76.788445, 38.169199], + [-76.802968, 38.167988], + [-76.824274, 38.163639], + [-76.838795, 38.163476], + [-76.875272, 38.172207], + [-76.910832, 38.197073], + [-76.916922, 38.199751], + [-76.937134, 38.202384], + [-76.962311, 38.214075], + [-76.967335, 38.227185], + [-76.966553, 38.229542], + [-76.962375, 38.230093], + [-76.957417, 38.236341], + [-76.957796, 38.243183], + [-76.96215, 38.256486], + [-76.981372, 38.274214], + [-76.990255, 38.273935], + [-76.99767, 38.278047], + [-77.026304, 38.302685], + [-77.030683, 38.311623], + [-77.020947, 38.329273], + [-77.016932, 38.341697], + [-77.011827, 38.374554], + [-77.024866, 38.386791], + [-77.043526, 38.400548], + [-77.051437, 38.399083], + [-77.056032, 38.3962], + [-77.069956, 38.377895], + [-77.08481, 38.368297], + [-77.094665, 38.367715], + [-77.104717, 38.369655], + [-77.138224, 38.367917], + [-77.155191, 38.351047], + [-77.162692, 38.345994], + [-77.17934, 38.341915], + [-77.199433, 38.34089], + [-77.240072, 38.331598], + [-77.265295, 38.333165], + [-77.279633, 38.339444], + [-77.286202, 38.347024], + [-77.286202, 38.347025], + [-77.28835, 38.351286], + [-77.288145, 38.359477], + [-77.296077, 38.369797], + [-77.317288, 38.383576], + [-77.314848, 38.389579], + [-77.312201, 38.390958], + [-77.310719, 38.397669], + [-77.319036, 38.417803], + [-77.32544, 38.44885], + [-77.322622, 38.467131], + [-77.310334, 38.493926], + [-77.302457, 38.504683], + [-77.300776, 38.506978], + [-77.298844, 38.508724], + [-77.29582, 38.511457], + [-77.291103, 38.515721], + [-77.283503, 38.525221], + [-77.276303, 38.53962], + [-77.276603, 38.54712], + [-77.26083, 38.56533], + [-77.265304, 38.580319], + [-77.26443, 38.582845], + [-77.247003, 38.590618], + [-77.246441, 38.599532], + [-77.245104, 38.620717], + [-77.248904, 38.628617], + [-77.246704, 38.635217], + [-77.240604, 38.638917], + [-77.22235, 38.638091], + [-77.216303, 38.637817], + [-77.205103, 38.623917], + [-77.204302, 38.617817], + [-77.202002, 38.617217], + [-77.174902, 38.624217], + [-77.157501, 38.636417], + [-77.1302, 38.635017], + [-77.135901, 38.649817], + [-77.132501, 38.673816], + [-77.121101, 38.686616], + [-77.1059, 38.696815], + [-77.086113, 38.705792], + [-77.074599, 38.711015], + [-77.05991, 38.734419], + [-77.041398, 38.763914], + [-77.039239, 38.7852], + [-77.038598, 38.791513], + [-77.032986, 38.8395], + [-77.031698, 38.850512], + [-77.040599, 38.871212], + [-77.068199, 38.899811], + [-77.0902, 38.904211], + [-77.1012, 38.911111], + [-77.119863, 38.934265], + [-77.1199, 38.934311], + [-77.137701, 38.95531], + [-77.148179, 38.965002], + [-77.166901, 38.96811], + [-77.197502, 38.96681], + [-77.221502, 38.97131], + [-77.235403, 38.97661], + [-77.249803, 38.985909], + [-77.255703, 39.002409], + [-77.251803, 39.011409], + [-77.261403, 39.031009], + [-77.291605, 39.045408], + [-77.328002, 39.058554], + [-77.340287, 39.062991], + [-77.375079, 39.061297], + [-77.42318, 39.066878], + [-77.458202, 39.073723], + [-77.519929, 39.120925], + [-77.524559, 39.127821], + [-77.527282, 39.146236], + [-77.516426, 39.170891], + [-77.510631, 39.178484], + [-77.505162, 39.18205], + [-77.485971, 39.185665], + [-77.478596, 39.189168], + [-77.458884, 39.219826], + [-77.458779, 39.22028], + [-77.45768, 39.22502], + [-77.46021, 39.228359], + [-77.484605, 39.245941], + [-77.511222, 39.2535], + [-77.534461, 39.262361], + [-77.543228, 39.266937], + [-77.545846, 39.271535], + [-77.560854, 39.286152], + [-77.592739, 39.30129], + [-77.667749, 39.318129], + [-77.677505, 39.318699], + [-77.719029, 39.321125], + [-77.750267, 39.289284], + [-77.753357, 39.280331], + [-77.75306, 39.277971], + [-77.753105, 39.27734], + [-77.755193, 39.275191], + [-77.755698, 39.274575], + [-77.758412, 39.269197], + [-77.758733, 39.268114], + [-77.761217, 39.263721], + [-77.761768, 39.263031], + [-77.768, 39.257657], + [-77.768992, 39.256417], + [-77.767277, 39.24938], + [-77.771415, 39.236776], + [-77.822182, 39.139985], + [-77.828157, 39.132329], + [-78.032841, 39.264403], + [-78.033183, 39.264624], + [-78.033185, 39.264626], + [-78.228766, 39.391233], + [-78.347087, 39.466012], + [-78.362267, 39.357784], + [-78.34048, 39.353492], + [-78.35894, 39.319484], + [-78.360035, 39.317771], + [-78.399785, 39.244129], + [-78.399669, 39.243874], + [-78.423968, 39.212049], + [-78.427911, 39.208611], + [-78.429803, 39.207014], + [-78.431167, 39.205744], + [-78.43213, 39.204717], + [-78.437053, 39.199766], + [-78.438651, 39.198049], + [-78.426722, 39.188903], + [-78.41074, 39.171983], + [-78.418377, 39.156656], + [-78.439429, 39.132146], + [-78.459869, 39.113351], + [-78.508132, 39.08863], + [-78.544111, 39.056676], + [-78.571901, 39.031995], + [-78.565837, 39.026303], + [-78.554222, 39.019672], + [-78.557647, 39.013189], + [-78.601655, 38.964603], + [-78.710949, 38.910175], + [-78.714135, 38.911176], + [-78.716956, 38.916273], + [-78.719755, 38.922135], + [-78.719806, 38.922638], + [-78.757278, 38.903203], + [-78.779198, 38.892298], + [-78.788031, 38.885123], + [-78.808181, 38.856175], + [-78.835191, 38.811499], + [-78.869276, 38.762991] + ], + [ + [-78.8214111328125, 38.45789034424927], + [-78.8214111328125, 38.66406704456943], + [-78.5247802734375, 38.66406704456943], + [-78.5247802734375, 38.45789034424927], + [-78.8214111328125, 38.45789034424927] + ], + [ + [-78.2940673828125, 39.138581990583525], + [-78.2940673828125, 39.30029918615032], + [-78.145751953125, 39.30029918615032], + [-78.145751953125, 39.138581990583525], + [-78.2940673828125, 39.138581990583525] + ] + ] + }, + "properties": { + "stroke": "#080", + "fill": "#080", + "stroke-width": 6, + "fill-opacity": 0.1 + }, + "type": "Feature" + }, + { + "type": "Feature", + "properties": { + "stroke": "#F00", + "fill": "#F00", + "stroke-width": 6, + "fill-opacity": 0.1 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-78.869276, 38.762991], + [-78.993997, 38.850102], + [-78.999752, 38.846162], + [-79.055354, 38.782213], + [-79.057253, 38.761413], + [-79.092555, 38.700149], + [-79.092271, 38.699208], + [-79.135472, 38.644057], + [-79.135546, 38.643715], + [-79.136374, 38.6424], + [-79.137012, 38.640655], + [-79.146741, 38.625819], + [-79.146974, 38.625641], + [-79.174512, 38.566531], + [-79.174881, 38.566314], + [-79.207884, 38.500428], + [-79.207873, 38.500122], + [-79.209703, 38.495574], + [-79.210008, 38.494283], + [-79.210026, 38.494231], + [-79.225839, 38.479446], + [-79.23162, 38.474041], + [-79.234408, 38.473011], + [-79.240059, 38.469841], + [-79.242024, 38.464332], + [-79.26291, 38.444586], + [-79.263376, 38.443762], + [-79.265327, 38.441772], + [-79.267414, 38.438322], + [-79.282663, 38.431021], + [-79.280263, 38.425475], + [-79.290529, 38.420757], + [-79.291813, 38.419627], + [-79.295712, 38.418129], + [-79.297758, 38.416438], + [-79.312276, 38.411876], + [-79.476638, 38.457228], + [-79.521469, 38.533918], + [-79.53687, 38.550917], + [-79.555471, 38.560217], + [-79.597955, 38.572767], + [-79.60693359375, 38.576059853592035], + [-79.60693359375, 36.5413754414481], + [-79.510961, 36.54074], + [-79.510647, 36.540738], + [-79.470047, 36.541025], + [-79.445961, 36.541195], + [-79.445687, 36.541218], + [-79.342696, 36.541382], + [-79.218638, 36.541579], + [-79.20948, 36.541594], + [-79.208686, 36.541571], + [-79.137936, 36.541739], + [-79.126078, 36.541533], + [-79.124736, 36.541568], + [-78.971814, 36.542123], + [-78.970577, 36.542154], + [-78.942254, 36.542079], + [-78.942009, 36.542113], + [-78.91542, 36.541974], + [-78.914543, 36.541972], + [-78.7963, 36.541713], + [-78.76543, 36.541727], + [-78.758392, 36.541852], + [-78.734122, 36.541902], + [-78.670051, 36.542035], + [-78.663317, 36.542011], + [-78.533013, 36.541004], + [-78.529722, 36.540981], + [-78.471022, 36.542307], + [-78.470792, 36.542316], + [-78.45697, 36.542474], + [-78.441199, 36.542687], + [-78.436333, 36.542666], + [-78.323912, 36.543809], + [-78.246681, 36.544341], + [-78.245462, 36.544411], + [-78.133323, 36.543847], + [-78.132911, 36.543811], + [-78.046202, 36.544168], + [-78.03942, 36.544196], + [-78.038938, 36.544173], + [-77.899771, 36.544663], + [-77.882357, 36.544737], + [-77.87528, 36.544754], + [-77.767117, 36.544752], + [-77.296875, 36.544746], + [-77.24969, 36.544745], + [-77.1645, 36.54633], + [-76.916048, 36.543815], + [-76.916001, 36.543818], + [-76.915384, 36.543856], + [-76.807078, 36.550606], + [-76.781296, 36.550659], + [-76.717529296875, 36.55056665352727], + [-76.717529296875, 37.147642418053245], + [-76.73032, 37.145395], + [-76.73728, 37.146164], + [-76.747632, 37.150548], + [-76.756899, 37.161582], + [-76.796905, 37.189404], + [-76.802511, 37.198308], + [-76.803198, 37.201513], + [-76.801023, 37.206043], + [-76.791555, 37.207564], + [-76.780532, 37.209336], + [-76.773752, 37.206061], + [-76.757765, 37.191658], + [-76.75047, 37.190098], + [-76.74304, 37.192611], + [-76.74, 37.195379], + [-76.73432, 37.204211], + [-76.730951, 37.213813], + [-76.717529296875, 37.21601277051343], + [-76.717529296875, 37.78651165042215], + [-76.723863, 37.788503], + [-76.734309, 37.79866], + [-76.7512, 37.824141], + [-76.766328, 37.840437], + [-76.782826, 37.863184], + [-76.784618, 37.869569], + [-76.77539, 37.874306], + [-76.765711, 37.879274], + [-76.747552, 37.875864], + [-76.738395, 37.865373], + [-76.733046, 37.852009], + [-76.72718, 37.842263], + [-76.722156, 37.83668], + [-76.717529296875, 37.833527312707574], + [-76.717529296875, 38.14039368194187], + [-76.721722, 38.137635], + [-76.738938, 38.14651], + [-76.740278, 38.152824], + [-76.743064, 38.156988], + [-76.749685, 38.162114], + [-76.760241, 38.166581], + [-76.788445, 38.169199], + [-76.802968, 38.167988], + [-76.824274, 38.163639], + [-76.838795, 38.163476], + [-76.875272, 38.172207], + [-76.910832, 38.197073], + [-76.916922, 38.199751], + [-76.937134, 38.202384], + [-76.962311, 38.214075], + [-76.967335, 38.227185], + [-76.966553, 38.229542], + [-76.962375, 38.230093], + [-76.957417, 38.236341], + [-76.957796, 38.243183], + [-76.96215, 38.256486], + [-76.981372, 38.274214], + [-76.990255, 38.273935], + [-76.99767, 38.278047], + [-77.026304, 38.302685], + [-77.030683, 38.311623], + [-77.020947, 38.329273], + [-77.016932, 38.341697], + [-77.011827, 38.374554], + [-77.024866, 38.386791], + [-77.043526, 38.400548], + [-77.051437, 38.399083], + [-77.056032, 38.3962], + [-77.069956, 38.377895], + [-77.08481, 38.368297], + [-77.094665, 38.367715], + [-77.104717, 38.369655], + [-77.138224, 38.367917], + [-77.155191, 38.351047], + [-77.162692, 38.345994], + [-77.17934, 38.341915], + [-77.199433, 38.34089], + [-77.240072, 38.331598], + [-77.265295, 38.333165], + [-77.279633, 38.339444], + [-77.286202, 38.347024], + [-77.286202, 38.347025], + [-77.28835, 38.351286], + [-77.288145, 38.359477], + [-77.296077, 38.369797], + [-77.317288, 38.383576], + [-77.314848, 38.389579], + [-77.312201, 38.390958], + [-77.310719, 38.397669], + [-77.319036, 38.417803], + [-77.32544, 38.44885], + [-77.322622, 38.467131], + [-77.310334, 38.493926], + [-77.302457, 38.504683], + [-77.300776, 38.506978], + [-77.298844, 38.508724], + [-77.29582, 38.511457], + [-77.291103, 38.515721], + [-77.283503, 38.525221], + [-77.276303, 38.53962], + [-77.276603, 38.54712], + [-77.26083, 38.56533], + [-77.265304, 38.580319], + [-77.26443, 38.582845], + [-77.247003, 38.590618], + [-77.246441, 38.599532], + [-77.245104, 38.620717], + [-77.248904, 38.628617], + [-77.246704, 38.635217], + [-77.240604, 38.638917], + [-77.22235, 38.638091], + [-77.216303, 38.637817], + [-77.205103, 38.623917], + [-77.204302, 38.617817], + [-77.202002, 38.617217], + [-77.174902, 38.624217], + [-77.157501, 38.636417], + [-77.1302, 38.635017], + [-77.135901, 38.649817], + [-77.132501, 38.673816], + [-77.121101, 38.686616], + [-77.1059, 38.696815], + [-77.086113, 38.705792], + [-77.074599, 38.711015], + [-77.05991, 38.734419], + [-77.041398, 38.763914], + [-77.039239, 38.7852], + [-77.038598, 38.791513], + [-77.032986, 38.8395], + [-77.031698, 38.850512], + [-77.040599, 38.871212], + [-77.068199, 38.899811], + [-77.0902, 38.904211], + [-77.1012, 38.911111], + [-77.119863, 38.934265], + [-77.1199, 38.934311], + [-77.137701, 38.95531], + [-77.148179, 38.965002], + [-77.166901, 38.96811], + [-77.197502, 38.96681], + [-77.221502, 38.97131], + [-77.235403, 38.97661], + [-77.249803, 38.985909], + [-77.255703, 39.002409], + [-77.251803, 39.011409], + [-77.261403, 39.031009], + [-77.291605, 39.045408], + [-77.328002, 39.058554], + [-77.340287, 39.062991], + [-77.375079, 39.061297], + [-77.42318, 39.066878], + [-77.458202, 39.073723], + [-77.46498265519503, 39.07890809706475], + [-78.51907849639193, 39.07890809706475], + [-78.544111, 39.056676], + [-78.571901, 39.031995], + [-78.565837, 39.026303], + [-78.554222, 39.019672], + [-78.557647, 39.013189], + [-78.601655, 38.964603], + [-78.710949, 38.910175], + [-78.714135, 38.911176], + [-78.716956, 38.916273], + [-78.719755, 38.922135], + [-78.719806, 38.922638], + [-78.757278, 38.903203], + [-78.779198, 38.892298], + [-78.788031, 38.885123], + [-78.808181, 38.856175], + [-78.835191, 38.811499], + [-78.869276, 38.762991] + ], + [ + [-78.8214111328125, 38.45789034424927], + [-78.8214111328125, 38.66406704456943], + [-78.5247802734375, 38.66406704456943], + [-78.5247802734375, 38.45789034424927], + [-78.8214111328125, 38.45789034424927] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "stroke": "#00F", + "fill": "#00F", + "stroke-width": 3, + "fill-opacity": 0.1 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-79.60693359375, 36.38591277287651], + [-76.717529296875, 36.38591277287651], + [-76.717529296875, 39.07890809706475], + [-79.60693359375, 39.07890809706475], + [-79.60693359375, 36.38591277287651] + ] + ] + } + } + ] +} diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-point-intersection.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-point-intersection.geojson new file mode 100755 index 0000000..e1f2e7a --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon-point-intersection.geojson @@ -0,0 +1,64 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "stroke": "#080", + "fill": "#080", + "stroke-width": 6, + "fill-opacity": 0.1 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [115.872872384, -31.977789227500004], + [115.87413347200001, -31.978896027], + [115.874207392, -31.978955634], + [115.874293312, -31.978886666], + [115.875, -31.9782948325], + [115.873511744, -31.977027638], + [115.8731464, -31.977071372], + [115.872185504, -31.9771863865], + [115.872872384, -31.977789227500004] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "stroke": "#F00", + "fill": "#F00", + "stroke-width": 6, + "fill-opacity": 0.1 + }, + "geometry": { + "type": "Polygon", + "coordinates": [] + } + }, + { + "type": "Feature", + "properties": { + "stroke": "#00F", + "fill": "#00F", + "stroke-width": 3, + "fill-opacity": 0.1 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [115.875, -31.98], + [115.88, -31.98], + [115.88, -31.975], + [115.875, -31.975], + [115.875, -31.98] + ] + ] + } + } + ] +} diff --git a/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon.geojson b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon.geojson new file mode 100755 index 0000000..747fd31 --- /dev/null +++ b/Tests/GeoJSONKitTurfTests/Fixtures/bbox-clip/out/polygon.geojson @@ -0,0 +1,1657 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-78.869276, 38.762991], + [-78.993997, 38.850102], + [-78.999752, 38.846162], + [-79.055354, 38.782213], + [-79.057253, 38.761413], + [-79.092555, 38.700149], + [-79.092271, 38.699208], + [-79.135472, 38.644057], + [-79.135546, 38.643715], + [-79.136374, 38.6424], + [-79.137012, 38.640655], + [-79.146741, 38.625819], + [-79.146974, 38.625641], + [-79.174512, 38.566531], + [-79.174881, 38.566314], + [-79.207884, 38.500428], + [-79.207873, 38.500122], + [-79.209703, 38.495574], + [-79.210008, 38.494283], + [-79.210026, 38.494231], + [-79.225839, 38.479446], + [-79.23162, 38.474041], + [-79.234408, 38.473011], + [-79.240059, 38.469841], + [-79.242024, 38.464332], + [-79.26291, 38.444586], + [-79.263376, 38.443762], + [-79.265327, 38.441772], + [-79.267414, 38.438322], + [-79.282663, 38.431021], + [-79.280263, 38.425475], + [-79.290529, 38.420757], + [-79.291813, 38.419627], + [-79.295712, 38.418129], + [-79.297758, 38.416438], + [-79.312276, 38.411876], + [-79.476638, 38.457228], + [-79.521469, 38.533918], + [-79.53687, 38.550917], + [-79.555471, 38.560217], + [-79.597955, 38.572767], + [-79.649075, 38.591515], + [-79.669128, 38.510975], + [-79.669128, 38.510883], + [-79.695565, 38.477842], + [-79.699006, 38.475148], + [-79.688205, 38.450476], + [-79.688962, 38.449538], + [-79.689544, 38.442511], + [-79.691377, 38.439558], + [-79.731661, 38.374143], + [-79.808711, 38.309429], + [-79.810115, 38.305037], + [-79.788945, 38.268703], + [-79.790134, 38.267654], + [-79.794568, 38.264856], + [-79.891999, 38.203378], + [-79.892345, 38.202397], + [-79.916174, 38.184386], + [-79.917061, 38.183741], + [-79.921196, 38.180378], + [-79.921026, 38.179954], + [-79.925251, 38.150465], + [-79.925512, 38.150237], + [-79.928683, 38.144928], + [-79.928747, 38.144436], + [-79.933751, 38.135508], + [-79.938394, 38.130563], + [-79.931034, 38.101402], + [-79.933911, 38.099168], + [-79.959844, 38.063697], + [-79.978427, 38.029082], + [-80.002507, 37.992767], + [-80.055278, 37.951702], + [-80.130464, 37.893194], + [-80.14613, 37.884453], + [-80.147316, 37.885936], + [-80.148964, 37.886057], + [-80.162202, 37.875122], + [-80.227092, 37.798886], + [-80.231551, 37.792591], + [-80.257411, 37.756084], + [-80.262765, 37.738336], + [-80.260313, 37.733517], + [-80.259342, 37.731205], + [-80.263936, 37.719137], + [-80.287107, 37.696403], + [-80.296138, 37.691783], + [-80.292337, 37.683976], + [-80.292258, 37.683732], + [-80.270323, 37.648982], + [-80.270352, 37.648929], + [-80.267455, 37.646108], + [-80.267228, 37.646011], + [-80.264874, 37.645511], + [-80.26483, 37.645526], + [-80.263291, 37.645101], + [-80.263281, 37.645082], + [-80.254469, 37.642333], + [-80.254431, 37.642352], + [-80.239288, 37.637672], + [-80.220984, 37.627767], + [-80.223386, 37.623185], + [-80.240272, 37.606961], + [-80.288766, 37.58196], + [-80.312393, 37.546239], + [-80.330306, 37.536244], + [-80.314806, 37.500943], + [-80.320627, 37.49888], + [-80.425656, 37.449876], + [-80.443025, 37.438126], + [-80.46482, 37.426144], + [-80.475601, 37.422949], + [-80.494867, 37.43507], + [-80.511391, 37.481672], + [-80.622664, 37.433307], + [-80.770082, 37.372363], + [-80.776649, 37.383679], + [-80.776766, 37.384131], + [-80.798869, 37.395807], + [-80.811639, 37.407507], + [-80.85836, 37.428168], + [-80.858473, 37.428301], + [-80.859556, 37.429568], + [-80.859558, 37.429555], + [-80.862761, 37.411829], + [-80.872589, 37.372347], + [-80.849451, 37.346909], + [-80.900535, 37.315], + [-80.919259, 37.306163], + [-80.947896, 37.295872], + [-80.966556, 37.292158], + [-80.973889, 37.291444], + [-80.980044, 37.293118], + [-80.981322, 37.293465], + [-81.034652, 37.290751], + [-81.084012, 37.284401], + [-81.112596, 37.278497], + [-81.167029, 37.262881], + [-81.204774, 37.243013], + [-81.225104, 37.234874], + [-81.320105, 37.299323], + [-81.362156, 37.337687], + [-81.366315, 37.335927], + [-81.367052, 37.334504], + [-81.36809, 37.332423], + [-81.369379, 37.331827], + [-81.367599, 37.327569], + [-81.371315, 37.324115], + [-81.377349, 37.318447], + [-81.380159, 37.317838], + [-81.384127, 37.318596], + [-81.384914, 37.318832], + [-81.38581, 37.320085], + [-81.386727, 37.320474], + [-81.388132, 37.319903], + [-81.409196, 37.286071], + [-81.409729, 37.284837], + [-81.504168, 37.250115], + [-81.50488, 37.247697], + [-81.507325, 37.2338], + [-81.557315, 37.207697], + [-81.558353, 37.208145], + [-81.560625, 37.206663], + [-81.678603, 37.202467], + [-81.683544, 37.211452], + [-81.728194, 37.239823], + [-81.73332, 37.238127], + [-81.738378, 37.240917], + [-81.744291, 37.244178], + [-81.74342, 37.245858], + [-81.743505, 37.247601], + [-81.747656, 37.264329], + [-81.75129, 37.265131], + [-81.752123, 37.265568], + [-81.752912, 37.266614], + [-81.755012, 37.26772], + [-81.757531, 37.27001], + [-81.757714, 37.271124], + [-81.75773, 37.271934], + [-81.757631, 37.274003], + [-81.76022, 37.275254], + [-81.761752, 37.275713], + [-81.762776, 37.275391], + [-81.763836, 37.275218], + [-81.765195, 37.275099], + [-81.767837, 37.274216], + [-81.774684, 37.274807], + [-81.774747, 37.274847], + [-81.793425, 37.281674], + [-81.793639, 37.282188], + [-81.809184, 37.283003], + [-81.810559, 37.28298], + [-81.84231, 37.285556], + [-81.843167, 37.285586], + [-81.854059, 37.291352], + [-81.853488, 37.294763], + [-81.854465, 37.299937], + [-81.853978, 37.300418], + [-81.86476, 37.308404], + [-81.865219, 37.308839], + [-81.873213, 37.325065], + [-81.878343, 37.328837], + [-81.878713, 37.331753], + [-81.879601, 37.332074], + [-81.880886, 37.331146], + [-81.885075, 37.330665], + [-81.886952, 37.330725], + [-81.887722, 37.331156], + [-81.892876, 37.330134], + [-81.893773, 37.330105], + [-81.894768, 37.331381], + [-81.894797, 37.332012], + [-81.895489, 37.332022], + [-81.896001, 37.331967], + [-81.899459, 37.340277], + [-81.899495, 37.341102], + [-81.902992, 37.34234], + [-81.903795, 37.34305], + [-81.905945, 37.342775], + [-81.906368, 37.34276], + [-81.907322, 37.343119], + [-81.907895, 37.343783], + [-81.910875, 37.348729], + [-81.911487, 37.348839], + [-81.920711, 37.355416], + [-81.921571, 37.356423], + [-81.925643, 37.357316], + [-81.926589, 37.358942], + [-81.929915, 37.366589], + [-81.930194, 37.366728], + [-81.933895, 37.372747], + [-81.92749, 37.413251], + [-81.935621, 37.438397], + [-81.949367, 37.445687], + [-81.968795, 37.451496], + [-81.987006, 37.454878], + [-81.99227, 37.460916], + [-81.996578, 37.476705], + [-81.992916, 37.482969], + [-81.94264, 37.508844], + [-81.92787, 37.512118], + [-81.968297, 37.537798], + [-82.291908, 37.311642], + [-82.305874, 37.3011], + [-82.310793, 37.297387], + [-82.350948, 37.267077], + [-82.510826, 37.218091], + [-82.553549, 37.200867], + [-82.565329, 37.196118], + [-82.565375, 37.196092], + [-82.624878, 37.162932], + [-82.721941, 37.105689], + [-82.720597, 37.081833], + [-82.722472, 37.045101], + [-82.771795, 37.015716], + [-82.777368, 37.015279], + [-82.788897, 37.00816], + [-82.789092, 37.007995], + [-82.790462, 37.007263], + [-82.79089, 37.00676], + [-82.800531, 37.007944], + [-82.815748, 37.007196], + [-82.818006, 37.006161], + [-82.830588, 37.000945], + [-82.829125, 36.997541], + [-82.830802, 36.993445], + [-82.833843, 36.991973], + [-82.836008, 36.988837], + [-82.838549, 36.987027], + [-82.840051, 36.987113], + [-82.851397, 36.984497], + [-82.852614, 36.984963], + [-82.862926, 36.979975], + [-82.864909, 36.97901], + [-82.866019, 36.978272], + [-82.866689, 36.978052], + [-82.867535, 36.977518], + [-82.868455, 36.976481], + [-82.869183, 36.974183], + [-82.869183, 36.974182], + [-82.870274, 36.965993], + [-82.87023, 36.965498], + [-82.867358, 36.963182], + [-82.865404, 36.958084], + [-82.864211, 36.957983], + [-82.862866, 36.957765], + [-82.860534, 36.956015], + [-82.858443, 36.954036], + [-82.855705, 36.953808], + [-82.856099, 36.952471], + [-82.860633, 36.94584], + [-82.861282, 36.944848], + [-82.861684, 36.939316], + [-82.860537, 36.937439], + [-82.858784, 36.933065], + [-82.858461, 36.932717], + [-82.861943, 36.924236], + [-82.863468, 36.922308], + [-82.872136, 36.913456], + [-82.873777, 36.912299], + [-82.885618, 36.900415], + [-82.91169, 36.874248], + [-82.911824, 36.874243], + [-82.973395, 36.859097], + [-83.07259, 36.854589], + [-83.099792, 36.824889], + [-83.131694, 36.781488], + [-83.131245, 36.767105], + [-83.125655, 36.761407], + [-83.125728, 36.761276], + [-83.127833, 36.750828], + [-83.136395, 36.743088], + [-83.167396, 36.739187], + [-83.199698, 36.737487], + [-83.342804, 36.701286], + [-83.353613, 36.696699], + [-83.354606, 36.696153], + [-83.460808, 36.664885], + [-83.461013, 36.664916], + [-83.498011, 36.670485], + [-83.527212, 36.665984], + [-83.649513, 36.616683], + [-83.675413, 36.600814], + [-83.670141, 36.600797], + [-83.670128, 36.600764], + [-83.472108, 36.597284], + [-83.2763, 36.598187], + [-83.250304, 36.593935], + [-83.249899, 36.593898], + [-83.248933, 36.593827], + [-83.028357, 36.593893], + [-83.02725, 36.593847], + [-82.985087, 36.593829], + [-82.830433, 36.593761], + [-82.69578, 36.593698], + [-82.679879, 36.593698], + [-82.609176, 36.594099], + [-82.561074, 36.5948], + [-82.559774, 36.5948], + [-82.554294, 36.594876], + [-82.293814, 36.595565], + [-82.243274, 36.595699], + [-82.226653, 36.595743], + [-82.225716, 36.595744], + [-82.223445, 36.595721], + [-82.221713, 36.595814], + [-82.211005, 36.59586], + [-82.210497, 36.595772], + [-82.188491, 36.595179], + [-82.18074, 36.594928], + [-82.177247, 36.594768], + [-82.173982, 36.594607], + [-82.150727, 36.594673], + [-82.148569, 36.594718], + [-82.14607, 36.594712], + [-81.934144, 36.594213], + [-81.922644, 36.616213], + [-81.826742, 36.614215], + [-81.6469, 36.611918], + [-81.677535, 36.588117], + [-81.60697, 36.587094], + [-81.521032, 36.58052], + [-81.353322, 36.574723], + [-81.353169, 36.574724], + [-81.307511, 36.575024], + [-81.061866, 36.56702], + [-81.058844, 36.566976], + [-80.945988, 36.563196], + [-80.944338, 36.563058], + [-80.901836, 36.561754], + [-80.901726, 36.561751], + [-80.837954, 36.559131], + [-80.837641, 36.559118], + [-80.837089, 36.559154], + [-80.744101, 36.561686], + [-80.687539, 36.561411], + [-80.612158, 36.558127], + [-80.4401, 36.55063], + [-80.432628, 36.550302], + [-80.431605, 36.550219], + [-80.228263, 36.543867], + [-80.225408, 36.543748], + [-80.171636, 36.543219], + [-80.169535, 36.54319], + [-80.053455, 36.542623], + [-80.027269, 36.542495], + [-79.967511, 36.542502], + [-79.966979, 36.542475], + [-79.920239, 36.542365], + [-79.714855, 36.541884], + [-79.667309, 36.541772], + [-79.666827, 36.541772], + [-79.510961, 36.54074], + [-79.510647, 36.540738], + [-79.470047, 36.541025], + [-79.445961, 36.541195], + [-79.445687, 36.541218], + [-79.342696, 36.541382], + [-79.218638, 36.541579], + [-79.20948, 36.541594], + [-79.208686, 36.541571], + [-79.137936, 36.541739], + [-79.126078, 36.541533], + [-79.124736, 36.541568], + [-78.971814, 36.542123], + [-78.970577, 36.542154], + [-78.942254, 36.542079], + [-78.942009, 36.542113], + [-78.91542, 36.541974], + [-78.914543, 36.541972], + [-78.7963, 36.541713], + [-78.76543, 36.541727], + [-78.758392, 36.541852], + [-78.734122, 36.541902], + [-78.670051, 36.542035], + [-78.663317, 36.542011], + [-78.533013, 36.541004], + [-78.529722, 36.540981], + [-78.471022, 36.542307], + [-78.470792, 36.542316], + [-78.45697, 36.542474], + [-78.441199, 36.542687], + [-78.436333, 36.542666], + [-78.323912, 36.543809], + [-78.246681, 36.544341], + [-78.245462, 36.544411], + [-78.133323, 36.543847], + [-78.132911, 36.543811], + [-78.046202, 36.544168], + [-78.03942, 36.544196], + [-78.038938, 36.544173], + [-77.899771, 36.544663], + [-77.882357, 36.544737], + [-77.87528, 36.544754], + [-77.767117, 36.544752], + [-77.296875, 36.544746], + [-77.24969, 36.544745], + [-77.1645, 36.54633], + [-76.916048, 36.543815], + [-76.916001, 36.543818], + [-76.915384, 36.543856], + [-76.807078, 36.550606], + [-76.781296, 36.550659], + [-76.541687, 36.550312], + [-76.541391, 36.550312], + [-76.491497, 36.550365], + [-76.313215, 36.550551], + [-76.313196, 36.550551], + [-76.12236, 36.550621], + [-76.034751, 36.550653], + [-76.02675, 36.550553], + [-75.957648, 36.550553], + [-75.955748, 36.550553], + [-75.953447, 36.550553], + [-75.952847, 36.550553], + [-75.922046, 36.550654], + [-75.911446, 36.550654], + [-75.909046, 36.550654], + [-75.904745, 36.550654], + [-75.903445, 36.550654], + [-75.894145, 36.550754], + [-75.893245, 36.550654], + [-75.891945, 36.550754], + [-75.886545, 36.550754], + [-75.885945, 36.550754], + [-75.880644, 36.550754], + [-75.879744, 36.550754], + [-75.867044, 36.550754], + [-75.874145, 36.583853], + [-75.890946, 36.630753], + [-75.921748, 36.692051], + [-75.94955, 36.76115], + [-75.965451, 36.812449], + [-75.972151, 36.842268], + [-75.991552, 36.910847], + [-75.996252, 36.922047], + [-76.007553, 36.929047], + [-76.013753, 36.930746], + [-76.033454, 36.931946], + [-76.043054, 36.927547], + [-76.058154, 36.916947], + [-76.087955, 36.908647], + [-76.095508, 36.908817], + [-76.139557, 36.923047], + [-76.177019, 36.92929], + [-76.189959, 36.931447], + [-76.22166, 36.939547], + [-76.234961, 36.945147], + [-76.267962, 36.964547], + [-76.285063, 36.968747], + [-76.297663, 36.968147], + [-76.299364, 36.965547], + [-76.315867, 36.955351], + [-76.322764, 36.959147], + [-76.327365, 36.959447], + [-76.330765, 36.938647], + [-76.328864, 36.918447], + [-76.333158, 36.917293], + [-76.344663, 36.919313], + [-76.345569, 36.924531], + [-76.353765, 36.922747], + [-76.385867, 36.923247], + [-76.387567, 36.899547], + [-76.406908, 36.897507], + [-76.407507, 36.897444], + [-76.43122, 36.904532], + [-76.441605, 36.906116], + [-76.447413, 36.90322], + [-76.453941, 36.89274], + [-76.45329, 36.887031], + [-76.454692, 36.884077], + [-76.469914, 36.882898], + [-76.483369, 36.896239], + [-76.482135, 36.901108], + [-76.482407, 36.917364], + [-76.484107, 36.928916], + [-76.487559, 36.952372], + [-76.500355, 36.965212], + [-76.513363, 36.968057], + [-76.521006, 36.973187], + [-76.524142, 36.978316], + [-76.522971, 36.981085], + [-76.524853, 36.983833], + [-76.551246, 36.998946], + [-76.562923, 37.003796], + [-76.565803, 37.007493], + [-76.576617, 37.021374], + [-76.577531, 37.022548], + [-76.57816, 37.022982], + [-76.579236, 37.023726], + [-76.579393, 37.023835], + [-76.584478, 37.027349], + [-76.586491, 37.02874], + [-76.612124, 37.035604], + [-76.646013, 37.036228], + [-76.653998, 37.039172], + [-76.662558, 37.045748], + [-76.66835, 37.05506], + [-76.669822, 37.06426], + [-76.669118, 37.068132], + [-76.668295, 37.072656], + [-76.667646, 37.076228], + [-76.667219, 37.077149], + [-76.666526, 37.078643], + [-76.66555, 37.080746], + [-76.659394, 37.094019], + [-76.65811, 37.096787], + [-76.657703, 37.101161], + [-76.657101, 37.107617], + [-76.656894, 37.109843], + [-76.66375, 37.129979], + [-76.665641, 37.135534], + [-76.665833, 37.136098], + [-76.666542, 37.138179], + [-76.669604, 37.140534], + [-76.671588, 37.14206], + [-76.67147, 37.158739], + [-76.66867, 37.166771], + [-76.66427, 37.171027], + [-76.663774, 37.173875], + [-76.669886, 37.183571], + [-76.685614, 37.198851], + [-76.691918, 37.195731], + [-76.692926, 37.186147], + [-76.696735, 37.174403], + [-76.715295, 37.148035], + [-76.73032, 37.145395], + [-76.73728, 37.146164], + [-76.747632, 37.150548], + [-76.756899, 37.161582], + [-76.796905, 37.189404], + [-76.802511, 37.198308], + [-76.803198, 37.201513], + [-76.801023, 37.206043], + [-76.791555, 37.207564], + [-76.780532, 37.209336], + [-76.773752, 37.206061], + [-76.757765, 37.191658], + [-76.75047, 37.190098], + [-76.74304, 37.192611], + [-76.74, 37.195379], + [-76.73432, 37.204211], + [-76.730951, 37.213813], + [-76.698943, 37.219059], + [-76.693373, 37.221228], + [-76.689166, 37.222866], + [-76.649869, 37.220914], + [-76.641085, 37.216002], + [-76.639608, 37.214783], + [-76.629868, 37.206738], + [-76.623292, 37.198738], + [-76.621113, 37.195103], + [-76.619962, 37.193184], + [-76.61934, 37.192146], + [-76.618008, 37.186429], + [-76.617537, 37.184409], + [-76.616804, 37.18126], + [-76.616268, 37.178962], + [-76.614221, 37.174335], + [-76.613599, 37.172931], + [-76.612517, 37.170486], + [-76.611018, 37.167097], + [-76.610972, 37.166994], + [-76.606684, 37.166674], + [-76.604476, 37.160034], + [-76.617084, 37.144498], + [-76.622252, 37.142146], + [-76.62478, 37.127091], + [-76.618252, 37.119347], + [-76.579499, 37.096627], + [-76.567931, 37.080467], + [-76.564219, 37.077507], + [-76.555066, 37.075859], + [-76.536875, 37.083942], + [-76.528997, 37.079388], + [-76.526203, 37.077773], + [-76.526573, 37.070047], + [-76.527973, 37.068247], + [-76.526273, 37.062947], + [-76.518242, 37.055351], + [-76.512289, 37.054858], + [-76.509339, 37.053173], + [-76.507614, 37.052188], + [-76.46949, 37.030414], + [-76.464471, 37.027547], + [-76.448231, 37.007705], + [-76.449891, 37.004868], + [-76.452461, 37.004603], + [-76.452118, 36.998163], + [-76.428869, 36.969947], + [-76.418969, 36.964047], + [-76.411768, 36.962847], + [-76.408568, 36.969147], + [-76.396368, 36.982347], + [-76.387711, 36.989671], + [-76.383367, 36.993347], + [-76.373567, 36.998347], + [-76.356366, 37.002947], + [-76.348066, 37.006747], + [-76.340666, 37.015246], + [-76.34011, 37.015212], + [-76.329531, 37.014556], + [-76.318065, 37.013846], + [-76.314624, 37.00933], + [-76.315008, 37.001683], + [-76.312048, 37.000371], + [-76.304272, 37.001378], + [-76.300352, 37.00885], + [-76.292863, 37.035145], + [-76.271262, 37.084544], + [-76.274463, 37.094544], + [-76.287236, 37.117453], + [-76.292344, 37.126615], + [-76.311088, 37.138495], + [-76.324353, 37.142895], + [-76.330481, 37.141727], + [-76.334017, 37.144223], + [-76.340129, 37.151823], + [-76.34405, 37.160367], + [-76.344898, 37.164479], + [-76.343234, 37.166207], + [-76.348658, 37.170655], + [-76.35969, 37.16858], + [-76.375255, 37.16084], + [-76.381379, 37.155711], + [-76.394756, 37.157568], + [-76.399659, 37.160272], + [-76.397883, 37.164415], + [-76.391252, 37.179887], + [-76.389284, 37.193503], + [-76.396052, 37.201087], + [-76.3936, 37.214049], + [-76.389793, 37.222981], + [-76.394132, 37.22515], + [-76.471799, 37.216016], + [-76.494008, 37.225408], + [-76.50364, 37.233856], + [-76.4989, 37.241015], + [-76.493302, 37.24947], + [-76.48284, 37.254831], + [-76.475927, 37.250543], + [-76.429141, 37.25331], + [-76.421765, 37.255198], + [-76.417173, 37.26395], + [-76.392788, 37.264973], + [-76.36229, 37.270226], + [-76.349489, 37.273963], + [-76.352556, 37.278334], + [-76.369029, 37.279311], + [-76.381075, 37.28534], + [-76.385603, 37.294108], + [-76.38777, 37.30767], + [-76.406388, 37.332924], + [-76.434965, 37.354524], + [-76.445333, 37.36646], + [-76.437525, 37.37975], + [-76.422503, 37.381355], + [-76.418176, 37.385064], + [-76.418719, 37.3978], + [-76.415167, 37.402133], + [-76.404756, 37.400213], + [-76.393125, 37.398068], + [-76.393958, 37.39594], + [-76.391437, 37.390284], + [-76.387112, 37.385061], + [-76.366751, 37.374495], + [-76.337476, 37.364014], + [-76.31205, 37.338088], + [-76.308581, 37.329366], + [-76.291324, 37.324145], + [-76.282555, 37.319107], + [-76.275552, 37.309964], + [-76.272005, 37.322194], + [-76.272888, 37.335174], + [-76.264847, 37.357399], + [-76.262407, 37.360786], + [-76.258277, 37.36202], + [-76.24846, 37.375135], + [-76.245283, 37.386839], + [-76.246617, 37.404122], + [-76.250454, 37.421886], + [-76.252415, 37.447274], + [-76.265056, 37.481365], + [-76.281043, 37.507821], + [-76.288167, 37.514118], + [-76.293599, 37.516499], + [-76.297651, 37.515424], + [-76.298456, 37.512677], + [-76.296445, 37.511235], + [-76.297739, 37.506863], + [-76.306952, 37.497488], + [-76.32947, 37.49492], + [-76.352678, 37.504913], + [-76.359378, 37.513426], + [-76.360474, 37.51924], + [-76.355084, 37.527364], + [-76.348992, 37.536548], + [-76.339989, 37.53833], + [-76.330598, 37.536391], + [-76.302762, 37.551295], + [-76.29796, 37.557636], + [-76.300144, 37.561734], + [-76.332641, 37.570042], + [-76.357835, 37.573699], + [-76.383188, 37.573056], + [-76.410781, 37.581815], + [-76.420252, 37.598686], + [-76.435474, 37.612807], + [-76.527188, 37.611315], + [-76.533777, 37.61253], + [-76.542666, 37.616857], + [-76.574049, 37.646781], + [-76.583143, 37.661986], + [-76.579591, 37.671508], + [-76.597868, 37.702918], + [-76.598073, 37.70912], + [-76.595943, 37.712989], + [-76.597213, 37.717269], + [-76.606466, 37.724819], + [-76.61997, 37.731271], + [-76.621433, 37.737973], + [-76.617373, 37.742347], + [-76.61971, 37.744795], + [-76.639962, 37.750941], + [-76.663887, 37.751887], + [-76.677002, 37.7561], + [-76.680922, 37.759647], + [-76.683372, 37.765507], + [-76.683359, 37.770258], + [-76.683343, 37.775783], + [-76.681901, 37.778118], + [-76.683775, 37.781391], + [-76.689773, 37.78519], + [-76.715498, 37.785873], + [-76.723863, 37.788503], + [-76.734309, 37.79866], + [-76.7512, 37.824141], + [-76.766328, 37.840437], + [-76.782826, 37.863184], + [-76.784618, 37.869569], + [-76.77539, 37.874306], + [-76.765711, 37.879274], + [-76.747552, 37.875864], + [-76.738395, 37.865373], + [-76.733046, 37.852009], + [-76.72718, 37.842263], + [-76.722156, 37.83668], + [-76.701606, 37.822677], + [-76.692747, 37.82277], + [-76.680197, 37.825654], + [-76.658302, 37.806815], + [-76.651413, 37.796239], + [-76.642276, 37.792317], + [-76.615351, 37.780759], + [-76.602024, 37.772731], + [-76.595939, 37.77168], + [-76.593835, 37.772848], + [-76.584289, 37.76889], + [-76.576387, 37.757493], + [-76.560476, 37.727827], + [-76.54005, 37.704432], + [-76.537228, 37.698892], + [-76.535302, 37.687516], + [-76.537698, 37.66893], + [-76.536548, 37.663574], + [-76.510187, 37.642324], + [-76.501522, 37.643762], + [-76.497564, 37.647056], + [-76.491799, 37.663614], + [-76.489576, 37.666201], + [-76.472392, 37.665772], + [-76.443254, 37.652347], + [-76.399236, 37.628636], + [-76.390054, 37.630326], + [-76.381106, 37.627003], + [-76.36232, 37.610368], + [-76.309174, 37.621892], + [-76.28037, 37.613715], + [-76.279447, 37.618225], + [-76.287959, 37.631771], + [-76.292534, 37.636098], + [-76.306464, 37.642005], + [-76.332562, 37.645817], + [-76.339892, 37.655966], + [-76.324808, 37.676983], + [-76.320216, 37.680666], + [-76.315161, 37.68472], + [-76.312079, 37.684651], + [-76.302545, 37.689], + [-76.300067, 37.695364], + [-76.302803, 37.704474], + [-76.312858, 37.720338], + [-76.304917, 37.729913], + [-76.312108, 37.750522], + [-76.306489, 37.788646], + [-76.310307, 37.794849], + [-76.307482, 37.81235], + [-76.293525, 37.822717], + [-76.284904, 37.822308], + [-76.281985, 37.818068], + [-76.282592, 37.814109], + [-76.280544, 37.812597], + [-76.275178, 37.812664], + [-76.266057, 37.8174], + [-76.251358, 37.833072], + [-76.245072, 37.861918], + [-76.236725, 37.889174], + [-76.265998, 37.91138], + [-76.343848, 37.947345], + [-76.360211, 37.952329], + [-76.391439, 37.958742], + [-76.416299, 37.966828], + [-76.427487, 37.977038], + [-76.462542, 37.998572], + [-76.465291, 38.010226], + [-76.469343, 38.013544], + [-76.491998, 38.017222], + [-76.516547, 38.026566], + [-76.519536, 38.034814], + [-76.522354, 38.04259], + [-76.535919, 38.069532], + [-76.543155, 38.076971], + [-76.579497, 38.09487], + [-76.600937, 38.110084], + [-76.604131, 38.128771], + [-76.613939, 38.148587], + [-76.629476, 38.15305], + [-76.638983, 38.151476], + [-76.643448, 38.14825], + [-76.665127, 38.147638], + [-76.684892, 38.156497], + [-76.701297, 38.155718], + [-76.704048, 38.149264], + [-76.721722, 38.137635], + [-76.738938, 38.14651], + [-76.740278, 38.152824], + [-76.743064, 38.156988], + [-76.749685, 38.162114], + [-76.760241, 38.166581], + [-76.788445, 38.169199], + [-76.802968, 38.167988], + [-76.824274, 38.163639], + [-76.838795, 38.163476], + [-76.875272, 38.172207], + [-76.910832, 38.197073], + [-76.916922, 38.199751], + [-76.937134, 38.202384], + [-76.962311, 38.214075], + [-76.967335, 38.227185], + [-76.966553, 38.229542], + [-76.962375, 38.230093], + [-76.957417, 38.236341], + [-76.957796, 38.243183], + [-76.96215, 38.256486], + [-76.981372, 38.274214], + [-76.990255, 38.273935], + [-76.99767, 38.278047], + [-77.026304, 38.302685], + [-77.030683, 38.311623], + [-77.020947, 38.329273], + [-77.016932, 38.341697], + [-77.011827, 38.374554], + [-77.024866, 38.386791], + [-77.043526, 38.400548], + [-77.051437, 38.399083], + [-77.056032, 38.3962], + [-77.069956, 38.377895], + [-77.08481, 38.368297], + [-77.094665, 38.367715], + [-77.104717, 38.369655], + [-77.138224, 38.367917], + [-77.155191, 38.351047], + [-77.162692, 38.345994], + [-77.17934, 38.341915], + [-77.199433, 38.34089], + [-77.240072, 38.331598], + [-77.265295, 38.333165], + [-77.279633, 38.339444], + [-77.286202, 38.347024], + [-77.286202, 38.347025], + [-77.28835, 38.351286], + [-77.288145, 38.359477], + [-77.296077, 38.369797], + [-77.317288, 38.383576], + [-77.314848, 38.389579], + [-77.312201, 38.390958], + [-77.310719, 38.397669], + [-77.319036, 38.417803], + [-77.32544, 38.44885], + [-77.322622, 38.467131], + [-77.310334, 38.493926], + [-77.302457, 38.504683], + [-77.300776, 38.506978], + [-77.298844, 38.508724], + [-77.29582, 38.511457], + [-77.291103, 38.515721], + [-77.283503, 38.525221], + [-77.276303, 38.53962], + [-77.276603, 38.54712], + [-77.26083, 38.56533], + [-77.265304, 38.580319], + [-77.26443, 38.582845], + [-77.247003, 38.590618], + [-77.246441, 38.599532], + [-77.245104, 38.620717], + [-77.248904, 38.628617], + [-77.246704, 38.635217], + [-77.240604, 38.638917], + [-77.22235, 38.638091], + [-77.216303, 38.637817], + [-77.205103, 38.623917], + [-77.204302, 38.617817], + [-77.202002, 38.617217], + [-77.174902, 38.624217], + [-77.157501, 38.636417], + [-77.1302, 38.635017], + [-77.135901, 38.649817], + [-77.132501, 38.673816], + [-77.121101, 38.686616], + [-77.1059, 38.696815], + [-77.086113, 38.705792], + [-77.074599, 38.711015], + [-77.05991, 38.734419], + [-77.041398, 38.763914], + [-77.039239, 38.7852], + [-77.038598, 38.791513], + [-77.032986, 38.8395], + [-77.031698, 38.850512], + [-77.040599, 38.871212], + [-77.068199, 38.899811], + [-77.0902, 38.904211], + [-77.1012, 38.911111], + [-77.119863, 38.934265], + [-77.1199, 38.934311], + [-77.137701, 38.95531], + [-77.148179, 38.965002], + [-77.166901, 38.96811], + [-77.197502, 38.96681], + [-77.221502, 38.97131], + [-77.235403, 38.97661], + [-77.249803, 38.985909], + [-77.255703, 39.002409], + [-77.251803, 39.011409], + [-77.261403, 39.031009], + [-77.291605, 39.045408], + [-77.328002, 39.058554], + [-77.340287, 39.062991], + [-77.375079, 39.061297], + [-77.42318, 39.066878], + [-77.458202, 39.073723], + [-77.519929, 39.120925], + [-77.524559, 39.127821], + [-77.527282, 39.146236], + [-77.516426, 39.170891], + [-77.510631, 39.178484], + [-77.505162, 39.18205], + [-77.485971, 39.185665], + [-77.478596, 39.189168], + [-77.458884, 39.219826], + [-77.458779, 39.22028], + [-77.45768, 39.22502], + [-77.46021, 39.228359], + [-77.484605, 39.245941], + [-77.511222, 39.2535], + [-77.534461, 39.262361], + [-77.543228, 39.266937], + [-77.545846, 39.271535], + [-77.560854, 39.286152], + [-77.592739, 39.30129], + [-77.667749, 39.318129], + [-77.677505, 39.318699], + [-77.719029, 39.321125], + [-77.750267, 39.289284], + [-77.753357, 39.280331], + [-77.75306, 39.277971], + [-77.753105, 39.27734], + [-77.755193, 39.275191], + [-77.755698, 39.274575], + [-77.758412, 39.269197], + [-77.758733, 39.268114], + [-77.761217, 39.263721], + [-77.761768, 39.263031], + [-77.768, 39.257657], + [-77.768992, 39.256417], + [-77.767277, 39.24938], + [-77.771415, 39.236776], + [-77.822182, 39.139985], + [-77.828157, 39.132329], + [-78.032841, 39.264403], + [-78.033183, 39.264624], + [-78.033185, 39.264626], + [-78.228766, 39.391233], + [-78.347087, 39.466012], + [-78.362267, 39.357784], + [-78.34048, 39.353492], + [-78.35894, 39.319484], + [-78.360035, 39.317771], + [-78.399785, 39.244129], + [-78.399669, 39.243874], + [-78.423968, 39.212049], + [-78.427911, 39.208611], + [-78.429803, 39.207014], + [-78.431167, 39.205744], + [-78.43213, 39.204717], + [-78.437053, 39.199766], + [-78.438651, 39.198049], + [-78.426722, 39.188903], + [-78.41074, 39.171983], + [-78.418377, 39.156656], + [-78.439429, 39.132146], + [-78.459869, 39.113351], + [-78.508132, 39.08863], + [-78.544111, 39.056676], + [-78.571901, 39.031995], + [-78.565837, 39.026303], + [-78.554222, 39.019672], + [-78.557647, 39.013189], + [-78.601655, 38.964603], + [-78.710949, 38.910175], + [-78.714135, 38.911176], + [-78.716956, 38.916273], + [-78.719755, 38.922135], + [-78.719806, 38.922638], + [-78.757278, 38.903203], + [-78.779198, 38.892298], + [-78.788031, 38.885123], + [-78.808181, 38.856175], + [-78.835191, 38.811499], + [-78.869276, 38.762991] + ] + ] + }, + "properties": { + "stroke": "#080", + "fill": "#080", + "stroke-width": 6, + "fill-opacity": 0.1 + }, + "type": "Feature" + }, + { + "type": "Feature", + "properties": { + "stroke": "#F00", + "fill": "#F00", + "stroke-width": 6, + "fill-opacity": 0.1 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-78.869276, 38.762991], + [-78.993997, 38.850102], + [-78.999752, 38.846162], + [-79.055354, 38.782213], + [-79.057253, 38.761413], + [-79.092555, 38.700149], + [-79.092271, 38.699208], + [-79.135472, 38.644057], + [-79.135546, 38.643715], + [-79.136374, 38.6424], + [-79.137012, 38.640655], + [-79.146741, 38.625819], + [-79.146974, 38.625641], + [-79.174512, 38.566531], + [-79.174881, 38.566314], + [-79.207884, 38.500428], + [-79.207873, 38.500122], + [-79.209703, 38.495574], + [-79.210008, 38.494283], + [-79.210026, 38.494231], + [-79.225839, 38.479446], + [-79.23162, 38.474041], + [-79.234408, 38.473011], + [-79.240059, 38.469841], + [-79.242024, 38.464332], + [-79.26291, 38.444586], + [-79.263376, 38.443762], + [-79.265327, 38.441772], + [-79.267414, 38.438322], + [-79.282663, 38.431021], + [-79.280263, 38.425475], + [-79.290529, 38.420757], + [-79.291813, 38.419627], + [-79.295712, 38.418129], + [-79.297758, 38.416438], + [-79.312276, 38.411876], + [-79.476638, 38.457228], + [-79.521469, 38.533918], + [-79.53687, 38.550917], + [-79.555471, 38.560217], + [-79.597955, 38.572767], + [-79.649075, 38.591515], + [-79.669128, 38.510975], + [-79.669128, 38.510883], + [-79.695565, 38.477842], + [-79.699006, 38.475148], + [-79.688205, 38.450476], + [-79.688962, 38.449538], + [-79.689544, 38.442511], + [-79.691377, 38.439558], + [-79.731661, 38.374143], + [-79.808711, 38.309429], + [-79.810115, 38.305037], + [-79.788945, 38.268703], + [-79.790134, 38.267654], + [-79.794568, 38.264856], + [-79.891999, 38.203378], + [-79.892345, 38.202397], + [-79.916174, 38.184386], + [-79.917061, 38.183741], + [-79.921196, 38.180378], + [-79.921026, 38.179954], + [-79.925251, 38.150465], + [-79.925512, 38.150237], + [-79.928683, 38.144928], + [-79.928747, 38.144436], + [-79.933751, 38.135508], + [-79.938394, 38.130563], + [-79.931034, 38.101402], + [-79.933911, 38.099168], + [-79.959844, 38.063697], + [-79.978427, 38.029082], + [-80.002507, 37.992767], + [-80.055278, 37.951702], + [-80.130464, 37.893194], + [-80.14613, 37.884453], + [-80.147316, 37.885936], + [-80.148964, 37.886057], + [-80.162202, 37.875122], + [-80.227092, 37.798886], + [-80.231551, 37.792591], + [-80.257411, 37.756084], + [-80.262765, 37.738336], + [-80.260313, 37.733517], + [-80.259342, 37.731205], + [-80.263936, 37.719137], + [-80.287107, 37.696403], + [-80.296138, 37.691783], + [-80.292337, 37.683976], + [-80.292258, 37.683732], + [-80.270323, 37.648982], + [-80.270352, 37.648929], + [-80.267455, 37.646108], + [-80.267228, 37.646011], + [-80.264874, 37.645511], + [-80.26483, 37.645526], + [-80.263291, 37.645101], + [-80.263281, 37.645082], + [-80.254469, 37.642333], + [-80.254431, 37.642352], + [-80.239288, 37.637672], + [-80.220984, 37.627767], + [-80.223386, 37.623185], + [-80.240272, 37.606961], + [-80.288766, 37.58196], + [-80.312393, 37.546239], + [-80.321044921875, 37.5414114468743], + [-80.321044921875, 37.51515204394254], + [-80.314806, 37.500943], + [-80.320627, 37.49888], + [-80.321044921875, 37.49868500772584], + [-80.321044921875, 36.5467653228637], + [-80.228263, 36.543867], + [-80.225408, 36.543748], + [-80.171636, 36.543219], + [-80.169535, 36.54319], + [-80.053455, 36.542623], + [-80.027269, 36.542495], + [-79.967511, 36.542502], + [-79.966979, 36.542475], + [-79.920239, 36.542365], + [-79.714855, 36.541884], + [-79.667309, 36.541772], + [-79.666827, 36.541772], + [-79.510961, 36.54074], + [-79.510647, 36.540738], + [-79.470047, 36.541025], + [-79.445961, 36.541195], + [-79.445687, 36.541218], + [-79.342696, 36.541382], + [-79.218638, 36.541579], + [-79.20948, 36.541594], + [-79.208686, 36.541571], + [-79.137936, 36.541739], + [-79.126078, 36.541533], + [-79.124736, 36.541568], + [-78.971814, 36.542123], + [-78.970577, 36.542154], + [-78.942254, 36.542079], + [-78.942009, 36.542113], + [-78.91542, 36.541974], + [-78.914543, 36.541972], + [-78.7963, 36.541713], + [-78.76543, 36.541727], + [-78.758392, 36.541852], + [-78.734122, 36.541902], + [-78.670051, 36.542035], + [-78.663317, 36.542011], + [-78.533013, 36.541004], + [-78.529722, 36.540981], + [-78.471022, 36.542307], + [-78.470792, 36.542316], + [-78.45697, 36.542474], + [-78.441199, 36.542687], + [-78.436333, 36.542666], + [-78.323912, 36.543809], + [-78.246681, 36.544341], + [-78.245462, 36.544411], + [-78.133323, 36.543847], + [-78.132911, 36.543811], + [-78.046202, 36.544168], + [-78.03942, 36.544196], + [-78.038938, 36.544173], + [-77.899771, 36.544663], + [-77.882357, 36.544737], + [-77.87528, 36.544754], + [-77.767117, 36.544752], + [-77.296875, 36.544746], + [-77.24969, 36.544745], + [-77.1645, 36.54633], + [-76.916048, 36.543815], + [-76.916001, 36.543818], + [-76.915384, 36.543856], + [-76.807078, 36.550606], + [-76.781296, 36.550659], + [-76.541748046875, 36.55031208840764], + [-76.541748046875, 36.99350733953782], + [-76.551246, 36.998946], + [-76.562923, 37.003796], + [-76.565803, 37.007493], + [-76.576617, 37.021374], + [-76.577531, 37.022548], + [-76.57816, 37.022982], + [-76.579236, 37.023726], + [-76.579393, 37.023835], + [-76.584478, 37.027349], + [-76.586491, 37.02874], + [-76.612124, 37.035604], + [-76.646013, 37.036228], + [-76.653998, 37.039172], + [-76.662558, 37.045748], + [-76.66835, 37.05506], + [-76.669822, 37.06426], + [-76.669118, 37.068132], + [-76.668295, 37.072656], + [-76.667646, 37.076228], + [-76.667219, 37.077149], + [-76.666526, 37.078643], + [-76.66555, 37.080746], + [-76.659394, 37.094019], + [-76.65811, 37.096787], + [-76.657703, 37.101161], + [-76.657101, 37.107617], + [-76.656894, 37.109843], + [-76.66375, 37.129979], + [-76.665641, 37.135534], + [-76.665833, 37.136098], + [-76.666542, 37.138179], + [-76.669604, 37.140534], + [-76.671588, 37.14206], + [-76.67147, 37.158739], + [-76.66867, 37.166771], + [-76.66427, 37.171027], + [-76.663774, 37.173875], + [-76.669886, 37.183571], + [-76.685614, 37.198851], + [-76.691918, 37.195731], + [-76.692926, 37.186147], + [-76.696735, 37.174403], + [-76.715295, 37.148035], + [-76.73032, 37.145395], + [-76.73728, 37.146164], + [-76.747632, 37.150548], + [-76.756899, 37.161582], + [-76.796905, 37.189404], + [-76.802511, 37.198308], + [-76.803198, 37.201513], + [-76.801023, 37.206043], + [-76.791555, 37.207564], + [-76.780532, 37.209336], + [-76.773752, 37.206061], + [-76.757765, 37.191658], + [-76.75047, 37.190098], + [-76.74304, 37.192611], + [-76.74, 37.195379], + [-76.73432, 37.204211], + [-76.730951, 37.213813], + [-76.698943, 37.219059], + [-76.693373, 37.221228], + [-76.689166, 37.222866], + [-76.649869, 37.220914], + [-76.641085, 37.216002], + [-76.639608, 37.214783], + [-76.629868, 37.206738], + [-76.623292, 37.198738], + [-76.621113, 37.195103], + [-76.619962, 37.193184], + [-76.61934, 37.192146], + [-76.618008, 37.186429], + [-76.617537, 37.184409], + [-76.616804, 37.18126], + [-76.616268, 37.178962], + [-76.614221, 37.174335], + [-76.613599, 37.172931], + [-76.612517, 37.170486], + [-76.611018, 37.167097], + [-76.610972, 37.166994], + [-76.606684, 37.166674], + [-76.604476, 37.160034], + [-76.617084, 37.144498], + [-76.622252, 37.142146], + [-76.62478, 37.127091], + [-76.618252, 37.119347], + [-76.579499, 37.096627], + [-76.567931, 37.080467], + [-76.564219, 37.077507], + [-76.555066, 37.075859], + [-76.541748046875, 37.081776707388784], + [-76.541748046875, 37.6164101574787], + [-76.542666, 37.616857], + [-76.574049, 37.646781], + [-76.583143, 37.661986], + [-76.579591, 37.671508], + [-76.597868, 37.702918], + [-76.598073, 37.70912], + [-76.595943, 37.712989], + [-76.597213, 37.717269], + [-76.606466, 37.724819], + [-76.61997, 37.731271], + [-76.621433, 37.737973], + [-76.617373, 37.742347], + [-76.61971, 37.744795], + [-76.639962, 37.750941], + [-76.663887, 37.751887], + [-76.677002, 37.7561], + [-76.680922, 37.759647], + [-76.683372, 37.765507], + [-76.683359, 37.770258], + [-76.683343, 37.775783], + [-76.681901, 37.778118], + [-76.683775, 37.781391], + [-76.689773, 37.78519], + [-76.715498, 37.785873], + [-76.723863, 37.788503], + [-76.734309, 37.79866], + [-76.7512, 37.824141], + [-76.766328, 37.840437], + [-76.782826, 37.863184], + [-76.784618, 37.869569], + [-76.77539, 37.874306], + [-76.765711, 37.879274], + [-76.747552, 37.875864], + [-76.738395, 37.865373], + [-76.733046, 37.852009], + [-76.72718, 37.842263], + [-76.722156, 37.83668], + [-76.701606, 37.822677], + [-76.692747, 37.82277], + [-76.680197, 37.825654], + [-76.658302, 37.806815], + [-76.651413, 37.796239], + [-76.642276, 37.792317], + [-76.615351, 37.780759], + [-76.602024, 37.772731], + [-76.595939, 37.77168], + [-76.593835, 37.772848], + [-76.584289, 37.76889], + [-76.576387, 37.757493], + [-76.560476, 37.727827], + [-76.541748046875, 37.70637686471363], + [-76.541748046875, 38.07552457596782], + [-76.543155, 38.076971], + [-76.579497, 38.09487], + [-76.600937, 38.110084], + [-76.604131, 38.128771], + [-76.613939, 38.148587], + [-76.629476, 38.15305], + [-76.638983, 38.151476], + [-76.643448, 38.14825], + [-76.665127, 38.147638], + [-76.684892, 38.156497], + [-76.701297, 38.155718], + [-76.704048, 38.149264], + [-76.721722, 38.137635], + [-76.738938, 38.14651], + [-76.740278, 38.152824], + [-76.743064, 38.156988], + [-76.749685, 38.162114], + [-76.760241, 38.166581], + [-76.788445, 38.169199], + [-76.802968, 38.167988], + [-76.824274, 38.163639], + [-76.838795, 38.163476], + [-76.875272, 38.172207], + [-76.910832, 38.197073], + [-76.916922, 38.199751], + [-76.937134, 38.202384], + [-76.962311, 38.214075], + [-76.967335, 38.227185], + [-76.966553, 38.229542], + [-76.962375, 38.230093], + [-76.957417, 38.236341], + [-76.957796, 38.243183], + [-76.96215, 38.256486], + [-76.981372, 38.274214], + [-76.990255, 38.273935], + [-76.99767, 38.278047], + [-77.026304, 38.302685], + [-77.030683, 38.311623], + [-77.020947, 38.329273], + [-77.016932, 38.341697], + [-77.011827, 38.374554], + [-77.024866, 38.386791], + [-77.043526, 38.400548], + [-77.051437, 38.399083], + [-77.056032, 38.3962], + [-77.069956, 38.377895], + [-77.08481, 38.368297], + [-77.094665, 38.367715], + [-77.104717, 38.369655], + [-77.138224, 38.367917], + [-77.155191, 38.351047], + [-77.162692, 38.345994], + [-77.17934, 38.341915], + [-77.199433, 38.34089], + [-77.240072, 38.331598], + [-77.265295, 38.333165], + [-77.279633, 38.339444], + [-77.286202, 38.347024], + [-77.286202, 38.347025], + [-77.28835, 38.351286], + [-77.288145, 38.359477], + [-77.296077, 38.369797], + [-77.317288, 38.383576], + [-77.314848, 38.389579], + [-77.312201, 38.390958], + [-77.310719, 38.397669], + [-77.319036, 38.417803], + [-77.32544, 38.44885], + [-77.322622, 38.467131], + [-77.310334, 38.493926], + [-77.302457, 38.504683], + [-77.300776, 38.506978], + [-77.298844, 38.508724], + [-77.29582, 38.511457], + [-77.291103, 38.515721], + [-77.283503, 38.525221], + [-77.276303, 38.53962], + [-77.276603, 38.54712], + [-77.26083, 38.56533], + [-77.265304, 38.580319], + [-77.26443, 38.582845], + [-77.247003, 38.590618], + [-77.246441, 38.599532], + [-77.245104, 38.620717], + [-77.248904, 38.628617], + [-77.246704, 38.635217], + [-77.240604, 38.638917], + [-77.22235, 38.638091], + [-77.216303, 38.637817], + [-77.205103, 38.623917], + [-77.204302, 38.617817], + [-77.202002, 38.617217], + [-77.174902, 38.624217], + [-77.157501, 38.636417], + [-77.1302, 38.635017], + [-77.135901, 38.649817], + [-77.132501, 38.673816], + [-77.121101, 38.686616], + [-77.1059, 38.696815], + [-77.086113, 38.705792], + [-77.074599, 38.711015], + [-77.05991, 38.734419], + [-77.041398, 38.763914], + [-77.039239, 38.7852], + [-77.038598, 38.791513], + [-77.032986, 38.8395], + [-77.031698, 38.850512], + [-77.040599, 38.871212], + [-77.068199, 38.899811], + [-77.0902, 38.904211], + [-77.1012, 38.911111], + [-77.119863, 38.934265], + [-77.1199, 38.934311], + [-77.137701, 38.95531], + [-77.148179, 38.965002], + [-77.166901, 38.96811], + [-77.197502, 38.96681], + [-77.221502, 38.97131], + [-77.235403, 38.97661], + [-77.249803, 38.985909], + [-77.255703, 39.002409], + [-77.251803, 39.011409], + [-77.261403, 39.031009], + [-77.291605, 39.045408], + [-77.328002, 39.058554], + [-77.340287, 39.062991], + [-77.375079, 39.061297], + [-77.42318, 39.066878], + [-77.458202, 39.073723], + [-77.519929, 39.120925], + [-77.524559, 39.127821], + [-77.527282, 39.146236], + [-77.516426, 39.170891], + [-77.510631, 39.178484], + [-77.505162, 39.18205], + [-77.485971, 39.185665], + [-77.478596, 39.189168], + [-77.458884, 39.219826], + [-77.458779, 39.22028], + [-77.45768, 39.22502], + [-77.46021, 39.228359], + [-77.484605, 39.245941], + [-77.511222, 39.2535], + [-77.534461, 39.262361], + [-77.543228, 39.266937], + [-77.545846, 39.271535], + [-77.560854, 39.286152], + [-77.592739, 39.30129], + [-77.667749, 39.318129], + [-77.677505, 39.318699], + [-77.719029, 39.321125], + [-77.750267, 39.289284], + [-77.753357, 39.280331], + [-77.75306, 39.277971], + [-77.753105, 39.27734], + [-77.755193, 39.275191], + [-77.755698, 39.274575], + [-77.758412, 39.269197], + [-77.758733, 39.268114], + [-77.761217, 39.263721], + [-77.761768, 39.263031], + [-77.768, 39.257657], + [-77.768992, 39.256417], + [-77.767277, 39.24938], + [-77.771415, 39.236776], + [-77.822182, 39.139985], + [-77.828157, 39.132329], + [-78.032841, 39.264403], + [-78.033183, 39.264624], + [-78.033185, 39.264626], + [-78.228766, 39.391233], + [-78.347087, 39.466012], + [-78.362267, 39.357784], + [-78.34048, 39.353492], + [-78.35894, 39.319484], + [-78.360035, 39.317771], + [-78.399785, 39.244129], + [-78.399669, 39.243874], + [-78.423968, 39.212049], + [-78.427911, 39.208611], + [-78.429803, 39.207014], + [-78.431167, 39.205744], + [-78.43213, 39.204717], + [-78.437053, 39.199766], + [-78.438651, 39.198049], + [-78.426722, 39.188903], + [-78.41074, 39.171983], + [-78.418377, 39.156656], + [-78.439429, 39.132146], + [-78.459869, 39.113351], + [-78.508132, 39.08863], + [-78.544111, 39.056676], + [-78.571901, 39.031995], + [-78.565837, 39.026303], + [-78.554222, 39.019672], + [-78.557647, 39.013189], + [-78.601655, 38.964603], + [-78.710949, 38.910175], + [-78.714135, 38.911176], + [-78.716956, 38.916273], + [-78.719755, 38.922135], + [-78.719806, 38.922638], + [-78.757278, 38.903203], + [-78.779198, 38.892298], + [-78.788031, 38.885123], + [-78.808181, 38.856175], + [-78.835191, 38.811499], + [-78.869276, 38.762991] + ] + ] + } + }, + { + "type": "Feature", + "properties": { + "stroke": "#00F", + "fill": "#00F", + "stroke-width": 3, + "fill-opacity": 0.1 + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-80.321044921875, 36.26199220445664], + [-76.541748046875, 36.26199220445664], + [-76.541748046875, 39.68182601089365], + [-80.321044921875, 39.68182601089365], + [-80.321044921875, 36.26199220445664] + ] + ] + } + } + ] +} diff --git a/Tests/GeoJSONKitTurfTests/PolygonTests.swift b/Tests/GeoJSONKitTurfTests/PolygonTests.swift index d7ee191..f5ec6a2 100644 --- a/Tests/GeoJSONKitTurfTests/PolygonTests.swift +++ b/Tests/GeoJSONKitTurfTests/PolygonTests.swift @@ -605,4 +605,61 @@ class PolygonTests: XCTestCase { } } + + func testClip() throws { + try Fixture.fixtures(folder: "bbox-clip") { (name: String, input: GeoJSON, expected: GeoJSON) in + guard + case .featureCollection(let features) = input.object, + let inputFeature = features.first, + case .single(.polygon(let polygon)) = inputFeature.geometry, + let bboxFeature = features.last + else { + return XCTFail("Unexpected input") + } + + let bboxPositions = bboxFeature.geometry.positions + let actualPolygon = polygon.clip(to: .init(positions: bboxPositions)) + let actual = GeoJSON(features: [ + inputFeature.colorized(color: "#080"), + .init(geometry: .single(.polygon(actualPolygon))).colorized(color: "#F00"), + bboxFeature.colorized(color: "#00F", width: 3), + ]) + + if actual != expected { + // Give it another chance on the data-level, too + do { + var options: JSONSerialization.WritingOptions = [.prettyPrinted] + if #available(iOS 11.0, OSX 10.13, *) { + options.insert(.sortedKeys) + } + let newData = try actual.toData(options: options) + let oldData = try expected.toData(options: options) + if newData != oldData { + if true { + try Self.save(newData, filename: "out_actual", extension: "geojson") + try Self.save(oldData, filename: "out_expected", extension: "geojson") + } + XCTFail("Fixture check failed for \(name)!") + } + + } catch { + XCTFail("Fixture check failed for \(name)! Also: Generating JSON failed with: \(error)") + } + } + + } + } +} + +extension GeoJSON.Feature { + func colorized(color: String = "#F00", width: Int = 6) -> GeoJSON.Feature { + var updated = self + updated.properties = [ + "stroke": color, + "fill": color, + "stroke-width": width, + "fill-opacity": 0.1, + ] + return updated + } }