From ac2452912def43830baae68d885feda206c2e5d4 Mon Sep 17 00:00:00 2001 From: stebogit Date: Tue, 13 Jun 2017 01:01:18 -0700 Subject: [PATCH 01/10] added turf-clusters module --- packages/turf-clusters/LICENSE | 20 + packages/turf-clusters/README.md | 50 + packages/turf-clusters/bench.js | 39 + packages/turf-clusters/index.d.ts | 9 + packages/turf-clusters/index.js | 64 + packages/turf-clusters/package.json | 49 + packages/turf-clusters/test.js | 64 + .../turf-clusters/test/in/many-points.geojson | 5505 ++++++++++++ .../turf-clusters/test/in/points1.geojson | 239 + .../test/out/many-points.geojson | 7761 +++++++++++++++++ .../turf-clusters/test/out/points1.geojson | 368 + packages/turf-clusters/types.ts | 13 + 12 files changed, 14181 insertions(+) create mode 100644 packages/turf-clusters/LICENSE create mode 100644 packages/turf-clusters/README.md create mode 100644 packages/turf-clusters/bench.js create mode 100644 packages/turf-clusters/index.d.ts create mode 100644 packages/turf-clusters/index.js create mode 100644 packages/turf-clusters/package.json create mode 100644 packages/turf-clusters/test.js create mode 100644 packages/turf-clusters/test/in/many-points.geojson create mode 100644 packages/turf-clusters/test/in/points1.geojson create mode 100644 packages/turf-clusters/test/out/many-points.geojson create mode 100644 packages/turf-clusters/test/out/points1.geojson create mode 100644 packages/turf-clusters/types.ts diff --git a/packages/turf-clusters/LICENSE b/packages/turf-clusters/LICENSE new file mode 100644 index 0000000000..96ce51b76f --- /dev/null +++ b/packages/turf-clusters/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2017 TurfJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/turf-clusters/README.md b/packages/turf-clusters/README.md new file mode 100644 index 0000000000..3705939236 --- /dev/null +++ b/packages/turf-clusters/README.md @@ -0,0 +1,50 @@ +# @turf/clusters + +# clusters + +Takes a set of {@link Point|points} and partition them into clusters using the k-mean. +It uses the [k-means clustering](https://en.wikipedia.org/wiki/K-means_clustering) algorithm. + +**Parameters** +- `points` **[FeatureCollection](http://geojson.org/geojson-spec.html#feature-collection-objects)<[Point](http://geojson.org/geojson-spec.html#point)>** points to be clustered +- `numberOfClusters` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** number of clusters that will be generated (optional, default ) + +**Examples** + +```javascript +// create random points with random z-values in their properties +var points = turf.random('point', 100, { + bbox: [0, 30, 20, 50] +}); +var numberOfClusters = 7; +var clustered = turf.clusters(points, numberOfClusters); +//addToMap +var addToMap = featureCollection(clustered.points); +``` + +Returns **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** containing a `points` [FeatureCollection](http://geojson.org/geojson-spec.html#feature-collection-objects)<[Point](http://geojson.org/geojson-spec.html#point)>, the input points where each [Point](http://geojson.org/geojson-spec.html#point) has given a `cluster` property with the cluster number it belongs, and a `centroids` [FeatureCollection](http://geojson.org/geojson-spec.html#feature-collection-objects)<[Point](http://geojson.org/geojson-spec.html#point)>, collecting all the cluster centroids each with its own `cluster` property + + + +--- + +This module is part of the [Turfjs project](http://turfjs.org/), an open source +module collection dedicated to geographic algorithms. It is maintained in the +[Turfjs/turf](https://github.com/Turfjs/turf) repository, where you can create +PRs and issues. + +### Installation + +Install this module individually: + +```sh +$ npm install @turf/clusters +``` + +Or install the Turf module that includes it as a function: + +```sh +$ npm install @turf/turf +``` diff --git a/packages/turf-clusters/bench.js b/packages/turf-clusters/bench.js new file mode 100644 index 0000000000..3cf92aaba2 --- /dev/null +++ b/packages/turf-clusters/bench.js @@ -0,0 +1,39 @@ +const fs = require('fs'); +const path = require('path'); +const load = require('load-json-file'); +const Benchmark = require('benchmark'); +const clusters = require('./'); + +// Define Fixtures +const directory = path.join(__dirname, 'test', 'in') + path.sep; +const fixtures = fs.readdirSync(directory).map(filename => { + return { + filename, + name: path.parse(filename).name, + geojson: load.sync(directory + filename) + }; +}); + + +/** + * Benchmark Results + * + * many-points: 9750.508ms + * points1: 121.639ms + * many-points x 0.42 ops/sec ±13.79% (5 runs sampled) + * points1 x 8.27 ops/sec ±12.56% (24 runs sampled) + */ +const suite = new Benchmark.Suite('turf-clusters'); +for (const {name, geojson, filename} of fixtures) { + const {numberOfCentroids} = geojson.properties || {}; + + console.time(name); + clusters(geojson, numberOfCentroids); + console.timeEnd(name); + suite.add(name, () => clusters(geojson, numberOfCentroids)); +} +suite + .on('cycle', e => console.log(String(e.target))) + .on('complete', () => {}) + .run(); + diff --git a/packages/turf-clusters/index.d.ts b/packages/turf-clusters/index.d.ts new file mode 100644 index 0000000000..e6ef8a7a4f --- /dev/null +++ b/packages/turf-clusters/index.d.ts @@ -0,0 +1,9 @@ +import {Points} from '@turf/helpers' + +/** + * http://turfjs.org/docs/#clusters + */ +declare function clusters(points: Points, breaks?: number): Object; + +declare namespace clusters { } +export = clusters; diff --git a/packages/turf-clusters/index.js b/packages/turf-clusters/index.js new file mode 100644 index 0000000000..7b42ef7c56 --- /dev/null +++ b/packages/turf-clusters/index.js @@ -0,0 +1,64 @@ +var meta = require('@turf/meta'); +var helpers = require('@turf/helpers'); +var invariant = require('@turf/invariant'); +var point = helpers.point; +var getCoords = invariant.getCoords; +var collectionOf = invariant.collectionOf; +var featureReduce = meta.featureReduce; +var featureCollection = helpers.featureCollection; +var clusterMaker = require('clusters'); + +/** + * Takes a set of {@link Point|points} and partition them into clusters using the k-mean . + * It uses the [k-means algorithm](https://en.wikipedia.org/wiki/K-means_clustering) + * + * @name clusters + * @param {FeatureCollection} points to be clustered + * @param {number} [numberOfClusters=Math.sqrt(numberOfPoints/2)] numberOfClusters that will be generated + * @returns {Object} an object containing a `points` FeatureCollection, the input points where each Point + * has given a `cluster` property with the cluster number it belongs, and a `centroids` FeatureCollection of + * Points, collecting all the cluster centroids each with its own `cluster` property. + * @example + * // create random points with random z-values in their properties + * var points = turf.random('point', 100, { + * bbox: [0, 30, 20, 50] + * }); + * var numberOfClusters = 7; + * var clustered = turf.clusters(points, numberOfClusters); + * + * //addToMap + * var addToMap = featureCollection(clustered.points); + */ +module.exports = function (points, numberOfClusters) { + // Input validation + collectionOf(points, 'Point', 'Input must contain Points'); + // Default Params + var count = points.features.length; + numberOfClusters = numberOfClusters || Math.sqrt(count / 2); + + // collect points coordinates + var data = featureReduce(points, function (prevValue, currentFeature) { + var coord = getCoords(currentFeature); + return prevValue.concat([coord]); + }, []); + + // create clusters + clusterMaker.k(numberOfClusters); + clusterMaker.data(data); + var clusters = clusterMaker.clusters(); + + // create output + var outputPoints = []; + var centroids = []; + clusters.forEach(function (cluster, idx) { + cluster.points.forEach(function (coord) { + outputPoints.push(point(coord, {cluster: idx})); + }); + centroids.push(point(cluster.centroid, {cluster: idx})); + }); + + return { + points: featureCollection(outputPoints), + centroids: featureCollection(centroids) + }; +}; diff --git a/packages/turf-clusters/package.json b/packages/turf-clusters/package.json new file mode 100644 index 0000000000..45510e7f93 --- /dev/null +++ b/packages/turf-clusters/package.json @@ -0,0 +1,49 @@ +{ + "name": "@turf/clusters", + "version": "4.4.0", + "description": "turf clusters module", + "main": "index.js", + "types": "index.d.ts", + "files": [ + "index.js", + "index.d.ts" + ], + "scripts": { + "test": "node test.js", + "bench": "node bench.js" + }, + "repository": { + "type": "git", + "url": "git://github.com/Turfjs/turf.git" + }, + "keywords": [ + "turf", + "geojson", + "clusters", + "clustering", + "k-means" + ], + "author": "Turf Authors", + "contributors": [ + "Stefano Borghi <@stebogit>" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/Turfjs/turf/issues" + }, + "homepage": "https://github.com/Turfjs/turf", + "devDependencies": { + "benchmark": "^2.1.4", + "chromatism": "2.6.0", + "load-json-file": "^2.0.0", + "matrix-to-grid": "3.0.0", + "tape": "^4.6.3", + "write-json-file": "^2.0.0" + }, + "dependencies": { + "@turf/helpers": "^4.4.0", + "@turf/invariant": "^4.4.0", + "@turf/meta": "^4.4.0", + "clusters": "0.0.4" + } +} diff --git a/packages/turf-clusters/test.js b/packages/turf-clusters/test.js new file mode 100644 index 0000000000..81cb851409 --- /dev/null +++ b/packages/turf-clusters/test.js @@ -0,0 +1,64 @@ +const fs = require('fs'); +const test = require('tape'); +const path = require('path'); +const load = require('load-json-file'); +const write = require('write-json-file'); +const {featureEach} = require('@turf/meta'); +const {featureCollection, polygon} = require('@turf/helpers'); +const chromatism = require('chromatism'); +const clusters = require('./'); + +const directories = { + in: path.join(__dirname, 'test', 'in') + path.sep, + out: path.join(__dirname, 'test', 'out') + path.sep +}; + +const fixtures = fs.readdirSync(directories.in).map(filename => { + return { + filename, + name: path.parse(filename).name, + geojson: load.sync(directories.in + filename) + }; +}); + +test('isolines', t => { + fixtures.forEach(({name, geojson, filename}) => { + const {numberOfCentroids} = geojson.properties || {}; + + const clustered = clusters(geojson, numberOfCentroids); + const result = featureCollection(colorize(clustered)); + + if (process.env.REGEN) write.sync(directories.out + name + '.geojson', result); + t.deepEqual(result, load.sync(directories.out + name + '.geojson'), name); + }); + + t.end(); +}); + +test('clusters -- throws', t => { + const poly = polygon([[[0, 0], [10, 10], [0, 10], [0, 0]]]); + t.throws(() => clusters(poly, 3), /Input must contain Points/); + t.end(); +}); + + +// style result +function colorize(clustered) { + const count = clustered.centroids.features.length; + const colours = chromatism.adjacent(360 / count, count, '#0000FF').hex; + const points = []; + featureEach(clustered.points, function (point) { + point.properties['marker-color'] = colours[point.properties.cluster]; + point.properties['marker-size'] = 'small'; + points.push(point); + }); + featureEach(clustered.centroids, function (centroid) { + const color = chromatism.brightness(-25, colours[centroid.properties.cluster]).hex; + centroid.properties['marker-color'] = color; + centroid.properties['marker-symbol'] = 'star-stroked'; + centroid.properties['marker-size'] = 'large'; + centroid.properties['marker-size'] = 'large'; + points.push(centroid); + }); + return points; +} diff --git a/packages/turf-clusters/test/in/many-points.geojson b/packages/turf-clusters/test/in/many-points.geojson new file mode 100644 index 0000000000..f52e62fd50 --- /dev/null +++ b/packages/turf-clusters/test/in/many-points.geojson @@ -0,0 +1,5505 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.36337554761008, + 19.119473770547124 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.32753919964946, + 20.843505437175903 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.72930024352243, + 22.95523079568951 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.28985709132587, + 16.584015683001546 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.94492705924428, + 21.0702981386651 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.05488356732162, + 24.111641311913072 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.55079764304975, + 25.525431992772358 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.11420407247648, + 26.113452348786268 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.8076846951252, + 22.255910609327792 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.98702719224296, + 25.275001495112985 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.54236384636712, + 20.789257545981407 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.57808400285332, + 20.00051975393173 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.39655991111083, + 22.12594824182586 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.42324858424885, + 17.48175433130492 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.90361604004578, + 26.430002559611477 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.22266857015823, + 20.94137638968897 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.48717976822758, + 20.224242981590255 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.06779765523183, + 27.276249335066662 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.99075803676163, + 17.651929487468298 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.53563340237405, + 26.495418224944373 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.20462326614003, + 24.00357261039075 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.58330318049086, + 18.09915952726896 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.50889284912286, + 18.340562952508183 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.55680807421967, + 21.907870183116437 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.53689212714627, + 17.422501403729605 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.18027511981438, + 18.875894880366534 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.39732218872196, + 25.629464613691137 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.66061545607911, + 22.757810888614223 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.65357594791968, + 16.66838838845727 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.77643699392496, + 27.091684659861052 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.13081869539506, + 26.23449839991876 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.43824120718541, + 19.103181050521584 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.43898229878118, + 18.874231952472687 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.92734033427595, + 20.82599847071201 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.27364128877521, + 21.130861117009847 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.05413199086016, + 23.058073292292104 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.28388468077954, + 22.883779502221373 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.77696496688779, + 18.94471042190279 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.23882701110625, + 20.30184311650061 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.66116457836486, + 20.169682381560182 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.90248833212131, + 26.884383581357255 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.28525543556775, + 26.722194267296018 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.8977221405959, + 19.412558043465 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.07684618758876, + 27.17395724732544 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.41316964578398, + 23.148029434777555 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.92622530551323, + 25.623260952842156 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.2549851564484, + 22.35997051326973 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.7199945397987, + 25.802953128684692 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.96348979974654, + 27.35814140608639 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.04921623428444, + 20.61204095701038 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.54213379075634, + 25.505384186492893 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.61403051800008, + 17.263716566767037 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.25360192470616, + 18.686705558388965 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.42930471321405, + 20.022748677821312 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.44899512481147, + 21.52626642668551 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.38761515683782, + 18.77265726075554 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.12756391373203, + 25.531641282912506 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.65487739464005, + 20.270385418656613 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.44983759982364, + 18.547000172845294 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.53680657077764, + 25.303329199906706 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.01712484014583, + 24.449642983600107 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.86222771555597, + 22.720569651349564 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.2520931858629, + 25.53784765691357 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.60441825132624, + 23.93129090727725 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.2164652385625, + 25.79578750021983 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.63151040609172, + 24.490225688795583 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.51548817891319, + 17.202270132332913 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.3121102967554, + 25.956525827964448 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.27005222591032, + 17.528372337434828 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.0823710181298, + 25.482920857480014 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.75288708284614, + 18.922685406247748 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.52847693811808, + 24.220685835886385 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.42010129302429, + 25.72860309981145 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.03682779147974, + 27.053835982653894 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.67472974247343, + 24.956264380693316 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.95315877653405, + 18.41169388608788 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.57393282654176, + 26.261024024692077 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.92845035818462, + 17.837520858411256 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.5179339115434, + 23.450627516507094 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.71943800617547, + 19.616649637864654 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.93211879732236, + 26.33170236314861 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.10661507770358, + 25.13063963201959 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.24887371103026, + 21.739851639014628 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.26129906562491, + 21.294934204528648 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.2729878125471, + 23.65784314034355 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.3562097070285, + 24.24226765651852 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.99265814798184, + 27.483971653923085 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.63635988061537, + 18.75973134353604 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.76340181762502, + 26.57219504751686 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.45164209210782, + 23.76673190659356 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.65455892791887, + 27.186142540274957 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.03313564896565, + 24.333750064476934 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.87222884039794, + 19.159104199268683 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.54286133638129, + 24.13575708893132 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.26242751330523, + 20.472647289870025 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.80042213720098, + 20.990256802329768 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.5874725368364, + 25.039930971231904 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.85825660840021, + 25.43539990016023 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.17454776573982, + 23.461743771248557 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.40002194939215, + 20.67151202116478 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.23963323045145, + 23.244627904260923 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.81552101630216, + 26.53756981389545 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.9283270010284, + 24.674017344728615 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.70000865367116, + 21.542018533522416 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.48978633680683, + 19.623096473871033 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.67175298435387, + 17.880881534565148 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.04610391202878, + 26.551597087996466 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.84175265531377, + 16.85074369818602 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.95908129532202, + 21.185424844181092 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.88684525321649, + 18.726646021819167 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.15582212817301, + 18.696902173553443 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.5644212682104, + 20.850894115743387 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.37878622301193, + 16.91615114076283 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.81019601780373, + 17.165972386566605 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.4614226211491, + 23.444082141644998 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.18265845716839, + 25.295833894402776 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.09803657824347, + 23.3454534216312 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.34448173717335, + 17.84048983960788 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.18827115285569, + 20.273168111170328 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.26216347689832, + 23.673136982276464 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.21575485381635, + 23.096925087889748 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.01908584146595, + 21.557475862048076 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.92274968888073, + 26.019876080997598 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.55727606952377, + 22.36430316761306 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.25891612041117, + 19.525184281200534 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.64279747070925, + 25.651725881829897 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.40499501048518, + 16.63021658406485 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.64998704253041, + 24.234779530366744 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.30467012694315, + 17.92521920364085 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.76550387867614, + 21.84873202139447 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.2770011073176, + 26.540918581152965 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.20171143790367, + 24.334344930797855 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.51391779937516, + 18.211967578932978 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.81858154084357, + 19.071318793255987 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.87897523658762, + 22.009563011217917 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.17146072076018, + 22.71145107992815 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.14138268439117, + 27.295964747431004 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.01085563325441, + 23.60461239295877 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.61068998466835, + 21.311283807756645 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.76701891828932, + 27.195861233372437 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.55059712821668, + 25.49682672225246 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.42534293525704, + 20.342801196105015 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.85957138950651, + 25.651916540759668 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.67260570784427, + 20.45532583962798 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.81872422593077, + 21.669857512462364 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.38646877459935, + 19.37340763751337 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.50710379745864, + 18.424063455433217 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.632893967135, + 23.107454998460437 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.36852553393699, + 24.295072371424403 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.86140755178053, + 17.50071319492512 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.56458486764306, + 23.27787869671228 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.25719355261317, + 18.841254641177088 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.79365159485565, + 24.73837411446049 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.77110623794552, + 22.880747711470292 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.17830942471453, + 27.459109723499697 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.5062774214051, + 17.326690422594897 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.19600112265177, + 22.73914989583398 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.58173201222138, + 23.850997885697698 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.71045285694422, + 17.079742569860166 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.34171838085163, + 22.153445077419946 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.55081810986574, + 24.915158163291853 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.59793295622734, + 18.75099342612817 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.14433438213305, + 27.036543336370556 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.4434583942987, + 19.619680064723546 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.51440928893466, + 19.680938852916263 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.95150377384275, + 26.91911731157561 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.4550593256632, + 24.03016205722427 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.8228436577642, + 25.845318184468677 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.16769788043096, + 16.98191521287846 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.51634149582756, + 19.10937565092933 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.72446682780881, + 22.25313981239625 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.95113454727932, + 26.357292830184782 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.89319872559254, + 21.773847762169503 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.50995550468448, + 26.805856081166645 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.72311173060332, + 27.453459491416243 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.20796912251339, + 16.910765069076696 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.02923748665658, + 17.06286092924691 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.67236850288222, + 19.00571371998642 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.43657840692077, + 17.42104681957319 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.48932636312891, + 18.050155326157473 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.76206658518934, + 23.71467590682046 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.46253580071742, + 22.833272724615775 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.09703651590019, + 17.421833037838393 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.61013158110691, + 23.65729956086801 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.66397149031135, + 25.831969038126523 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.1727623444978, + 24.152605040309613 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.2741188221817, + 18.639289071153634 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.90735829536999, + 18.190052908059194 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.32489553257798, + 19.57470756961103 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.01326798044877, + 24.122014119489563 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.52731994000185, + 26.95480013106508 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.3558896446572, + 17.44256116852827 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.02534851234576, + 16.756254338847338 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.47025910061983, + 24.118620545794855 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.308362589921, + 20.54596248507216 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.34538728645822, + 24.41450380344747 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.33122422882889, + 23.37013167679639 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.27561331569953, + 16.994251063813262 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.86851913822156, + 25.81027224474102 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.24173363419717, + 24.34323106176321 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.84877351272029, + 26.92445686110058 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.71160840330522, + 21.77620359204627 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.20296576353552, + 21.709322849932395 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.04325753495058, + 24.349990861490674 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.01507615292597, + 18.68916636419406 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.98455859943033, + 21.06707023138771 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.40609968225364, + 21.87541299401925 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.66122425689909, + 19.364456854255717 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.2600583537702, + 21.659164464794838 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.73592652087561, + 17.55179712679042 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.80434002543046, + 18.311428726658654 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.89936609149818, + 27.20566948335109 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.9153275956025, + 22.728686372271056 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.22442161042382, + 20.946470968784404 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.23254193941007, + 26.262181726505418 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.62437731409852, + 19.781049107501957 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.49173903601617, + 16.92003208241821 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.25829317577141, + 21.827114782054075 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.65532298324348, + 17.29988957265243 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.3453947248687, + 24.50576556423695 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.37506450657898, + 16.711071194315227 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.42569161383636, + 21.026826554775827 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.43791743989885, + 24.962432920525124 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.84458598730575, + 23.70594482686843 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.37848518046901, + 26.34378098000883 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.13497764736996, + 17.934013939878078 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.54709582459233, + 16.53706271986311 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.17844562558024, + 23.80702766062598 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.64984925794586, + 27.17403653643745 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.89153777133139, + 23.170952976617727 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.93875091618717, + 25.00047089937265 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.9102252552082, + 23.883340808622673 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.45068182631776, + 24.018640243238202 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.56517209188608, + 24.748894301890655 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.41470444523833, + 26.791071724795167 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.27546806320538, + 24.62810216606337 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.37798026966385, + 22.800554127763526 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.67038090634749, + 19.518488261229543 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.51124408675949, + 18.95091920687403 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.72209650039468, + 24.280447748568445 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.28434198674468, + 17.20571626766068 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.15681636726895, + 26.828785859624258 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.11344269598334, + 17.666989151972253 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.96994176238145, + 22.888540550894795 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.50079368006108, + 26.634382308937134 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.54280695688689, + 23.237868840297253 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.59204571681656, + 24.786873137315194 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.01377215866017, + 18.936419309424537 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.01405131484972, + 18.581612310870824 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.6420973159142, + 18.58453117274099 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.74759623801513, + 26.12337676616272 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.05313261324237, + 19.319796400696145 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.13970036126891, + 17.506087557394512 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.75848457074353, + 21.115370497855984 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.16830971446066, + 24.6894321007414 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.21048541308969, + 17.919231608494442 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.97637737411591, + 23.150822409149665 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.98806643205722, + 18.733700354050203 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.73009496457921, + 23.7983464395302 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.21686530340585, + 18.59063554310776 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.94846192062774, + 19.236367113472895 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.97783503664645, + 19.823228188109127 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.31384918144222, + 22.633190689556994 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.49404471100601, + 22.009751251682275 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.1270341028659, + 25.781532521957693 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.51950761862354, + 23.496329401717578 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.67344643947845, + 20.92896756107965 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.28006204700529, + 18.638001663502685 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.33788518686183, + 24.089777622921456 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.03458096249997, + 22.65764273416216 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.80104984355006, + 26.237062559189845 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.21242542631086, + 20.177739085659635 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.38674449250746, + 17.652491491363605 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.93734071291428, + 23.99085830463023 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.20251485577793, + 26.55556740273682 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.73360568748585, + 26.28033941085063 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.13262960963559, + 22.34430874872904 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.54532805510269, + 17.55045667323678 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.80026818559628, + 18.561998669158292 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.28628835491551, + 19.571063802546057 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.58131591277606, + 24.21369712743759 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.88085722918547, + 19.753718721210948 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.64966522234937, + 20.677188588895476 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.24840889524553, + 19.69712523257967 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.96400931937723, + 18.174770180214516 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.70189850382681, + 16.534625567595363 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.810090294371, + 25.23156636266861 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.17536572906562, + 19.792647657345 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.79193518864761, + 24.737897659493715 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.93555696939467, + 19.98152959915939 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.21354373461136, + 25.88846335275895 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.32534041974515, + 26.094983944812824 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.97472021053458, + 26.061373986456793 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.84081911742697, + 23.793624669453152 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.24844766066971, + 24.484245781333726 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.90249827777127, + 22.05793250583984 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.07748325170441, + 27.337367361375666 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.52285998029147, + 17.487274302366117 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.81251634431071, + 20.933095236667395 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.58692805675213, + 24.80146814851551 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.47378831903654, + 21.652685460023044 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.70162022475394, + 19.229694616459863 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.78777310048918, + 23.92218146021364 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.80552346807535, + 22.161467782172014 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.55667427680913, + 22.171811135508918 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.49928602385201, + 27.41608769703238 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.34842284656386, + 17.435895054282373 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.21228170738233, + 22.173670632023597 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.90881672418563, + 21.468642424655155 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.56477901274141, + 23.02518524523849 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.43974652662247, + 22.60413987147912 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.5883411017305, + 19.917932537792794 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.35881511009039, + 19.09687830115208 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.72145863838075, + 25.18049472134159 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.95694749118951, + 27.39255408553263 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.44936060272309, + 27.49130192814892 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.61820042082097, + 23.049137776556364 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.10989174097693, + 18.469712160553517 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.379040540202, + 20.37524788330293 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.51495780456581, + 16.669087042407536 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.10886304098058, + 16.8269149948045 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.72560883757795, + 16.962762773864505 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.89333076284501, + 24.384990740752006 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.59332944904146, + 24.120911542546878 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.42817901090537, + 17.74846475203746 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.89833899459296, + 19.72230811960007 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.98171564844314, + 21.140743955694063 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.99706809934376, + 18.63550290606603 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.13208804398411, + 19.266357159361213 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.44208974284808, + 18.89754661420165 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.67095396405709, + 17.953443362949123 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.61949782551551, + 25.38069882274378 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.82927583009545, + 18.920544836399152 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.71898403700982, + 22.858679743400074 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.05832892131573, + 25.244587077548168 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.53486708882008, + 18.05579400531109 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.3189432679756, + 20.059875630170964 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.96213190737039, + 26.279325304846623 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.44927404052561, + 17.791447001826654 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.39338327111777, + 24.626502743687922 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.58570795493182, + 25.546633692923525 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.83961825329554, + 25.484747617185402 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.87200031832714, + 23.66114743521159 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.83487262625073, + 20.095259588587723 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.91640675333899, + 16.590848739189624 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.30245460933854, + 19.23352889608482 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.14994486721066, + 20.53183273996738 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.80521037357039, + 21.252980629644455 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.8787989831883, + 18.218515429796344 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.76978734183139, + 17.7977450107505 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.80371392928168, + 26.040116775073876 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.95744087420283, + 25.191234441288678 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.77674346051477, + 21.375540465284374 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.29292929991102, + 21.98589295297564 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.66745422227388, + 26.168091294302087 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.92295434812097, + 23.30372425686007 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.96026394085236, + 25.51392205303288 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.43164354544895, + 17.413235272364112 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.28566063654243, + 18.482281406816814 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.18586938186745, + 27.019278441405643 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.00665657564603, + 18.009509829132515 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.78174587415, + 25.852826126614094 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.17395695535176, + 20.322052935788367 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.75631134659818, + 27.4074383447763 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.30133416063728, + 22.908999108726512 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.5468209860248, + 25.79011427888136 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.50335139484208, + 25.338279000551893 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.85611159709538, + 24.40263258506802 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.19143746995799, + 22.76299900389558 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.49961985245375, + 23.749896556565293 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.93434205722116, + 17.8751516982336 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.47725300277814, + 20.834238692742822 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.40866406564102, + 24.65588369863437 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.23086732338659, + 22.010870880797054 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.55598541988493, + 23.62640751670331 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.067479899787, + 22.44918038801505 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.5723788030903, + 23.774277575000852 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.68634851848167, + 23.203154689599817 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.97302399035408, + 22.395504699565535 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.47937906764957, + 24.839570106333433 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.63060572237521, + 22.939370867570908 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.28374988273468, + 16.800162341500304 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.01980255637385, + 21.18954858284259 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.80981841825783, + 16.752970728846513 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.0632043924848, + 17.78197939775129 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.31937806169958, + 16.63036465541673 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.51362280935948, + 19.07306061464646 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.6462554841785, + 18.765258635070385 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.90737511126233, + 25.663681166863604 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.3184598837461, + 20.339708336838683 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.25614050898571, + 20.47865304539995 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.05273739031475, + 27.278196207610172 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.57090751033381, + 25.058967866824403 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.72044789264216, + 17.86742294760512 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.45286775268717, + 27.264956115483226 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.46924741699405, + 22.27588495796526 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.2743504888918, + 26.691822644671085 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.18119091611597, + 24.755151867045228 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.9753411638257, + 22.736683695999382 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.17815192274419, + 17.766464076510605 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.79951671731996, + 16.979753651505465 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.81530228240368, + 21.899431865794316 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.15292492090326, + 18.519443297834165 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.11308732341453, + 22.73505946813462 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.00830955618024, + 21.885311144830727 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.54728340532579, + 17.713742740545893 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.53755328892348, + 25.323104677883705 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.68105867358958, + 27.21289905396955 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.96411774831036, + 22.888644254222072 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.98170526139158, + 20.98332034823357 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.56755786305595, + 19.40265705295205 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.9097441614737, + 25.69899354986159 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.8522033753837, + 16.57371866969067 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.59048812893998, + 22.36793387394907 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.69797232502891, + 17.49676706923224 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.4273474590883, + 20.29560385897871 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.75702086888295, + 18.06842605714349 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.93509999305662, + 24.197922897145702 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.59056449409796, + 17.249155158477635 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.04442014558218, + 20.180967527569678 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.37084983049334, + 18.874173436903888 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.56890381178304, + 24.88700194600341 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.06300053256552, + 25.068476848998436 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -79.07431215190033, + 23.634255220677876 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.97261043138833, + 20.783569456567577 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.69220087076908, + 23.99722100792555 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.28624765409677, + 19.684275914963393 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.26371632117386, + 23.468899954784128 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.64211828010676, + 22.535063069435896 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.76720344494535, + 17.95425416674962 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.84949687526881, + 23.882703836621122 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.51599855499506, + 22.18056139559293 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.0586637697147, + 22.618118595420675 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.82988603140993, + 22.75446266986306 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.10048201961024, + 21.361849810266136 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.04153303125153, + 20.350657127526738 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.59504589774306, + 27.064096554971023 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.07548891214728, + 17.301084891511273 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.33158765668573, + 19.452979509754268 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.81854336800883, + 24.131395375394586 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.684418563593, + 21.47654476359144 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.00730697784353, + 25.897847636990367 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.40829350874473, + 27.268125557919248 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.2707934048482, + 20.982305048038683 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.38809337052642, + 26.427105032557755 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.0134734724832, + 25.13419607033201 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.17642686622017, + 25.221069930712087 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.71994017762563, + 20.189025977120103 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.29187361259146, + 27.392240106344147 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.79976558388476, + 20.035863120368496 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.3275873181896, + 23.43075879262019 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.30217792473226, + 22.66331518976522 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.02504204870841, + 18.793197099411397 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.96796993174219, + 24.703657172369798 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.41505346819054, + 25.017559911985607 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.287484618002, + 19.75003759357949 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.25519670513809, + 19.980973614544432 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.3831207434748, + 20.990164116130572 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.30367109087219, + 25.1900948213395 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.33929483454432, + 17.79933711363019 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.3072622609112, + 19.064713633397105 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.09464045072042, + 16.867824298530778 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.01339730011378, + 25.682665424232965 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.74959288173342, + 17.47999904710256 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.95625724719481, + 26.53239538653403 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.95900351362758, + 26.964513550251407 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.22624323598141, + 17.943008474474265 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.14342020536195, + 18.867794740406104 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.61849018164143, + 22.47855670455455 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.7861071942679, + 18.669738072373164 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.00369227814197, + 24.612757650509216 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.77138891405684, + 20.81044983619232 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.89623600838752, + 19.396975077838288 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.40595166597085, + 26.80155978434455 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.80825302190365, + 23.35316310450464 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.96259557904392, + 24.196187792487656 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.08863800575135, + 25.15698262014013 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.75695759804495, + 20.08490410319372 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.42234796309599, + 26.22301149374214 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.26218882048389, + 26.41236152098589 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.87135659444625, + 17.56355668256735 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.49722908932829, + 21.926256397875694 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.7096594822639, + 24.460836562368442 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.09304190552334, + 27.42090911618883 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.0243253011326, + 17.45098074087971 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.25880876997459, + 18.567348945414572 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.15374231895991, + 19.572527461376602 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.90718745331596, + 18.01378466658022 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -83.3932989046418, + 19.030002383084067 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.56289580127358, + 23.7331334661265 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.32615130900722, + 23.22949976202878 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.32932140159735, + 21.369086228743924 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.40761927871347, + 22.617986414434352 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.6909951062254, + 17.986704731304503 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.38990946382116, + 17.402709176906622 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.59495181641225, + 22.81831350748234 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.38487102139864, + 26.08247375588085 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -84.86031632408672, + 24.23389023003475 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -80.76905431857912, + 27.471768557404076 + ] + }, + "properties": {} + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -72.43945965828523, + 18.638609876647752 + ] + }, + "properties": {} + } + ] +} \ No newline at end of file diff --git a/packages/turf-clusters/test/in/points1.geojson b/packages/turf-clusters/test/in/points1.geojson new file mode 100644 index 0000000000..33d1bc09ae --- /dev/null +++ b/packages/turf-clusters/test/in/points1.geojson @@ -0,0 +1,239 @@ +{ + "type": "FeatureCollection", + "properties": { + "numberOfCentroids": 3 + }, + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -82.46337890625, + 23.059516273509303 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -82.353515625, + 23.120153621695614 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -82.36450195312499, + 23.074678175027337 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -82.19970703125, + 23.221154981846556 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -82.19970703125, + 23.089838367476705 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -82.28759765625, + 22.99379497224218 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -75.8551025390625, + 20.035289711352377 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -75.6683349609375, + 20.128155311797183 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -75.73974609375, + 20.122997556207757 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -75.6683349609375, + 20.030128899024707 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -75.80017089843749, + 20.040450354169483 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -76.0089111328125, + 20.226120295836992 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -76.0308837890625, + 19.926877111209265 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -75.7562255859375, + 20.014645445341365 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -80.46936035156249, + 22.070368801349257 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -80.34027099609375, + 22.2026634080092 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -80.35675048828125, + 22.12126604542578 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -80.43914794921875, + 22.271305748177635 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -80.38970947265625, + 22.021999432851782 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -80.55999755859375, + 22.118721619281263 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -80.54351806640625, + 22.0525504317147 + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/turf-clusters/test/out/many-points.geojson b/packages/turf-clusters/test/out/many-points.geojson new file mode 100644 index 0000000000..91dd93d4fd --- /dev/null +++ b/packages/turf-clusters/test/out/many-points.geojson @@ -0,0 +1,7761 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.36337554761008, + 19.119473770547124 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.28985709132587, + 16.584015683001546 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.58330318049086, + 18.09915952726896 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.71943800617547, + 19.616649637864654 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.81019601780373, + 17.165972386566605 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.30467012694315, + 17.92521920364085 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.51391779937516, + 18.211967578932978 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.50710379745864, + 18.424063455433217 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.71045285694422, + 17.079742569860166 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.16769788043096, + 16.98191521287846 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.67236850288222, + 19.00571371998642 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.01507615292597, + 18.68916636419406 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.49173903601617, + 16.92003208241821 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.13497764736996, + 17.934013939878078 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.54709582459233, + 16.53706271986311 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.67038090634749, + 19.518488261229543 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.05313261324237, + 19.319796400696145 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.21686530340585, + 18.59063554310776 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.91640675333899, + 16.590848739189624 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.56755786305595, + 19.40265705295205 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.07548891214728, + 17.301084891511273 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.33158765668573, + 19.452979509754268 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.02504204870841, + 18.793197099411397 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.09464045072042, + 16.867824298530778 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.7861071942679, + 18.669738072373164 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.32753919964946, + 20.843505437175903 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.54236384636712, + 20.789257545981407 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.48717976822758, + 20.224242981590255 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.2549851564484, + 22.35997051326973 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.44899512481147, + 21.52626642668551 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.26129906562491, + 21.294934204528648 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.26242751330523, + 20.472647289870025 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.70000865367116, + 21.542018533522416 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.95908129532202, + 21.185424844181092 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.55727606952377, + 22.36430316761306 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.42534293525704, + 20.342801196105015 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.98455859943033, + 21.06707023138771 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.40609968225364, + 21.87541299401925 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.42569161383636, + 21.026826554775827 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.96994176238145, + 22.888540550894795 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.75848457074353, + 21.115370497855984 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.31384918144222, + 22.633190689556994 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.67344643947845, + 20.92896756107965 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.93555696939467, + 19.98152959915939 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.19143746995799, + 22.76299900389558 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.01980255637385, + 21.18954858284259 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.10048201961024, + 21.361849810266136 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.71994017762563, + 20.189025977120103 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.287484618002, + 19.75003759357949 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.61849018164143, + 22.47855670455455 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.59495181641225, + 22.81831350748234 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.72930024352243, + 22.95523079568951 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.39655991111083, + 22.12594824182586 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.20462326614003, + 24.00357261039075 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.66061545607911, + 22.757810888614223 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.92734033427595, + 20.82599847071201 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.05413199086016, + 23.058073292292104 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.41316964578398, + 23.148029434777555 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.60441825132624, + 23.93129090727725 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.54286133638129, + 24.13575708893132 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.5644212682104, + 20.850894115743387 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.26216347689832, + 23.673136982276464 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.20171143790367, + 24.334344930797855 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.87897523658762, + 22.009563011217917 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.61068998466835, + 21.311283807756645 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.58173201222138, + 23.850997885697698 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.4550593256632, + 24.03016205722427 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.72446682780881, + 22.25313981239625 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.89319872559254, + 21.773847762169503 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.76206658518934, + 23.71467590682046 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.61013158110691, + 23.65729956086801 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.01326798044877, + 24.122014119489563 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.3453947248687, + 24.50576556423695 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.9102252552082, + 23.883340808622673 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.45068182631776, + 24.018640243238202 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.49404471100601, + 22.009751251682275 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.13262960963559, + 22.34430874872904 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.24844766066971, + 24.484245781333726 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.80552346807535, + 22.161467782172014 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.43974652662247, + 22.60413987147912 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.92295434812097, + 23.30372425686007 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.23086732338659, + 22.010870880797054 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.5723788030903, + 23.774277575000852 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.68634851848167, + 23.203154689599817 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.46924741699405, + 22.27588495796526 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.18119091611597, + 24.755151867045228 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.11308732341453, + 22.73505946813462 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.07431215190033, + 23.634255220677876 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.81854336800883, + 24.131395375394586 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.30217792473226, + 22.66331518976522 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.49722908932829, + 21.926256397875694 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.40761927871347, + 22.617986414434352 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.53689212714627, + 17.422501403729605 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.77696496688779, + 18.94471042190279 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.8977221405959, + 19.412558043465 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.87222884039794, + 19.159104199268683 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.67175298435387, + 17.880881534565148 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.15582212817301, + 18.696902173553443 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.34448173717335, + 17.84048983960788 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.25719355261317, + 18.841254641177088 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.5062774214051, + 17.326690422594897 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.51440928893466, + 19.680938852916263 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.20796912251339, + 16.910765069076696 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.43657840692077, + 17.42104681957319 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.09703651590019, + 17.421833037838393 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.32489553257798, + 19.57470756961103 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.02534851234576, + 16.756254338847338 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.27561331569953, + 16.994251063813262 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.98806643205722, + 18.733700354050203 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.97783503664645, + 19.823228188109127 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.28006204700529, + 18.638001663502685 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.52285998029147, + 17.487274302366117 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.34842284656386, + 17.435895054282373 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.51495780456581, + 16.669087042407536 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.72560883757795, + 16.962762773864505 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.67095396405709, + 17.953443362949123 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.53486708882008, + 18.05579400531109 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.17815192274419, + 17.766464076510605 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.69797232502891, + 17.49676706923224 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.33929483454432, + 17.79933711363019 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.14342020536195, + 18.867794740406104 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.3932989046418, + 19.030002383084067 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.94492705924428, + 21.0702981386651 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.8076846951252, + 22.255910609327792 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.57808400285332, + 20.00051975393173 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.23882701110625, + 20.30184311650061 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.04921623428444, + 20.61204095701038 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.24887371103026, + 21.739851639014628 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.80042213720098, + 20.990256802329768 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.40002194939215, + 20.67151202116478 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.17146072076018, + 22.71145107992815 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.81872422593077, + 21.669857512462364 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.56458486764306, + 23.27787869671228 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.46253580071742, + 22.833272724615775 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.308362589921, + 20.54596248507216 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.22442161042382, + 20.946470968784404 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.89153777133139, + 23.170952976617727 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.90249827777127, + 22.05793250583984 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.47378831903654, + 21.652685460023044 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.21228170738233, + 22.173670632023597 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.71898403700982, + 22.858679743400074 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.14994486721066, + 20.53183273996738 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.29292929991102, + 21.98589295297564 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.17395695535176, + 20.322052935788367 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.30133416063728, + 22.908999108726512 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.067479899787, + 22.44918038801505 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.97302399035408, + 22.395504699565535 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.3184598837461, + 20.339708336838683 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.59048812893998, + 22.36793387394907 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.04442014558218, + 20.180967527569678 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.97261043138833, + 20.783569456567577 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.51599855499506, + 22.18056139559293 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.3275873181896, + 23.43075879262019 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.77138891405684, + 20.81044983619232 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.06779765523183, + 27.276249335066662 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.53563340237405, + 26.495418224944373 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.77643699392496, + 27.091684659861052 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.90248833212131, + 26.884383581357255 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.07684618758876, + 27.17395724732544 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.54213379075634, + 25.505384186492893 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.12756391373203, + 25.531641282912506 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.03682779147974, + 27.053835982653894 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.5874725368364, + 25.039930971231904 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.04610391202878, + 26.551597087996466 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.92274968888073, + 26.019876080997598 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.64279747070925, + 25.651725881829897 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.2770011073176, + 26.540918581152965 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.14138268439117, + 27.295964747431004 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.76701891828932, + 27.195861233372437 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.55059712821668, + 25.49682672225246 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.79365159485565, + 24.73837411446049 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.14433438213305, + 27.036543336370556 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.95150377384275, + 26.91911731157561 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.52731994000185, + 26.95480013106508 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.43791743989885, + 24.962432920525124 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.1270341028659, + 25.781532521957693 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.73360568748585, + 26.28033941085063 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.79193518864761, + 24.737897659493715 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.58692805675213, + 24.80146814851551 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.39338327111777, + 24.626502743687922 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.95744087420283, + 25.191234441288678 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.75631134659818, + 27.4074383447763 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.50335139484208, + 25.338279000551893 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.57090751033381, + 25.058967866824403 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.9097441614737, + 25.69899354986159 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.06300053256552, + 25.068476848998436 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.40829350874473, + 27.268125557919248 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.38809337052642, + 26.427105032557755 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.30367109087219, + 25.1900948213395 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.01339730011378, + 25.682665424232965 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.08863800575135, + 25.15698262014013 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.26218882048389, + 26.41236152098589 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.55079764304975, + 25.525431992772358 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.39732218872196, + 25.629464613691137 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.96348979974654, + 27.35814140608639 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.3121102967554, + 25.956525827964448 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.93211879732236, + 26.33170236314861 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.99265814798184, + 27.483971653923085 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.65455892791887, + 27.186142540274957 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.81552101630216, + 26.53756981389545 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.17830942471453, + 27.459109723499697 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.04325753495058, + 24.349990861490674 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.89936609149818, + 27.20566948335109 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.23254193941007, + 26.262181726505418 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.37848518046901, + 26.34378098000883 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.64984925794586, + 27.17403653643745 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.41470444523833, + 26.791071724795167 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.15681636726895, + 26.828785859624258 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.50079368006108, + 26.634382308937134 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.80104984355006, + 26.237062559189845 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.20251485577793, + 26.55556740273682 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.32534041974515, + 26.094983944812824 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.97472021053458, + 26.061373986456793 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.72145863838075, + 25.18049472134159 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.95694749118951, + 27.39255408553263 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.61949782551551, + 25.38069882274378 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.05832892131573, + 25.244587077548168 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.96213190737039, + 26.279325304846623 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.18586938186745, + 27.019278441405643 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.5468209860248, + 25.79011427888136 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.05273739031475, + 27.278196207610172 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.68105867358958, + 27.21289905396955 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.42234796309599, + 26.22301149374214 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.38487102139864, + 26.08247375588085 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.76905431857912, + 27.471768557404076 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.11420407247648, + 26.113452348786268 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.92622530551323, + 25.623260952842156 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.2164652385625, + 25.79578750021983 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.67472974247343, + 24.956264380693316 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.76340181762502, + 26.57219504751686 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.9283270010284, + 24.674017344728615 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.8228436577642, + 25.845318184468677 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.95113454727932, + 26.357292830184782 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.72311173060332, + 27.453459491416243 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.86851913822156, + 25.81027224474102 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.84877351272029, + 26.92445686110058 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.72209650039468, + 24.280447748568445 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.59204571681656, + 24.786873137315194 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.810090294371, + 25.23156636266861 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.78777310048918, + 23.92218146021364 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.58570795493182, + 25.546633692923525 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.80371392928168, + 26.040116775073876 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.66745422227388, + 26.168091294302087 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.96026394085236, + 25.51392205303288 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.78174587415, + 25.852826126614094 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.53755328892348, + 25.323104677883705 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.7096594822639, + 24.460836562368442 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.09304190552334, + 27.42090911618883 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.05488356732162, + 24.111641311913072 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.27364128877521, + 21.130861117009847 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.23963323045145, + 23.244627904260923 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.4614226211491, + 23.444082141644998 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.01085563325441, + 23.60461239295877 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.632893967135, + 23.107454998460437 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.34538728645822, + 24.41450380344747 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.33122422882889, + 23.37013167679639 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.71160840330522, + 21.77620359204627 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.9153275956025, + 22.728686372271056 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.84458598730575, + 23.70594482686843 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.54280695688689, + 23.237868840297253 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.97637737411591, + 23.150822409149665 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.73009496457921, + 23.7983464395302 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.03458096249997, + 22.65764273416216 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.93734071291428, + 23.99085830463023 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.55667427680913, + 22.171811135508918 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.90881672418563, + 21.468642424655155 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.89333076284501, + 24.384990740752006 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.59332944904146, + 24.120911542546878 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.63060572237521, + 22.939370867570908 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.9753411638257, + 22.736683695999382 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.81530228240368, + 21.899431865794316 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.69220087076908, + 23.99722100792555 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.64211828010676, + 22.535063069435896 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.80825302190365, + 23.35316310450464 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.56289580127358, + 23.7331334661265 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.32615130900722, + 23.22949976202878 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.13081869539506, + 26.23449839991876 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.53680657077764, + 25.303329199906706 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.2520931858629, + 25.53784765691357 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.52847693811808, + 24.220685835886385 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.5179339115434, + 23.450627516507094 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.10661507770358, + 25.13063963201959 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.2729878125471, + 23.65784314034355 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.3562097070285, + 24.24226765651852 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.03313564896565, + 24.333750064476934 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.09803657824347, + 23.3454534216312 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.64998704253041, + 24.234779530366744 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.36852553393699, + 24.295072371424403 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.50995550468448, + 26.805856081166645 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.1727623444978, + 24.152605040309613 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.47025910061983, + 24.118620545794855 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.93875091618717, + 25.00047089937265 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.56517209188608, + 24.748894301890655 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.27546806320538, + 24.62810216606337 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.74759623801513, + 26.12337676616272 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.21354373461136, + 25.88846335275895 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.07748325170441, + 27.337367361375666 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.83961825329554, + 25.484747617185402 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.87200031832714, + 23.66114743521159 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.40866406564102, + 24.65588369863437 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.55598541988493, + 23.62640751670331 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.45286775268717, + 27.264956115483226 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.56890381178304, + 24.88700194600341 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.00730697784353, + 25.897847636990367 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.41505346819054, + 25.017559911985607 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.95900351362758, + 26.964513550251407 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.40595166597085, + 26.80155978434455 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.96259557904392, + 24.196187792487656 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.55680807421967, + 21.907870183116437 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.28388468077954, + 22.883779502221373 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.86222771555597, + 22.720569651349564 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.45164209210782, + 23.76673190659356 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.21575485381635, + 23.096925087889748 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.01908584146595, + 21.557475862048076 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.76550387867614, + 21.84873202139447 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.77110623794552, + 22.880747711470292 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.19600112265177, + 22.73914989583398 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.34171838085163, + 22.153445077419946 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.20296576353552, + 21.709322849932395 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.2600583537702, + 21.659164464794838 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.25829317577141, + 21.827114782054075 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.17844562558024, + 23.80702766062598 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.37798026966385, + 22.800554127763526 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.56477901274141, + 23.02518524523849 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.61820042082097, + 23.049137776556364 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.98171564844314, + 21.140743955694063 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.80521037357039, + 21.252980629644455 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.49961985245375, + 23.749896556565293 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.00830955618024, + 21.885311144830727 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.96411774831036, + 22.888644254222072 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.93509999305662, + 24.197922897145702 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.26371632117386, + 23.468899954784128 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.0586637697147, + 22.618118595420675 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.82988603140993, + 22.75446266986306 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.684418563593, + 21.47654476359144 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.3831207434748, + 20.990164116130572 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.32932140159735, + 21.369086228743924 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.50889284912286, + 18.340562952508183 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.18027511981438, + 18.875894880366534 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.43824120718541, + 19.103181050521584 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.42930471321405, + 20.022748677821312 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.38761515683782, + 18.77265726075554 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.65487739464005, + 20.270385418656613 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.44983759982364, + 18.547000172845294 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.75288708284614, + 18.922685406247748 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.18827115285569, + 20.273168111170328 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.25891612041117, + 19.525184281200534 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.81858154084357, + 19.071318793255987 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.67260570784427, + 20.45532583962798 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.59793295622734, + 18.75099342612817 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.48932636312891, + 18.050155326157473 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.2741188221817, + 18.639289071153634 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.90735829536999, + 18.190052908059194 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.73592652087561, + 17.55179712679042 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.62437731409852, + 19.781049107501957 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.37506450657898, + 16.711071194315227 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.51124408675949, + 18.95091920687403 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.21242542631086, + 20.177739085659635 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.38674449250746, + 17.652491491363605 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.88085722918547, + 19.753718721210948 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.64966522234937, + 20.677188588895476 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.24840889524553, + 19.69712523257967 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.70162022475394, + 19.229694616459863 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.379040540202, + 20.37524788330293 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.10886304098058, + 16.8269149948045 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.44208974284808, + 18.89754661420165 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.82927583009545, + 18.920544836399152 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.3189432679756, + 20.059875630170964 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.30245460933854, + 19.23352889608482 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.8787989831883, + 18.218515429796344 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.0632043924848, + 17.78197939775129 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.98170526139158, + 20.98332034823357 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.8522033753837, + 16.57371866969067 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.4273474590883, + 20.29560385897871 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.75702086888295, + 18.06842605714349 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.04153303125153, + 20.350657127526738 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.79976558388476, + 20.035863120368496 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.22624323598141, + 17.943008474474265 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.75695759804495, + 20.08490410319372 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.25880876997459, + 18.567348945414572 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.65357594791968, + 16.66838838845727 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.61403051800008, + 17.263716566767037 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.25360192470616, + 18.686705558388965 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.51548817891319, + 17.202270132332913 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.27005222591032, + 17.528372337434828 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.92845035818462, + 17.837520858411256 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.84175265531377, + 16.85074369818602 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.37878622301193, + 16.91615114076283 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.40499501048518, + 16.63021658406485 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.86140755178053, + 17.50071319492512 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.51634149582756, + 19.10937565092933 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.80434002543046, + 18.311428726658654 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.28434198674468, + 17.20571626766068 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.11344269598334, + 17.666989151972253 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.01405131484972, + 18.581612310870824 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.13970036126891, + 17.506087557394512 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.54532805510269, + 17.55045667323678 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.28628835491551, + 19.571063802546057 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.70189850382681, + 16.534625567595363 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.17536572906562, + 19.792647657345 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.10989174097693, + 18.469712160553517 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.99706809934376, + 18.63550290606603 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.44927404052561, + 17.791447001826654 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.28566063654243, + 18.482281406816814 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.93434205722116, + 17.8751516982336 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.28374988273468, + 16.800162341500304 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.80981841825783, + 16.752970728846513 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.6462554841785, + 18.765258635070385 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.79951671731996, + 16.979753651505465 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.54728340532579, + 17.713742740545893 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.25519670513809, + 19.980973614544432 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.0243253011326, + 17.45098074087971 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.90718745331596, + 18.01378466658022 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.6909951062254, + 17.986704731304503 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.38990946382116, + 17.402709176906622 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.42324858424885, + 17.48175433130492 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.99075803676163, + 17.651929487468298 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.95315877653405, + 18.41169388608788 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.63635988061537, + 18.75973134353604 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.02923748665658, + 17.06286092924691 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.3558896446572, + 17.44256116852827 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.66122425689909, + 19.364456854255717 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.65532298324348, + 17.29988957265243 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.01377215866017, + 18.936419309424537 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.21048541308969, + 17.919231608494442 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.94846192062774, + 19.236367113472895 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.80026818559628, + 18.561998669158292 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.42817901090537, + 17.74846475203746 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.89833899459296, + 19.72230811960007 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.76978734183139, + 17.7977450107505 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.43164354544895, + 17.413235272364112 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -73.31937806169958, + 16.63036465541673 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.51362280935948, + 19.07306061464646 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.72044789264216, + 17.86742294760512 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.59056449409796, + 17.249155158477635 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.37084983049334, + 18.874173436903888 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.76720344494535, + 17.95425416674962 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.3072622609112, + 19.064713633397105 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.74959288173342, + 17.47999904710256 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -70.89623600838752, + 19.396975077838288 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.87135659444625, + 17.56355668256735 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.15374231895991, + 19.572527461376602 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.43945965828523, + 18.638609876647752 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.98702719224296, + 25.275001495112985 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.90361604004578, + 26.430002559611477 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.28525543556775, + 26.722194267296018 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.7199945397987, + 25.802953128684692 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.01712484014583, + 24.449642983600107 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.63151040609172, + 24.490225688795583 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.0823710181298, + 25.482920857480014 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.42010129302429, + 25.72860309981145 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.57393282654176, + 26.261024024692077 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.85825660840021, + 25.43539990016023 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.17454776573982, + 23.461743771248557 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.18265845716839, + 25.295833894402776 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.85957138950651, + 25.651916540759668 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.55081810986574, + 24.915158163291853 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.66397149031135, + 25.831969038126523 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.24173363419717, + 24.34323106176321 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.16830971446066, + 24.6894321007414 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.51950761862354, + 23.496329401717578 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.33788518686183, + 24.089777622921456 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.58131591277606, + 24.21369712743759 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.84081911742697, + 23.793624669453152 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.49928602385201, + 27.41608769703238 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.44936060272309, + 27.49130192814892 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.85611159709538, + 24.40263258506802 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.47937906764957, + 24.839570106333433 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.90737511126233, + 25.663681166863604 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.2743504888918, + 26.691822644671085 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.84949687526881, + 23.882703836621122 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.59504589774306, + 27.064096554971023 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.0134734724832, + 25.13419607033201 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.17642686622017, + 25.221069930712087 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.29187361259146, + 27.392240106344147 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.96796993174219, + 24.703657172369798 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.95625724719481, + 26.53239538653403 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -86.00369227814197, + 24.612757650509216 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.86031632408672, + 24.23389023003475 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.22266857015823, + 20.94137638968897 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.43898229878118, + 18.874231952472687 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.66116457836486, + 20.169682381560182 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.48978633680683, + 19.623096473871033 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.88684525321649, + 18.726646021819167 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.38646877459935, + 19.37340763751337 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.4434583942987, + 19.619680064723546 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.6420973159142, + 18.58453117274099 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.96400931937723, + 18.174770180214516 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.81251634431071, + 20.933095236667395 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.5883411017305, + 19.917932537792794 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.35881511009039, + 19.09687830115208 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.13208804398411, + 19.266357159361213 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.83487262625073, + 20.095259588587723 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.77674346051477, + 21.375540465284374 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.00665657564603, + 18.009509829132515 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.47725300277814, + 20.834238692742822 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.25614050898571, + 20.47865304539995 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.15292492090326, + 18.519443297834165 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.28624765409677, + 19.684275914963393 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.2707934048482, + 20.982305048038683 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#000080", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.22273916681061, + 18.11205670884361 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#2f0080", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.201027549492, + 21.346638923038203 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#5f0080", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.80959890542613, + 23.062586927512516 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#80006e", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.07389862745148, + 18.10014805204155 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 4, + "marker-color": "#80003e", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.1036518524473, + 21.632139370868533 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 5, + "marker-color": "#80000e", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.59772375968392, + 26.040657608812058 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 6, + "marker-color": "#802000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -78.71931668447289, + 26.441283306379056 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 7, + "marker-color": "#805000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.60386443367564, + 25.68144722581964 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 8, + "marker-color": "#808000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.65884587304036, + 23.14443612672486 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 9, + "marker-color": "#4f8000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.28970527419875, + 25.03901137331529 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 10, + "marker-color": "#1f8000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.67819501734249, + 22.456058950791007 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 11, + "marker-color": "#008010", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -74.87813096725604, + 19.051404705480532 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 12, + "marker-color": "#008040", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -77.46953467512287, + 17.829026800774887 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 13, + "marker-color": "#008070", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -71.88949473129752, + 18.220552149539706 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 14, + "marker-color": "#005e80", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -85.66057622205204, + 25.309521790657058 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 15, + "marker-color": "#002f80", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.95661302836459, + 19.68004339959817 + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/turf-clusters/test/out/points1.geojson b/packages/turf-clusters/test/out/points1.geojson new file mode 100644 index 0000000000..4dffa56c35 --- /dev/null +++ b/packages/turf-clusters/test/out/points1.geojson @@ -0,0 +1,368 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.46337890625, + 23.059516273509303 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.353515625, + 23.120153621695614 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.36450195312499, + 23.074678175027337 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.19970703125, + 23.221154981846556 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.19970703125, + 23.089838367476705 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.28759765625, + 22.99379497224218 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff0000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.46936035156249, + 22.070368801349257 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff0000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.34027099609375, + 22.2026634080092 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff0000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.35675048828125, + 22.12126604542578 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff0000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.43914794921875, + 22.271305748177635 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff0000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.38970947265625, + 22.021999432851782 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff0000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.55999755859375, + 22.118721619281263 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff0000", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.54351806640625, + 22.0525504317147 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.8551025390625, + 20.035289711352377 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.6683349609375, + 20.128155311797183 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.73974609375, + 20.122997556207757 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.6683349609375, + 20.030128899024707 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.80017089843749, + 20.040450354169483 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.0089111328125, + 20.226120295836992 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.0308837890625, + 19.926877111209265 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#00ff01", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.7562255859375, + 20.014645445341365 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#000080", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.3114013671875, + 23.093189398632948 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#800000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -80.44267926897321, + 22.122696498115662 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#008001", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -75.81596374511719, + 20.06558308561739 + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/turf-clusters/types.ts b/packages/turf-clusters/types.ts new file mode 100644 index 0000000000..47b206a354 --- /dev/null +++ b/packages/turf-clusters/types.ts @@ -0,0 +1,13 @@ +import * as random from '@turf/random' +import * as clusters from './' + +const points = random('point', 50, { + bbox: [0, 30, 20, 50] +}) + +const numberOfClusters = 5; +const clustered = clusters(points, numberOfClusters) + +// Properties option +clusters(points) +clusters(points, numberOfClusters) From 436b23824f26a290bc81bb9444faef60fb2254fc Mon Sep 17 00:00:00 2001 From: stebogit Date: Tue, 13 Jun 2017 01:18:42 -0700 Subject: [PATCH 02/10] added points2 test --- .../turf-clusters/test/in/points2.geojson | 371 ++++++++++++ .../turf-clusters/test/out/points2.geojson | 564 ++++++++++++++++++ 2 files changed, 935 insertions(+) create mode 100644 packages/turf-clusters/test/in/points2.geojson create mode 100644 packages/turf-clusters/test/out/points2.geojson diff --git a/packages/turf-clusters/test/in/points2.geojson b/packages/turf-clusters/test/in/points2.geojson new file mode 100644 index 0000000000..54ea5290c7 --- /dev/null +++ b/packages/turf-clusters/test/in/points2.geojson @@ -0,0 +1,371 @@ +{ + "type": "FeatureCollection", + "properties": { + "numberOfCentroids": 4 + }, + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -118.30078125, + 60.457217797743944 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -115.04882812499999, + 58.401711667608 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -112.5, + 60.84491057364912 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -110.478515625, + 59.265880628258095 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -103.71093749999999, + 60.673178565817715 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -102.3046875, + 55.52863052257191 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -83.935546875, + 60.930432202923335 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -79.89257812499999, + 60.23981116999893 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -82.79296874999999, + 57.468589192089354 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -72.7734375, + 58.63121664342478 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -79.541015625, + 55.178867663281984 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -90.263671875, + 50.17689812200107 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -84.990234375, + 49.38237278700955 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -94.21875, + 47.27922900257082 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -88.41796875, + 48.28319289548349 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -92.548828125, + 52.855864177853974 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -87.1875, + 45.89000815866184 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -107.490234375, + 57.040729838360875 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -69.78515625, + 56.511017504952136 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -81.73828125, + 62.83508901142283 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -76.37695312499999, + 61.938950426660604 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -91.845703125, + 46.07323062540835 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -76.640625, + 58.44773280389084 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -103.0078125, + 58.6769376725869 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -88.857421875, + 39.774769485295465 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -123.48632812499999, + 57.938183012205315 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -117.158203125, + 46.558860303117164 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -114.873046875, + 45.767522962149876 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -112.67578124999999, + 44.402391829093915 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -119.53125, + 44.33956524809713 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -115.927734375, + 43.389081939117496 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -120.58593749999999, + 38.685509760012 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + -113.90625, + 40.3130432088809 + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/turf-clusters/test/out/points2.geojson b/packages/turf-clusters/test/out/points2.geojson new file mode 100644 index 0000000000..e39ac56bb2 --- /dev/null +++ b/packages/turf-clusters/test/out/points2.geojson @@ -0,0 +1,564 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -118.30078125, + 60.457217797743944 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -115.04882812499999, + 58.401711667608 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -123.48632812499999, + 57.938183012205315 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -117.158203125, + 46.558860303117164 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -114.873046875, + 45.767522962149876 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -112.67578124999999, + 44.402391829093915 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -119.53125, + 44.33956524809713 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -115.927734375, + 43.389081939117496 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -120.58593749999999, + 38.685509760012 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ff007e", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -113.90625, + 40.3130432088809 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -112.5, + 60.84491057364912 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -110.478515625, + 59.265880628258095 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -103.71093749999999, + 60.673178565817715 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -102.3046875, + 55.52863052257191 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -107.490234375, + 57.040729838360875 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -103.0078125, + 58.6769376725869 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.935546875, + 60.930432202923335 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.89257812499999, + 60.23981116999893 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -82.79296874999999, + 57.468589192089354 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -72.7734375, + 58.63121664342478 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -79.541015625, + 55.178867663281984 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -90.263671875, + 50.17689812200107 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -84.990234375, + 49.38237278700955 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -94.21875, + 47.27922900257082 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -88.41796875, + 48.28319289548349 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -92.548828125, + 52.855864177853974 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -87.1875, + 45.89000815866184 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -69.78515625, + 56.511017504952136 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -81.73828125, + 62.83508901142283 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.37695312499999, + 61.938950426660604 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -91.845703125, + 46.07323062540835 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -76.640625, + 58.44773280389084 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#00ff80", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -88.857421875, + 39.774769485295465 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#000080", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -118.9453125, + 58.932370825852416 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#80003e", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -116.37974330357143, + 43.350853607209785 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 2, + "marker-color": "#808000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -106.58203125, + 58.67171130020744 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 3, + "marker-color": "#008040", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + -83.63568474264706, + 53.64101599252527 + ] + } + } + ] +} \ No newline at end of file From 4e930942e17c7648ac376477f8bac50109fbc76c Mon Sep 17 00:00:00 2001 From: stebogit Date: Tue, 13 Jun 2017 01:20:25 -0700 Subject: [PATCH 03/10] created yarn.lock --- packages/turf-clusters/yarn.lock | 354 +++++++++++++++++++++++++++++++ 1 file changed, 354 insertions(+) create mode 100644 packages/turf-clusters/yarn.lock diff --git a/packages/turf-clusters/yarn.lock b/packages/turf-clusters/yarn.lock new file mode 100644 index 0000000000..6c76709f46 --- /dev/null +++ b/packages/turf-clusters/yarn.lock @@ -0,0 +1,354 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@turf/bbox@^3.13.0", "@turf/bbox@^3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@turf/bbox/-/bbox-3.14.0.tgz#cee5f396dde78aca9cede05e1122db18bc504635" + dependencies: + "@turf/meta" "^3.14.0" + +"@turf/center@^3.13.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@turf/center/-/center-3.14.0.tgz#1083aca4f137d3c4988955740c7d440c45cc9ecc" + dependencies: + "@turf/bbox" "^3.14.0" + "@turf/helpers" "^3.13.0" + +"@turf/helpers@4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-4.1.0.tgz#013a9c53db6a9386e47c7ab445d93ca2035c4b81" + +"@turf/helpers@^3.13.0": + version "3.13.0" + resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-3.13.0.tgz#d06078a1464cf56cdb7ea624ea1e13a71b88b806" + +"@turf/helpers@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-4.4.0.tgz#c83112f7fbe6ed183c7c0c2f776481b94d1cbd01" + +"@turf/invariant@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-4.4.0.tgz#aac0afb840ae40908f9c80393f416222dcf79c32" + +"@turf/meta@^3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-3.14.0.tgz#8d3050c1a0f44bf406a633b6bd28c510f7bcee27" + +"@turf/meta@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-4.4.0.tgz#4fa25d4cc0525bd4cdbaf4ff68a6f8ae81f1975f" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +bbox-dateline@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bbox-dateline/-/bbox-dateline-1.2.1.tgz#4bd2e4ea928f90406b0882d4504e956bc7fb094c" + dependencies: + "@turf/bbox" "^3.13.0" + "@turf/center" "^3.13.0" + +benchmark@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-2.1.4.tgz#09f3de31c916425d498cc2ee565a0ebf3c2a5629" + dependencies: + lodash "^4.17.4" + platform "^1.3.3" + +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +chromatism@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/chromatism/-/chromatism-2.6.0.tgz#c50ba715565bc9febd87b57a351850e1e51376a4" + +clusters@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/clusters/-/clusters-0.0.4.tgz#f6d603139788b1443415fee42fe1d4ececea8379" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +deep-equal@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +defined@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + +error-ex@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.5.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.0" + is-callable "^1.1.3" + is-regex "^1.0.3" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +for-each@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" + dependencies: + is-function "~1.0.0" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +function-bind@^1.0.2, function-bind@^1.1.0, function-bind@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-mercator@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/global-mercator/-/global-mercator-2.7.0.tgz#72975ed01b25d2f43d88f73468e1a9aee7685207" + dependencies: + bbox-dateline "^1.1.1" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +has@^1.0.1, has@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-function@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-regex@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +lodash@^4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +make-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" + dependencies: + pify "^2.3.0" + +matrix-to-grid@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matrix-to-grid/-/matrix-to-grid-3.0.0.tgz#7854792a0a439a5155bd0701e05daa745fe3dcbb" + dependencies: + "@turf/helpers" "4.1.0" + global-mercator "2.7.0" + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimist@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +object-inspect@~1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.2.2.tgz#c82115e4fcc888aea14d64c22e4f17f6a70d5e5a" + +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +pify@^2.0.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +platform@^1.3.3: + version "1.3.4" + resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.4.tgz#6f0fb17edaaa48f21442b3a975c063130f1c3ebd" + +resolve@~1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +resumer@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" + dependencies: + through "~2.3.4" + +slide@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + +sort-keys@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +string.prototype.trim@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz#d04de2c89e137f4d7d206f086b5ed2fae6be8cea" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.0" + function-bind "^1.0.2" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +tape@^4.6.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.6.3.tgz#637e77581e9ab2ce17577e9bd4ce4f575806d8b6" + dependencies: + deep-equal "~1.0.1" + defined "~1.0.0" + for-each "~0.3.2" + function-bind "~1.1.0" + glob "~7.1.1" + has "~1.0.1" + inherits "~2.0.3" + minimist "~1.2.0" + object-inspect "~1.2.1" + resolve "~1.1.7" + resumer "~0.0.0" + string.prototype.trim "~1.1.2" + through "~2.3.8" + +through@~2.3.4, through@~2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write-file-atomic@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write-json-file@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.2.0.tgz#51862506bbb3b619eefab7859f1fd6c6d0530876" + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + pify "^2.0.0" + sort-keys "^1.1.1" + write-file-atomic "^2.0.0" From fb7ca4aef75158fd9aba56dea13f1b1f8913ecdd Mon Sep 17 00:00:00 2001 From: Denis Date: Fri, 16 Jun 2017 09:35:18 -0400 Subject: [PATCH 04/10] Change module name to cluster update typescript definition --- packages/turf-clusters/index.d.ts | 13 +++++++++---- packages/turf-clusters/index.js | 6 +++--- packages/turf-clusters/package.json | 1 + packages/turf-clusters/test.js | 12 ++++++------ packages/turf-clusters/yarn.lock | 10 ++++++++++ 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/packages/turf-clusters/index.d.ts b/packages/turf-clusters/index.d.ts index e6ef8a7a4f..4ad5adf202 100644 --- a/packages/turf-clusters/index.d.ts +++ b/packages/turf-clusters/index.d.ts @@ -1,9 +1,14 @@ import {Points} from '@turf/helpers' +interface Clustered { + points: Points + centroid: Points +} + /** - * http://turfjs.org/docs/#clusters + * http://turfjs.org/docs/#cluster */ -declare function clusters(points: Points, breaks?: number): Object; +declare function cluster(points: Points, numberOfClusters?: number): Clustered; -declare namespace clusters { } -export = clusters; +declare namespace cluster { } +export = cluster; diff --git a/packages/turf-clusters/index.js b/packages/turf-clusters/index.js index 7b42ef7c56..32c763fa2d 100644 --- a/packages/turf-clusters/index.js +++ b/packages/turf-clusters/index.js @@ -1,18 +1,18 @@ var meta = require('@turf/meta'); var helpers = require('@turf/helpers'); var invariant = require('@turf/invariant'); +var clusterMaker = require('clusters'); var point = helpers.point; var getCoords = invariant.getCoords; var collectionOf = invariant.collectionOf; var featureReduce = meta.featureReduce; var featureCollection = helpers.featureCollection; -var clusterMaker = require('clusters'); /** * Takes a set of {@link Point|points} and partition them into clusters using the k-mean . * It uses the [k-means algorithm](https://en.wikipedia.org/wiki/K-means_clustering) * - * @name clusters + * @name cluster * @param {FeatureCollection} points to be clustered * @param {number} [numberOfClusters=Math.sqrt(numberOfPoints/2)] numberOfClusters that will be generated * @returns {Object} an object containing a `points` FeatureCollection, the input points where each Point @@ -24,7 +24,7 @@ var clusterMaker = require('clusters'); * bbox: [0, 30, 20, 50] * }); * var numberOfClusters = 7; - * var clustered = turf.clusters(points, numberOfClusters); + * var clustered = turf.cluster(points, numberOfClusters); * * //addToMap * var addToMap = featureCollection(clustered.points); diff --git a/packages/turf-clusters/package.json b/packages/turf-clusters/package.json index 45510e7f93..7f93c276e2 100644 --- a/packages/turf-clusters/package.json +++ b/packages/turf-clusters/package.json @@ -33,6 +33,7 @@ }, "homepage": "https://github.com/Turfjs/turf", "devDependencies": { + "@turf/random": "^4.4.0", "benchmark": "^2.1.4", "chromatism": "2.6.0", "load-json-file": "^2.0.0", diff --git a/packages/turf-clusters/test.js b/packages/turf-clusters/test.js index 81cb851409..afc32eebd2 100644 --- a/packages/turf-clusters/test.js +++ b/packages/turf-clusters/test.js @@ -6,7 +6,7 @@ const write = require('write-json-file'); const {featureEach} = require('@turf/meta'); const {featureCollection, polygon} = require('@turf/helpers'); const chromatism = require('chromatism'); -const clusters = require('./'); +const cluster = require('./'); const directories = { in: path.join(__dirname, 'test', 'in') + path.sep, @@ -21,11 +21,11 @@ const fixtures = fs.readdirSync(directories.in).map(filename => { }; }); -test('isolines', t => { - fixtures.forEach(({name, geojson, filename}) => { +test('cluster', t => { + fixtures.forEach(({name, geojson}) => { const {numberOfCentroids} = geojson.properties || {}; - const clustered = clusters(geojson, numberOfCentroids); + const clustered = cluster(geojson, numberOfCentroids); const result = featureCollection(colorize(clustered)); if (process.env.REGEN) write.sync(directories.out + name + '.geojson', result); @@ -35,9 +35,9 @@ test('isolines', t => { t.end(); }); -test('clusters -- throws', t => { +test('cluster -- throws', t => { const poly = polygon([[[0, 0], [10, 10], [0, 10], [0, 0]]]); - t.throws(() => clusters(poly, 3), /Input must contain Points/); + t.throws(() => cluster(poly, 3), /Input must contain Points/); t.end(); }); diff --git a/packages/turf-clusters/yarn.lock b/packages/turf-clusters/yarn.lock index 6c76709f46..ccdc6349f8 100644 --- a/packages/turf-clusters/yarn.lock +++ b/packages/turf-clusters/yarn.lock @@ -39,6 +39,12 @@ version "4.4.0" resolved "https://registry.yarnpkg.com/@turf/meta/-/meta-4.4.0.tgz#4fa25d4cc0525bd4cdbaf4ff68a6f8ae81f1975f" +"@turf/random@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@turf/random/-/random-4.4.0.tgz#f552abc49f4c39a34c50c5634b2a2d60bf89011b" + dependencies: + geojson-random "^0.2.2" + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -136,6 +142,10 @@ function-bind@^1.0.2, function-bind@^1.1.0, function-bind@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" +geojson-random@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/geojson-random/-/geojson-random-0.2.2.tgz#ab4838f126adc5e16f8f94e655def820f9119dbc" + glob@~7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" From 546272b185347b49aa53ef417a63ccf680d41ed6 Mon Sep 17 00:00:00 2001 From: stebogit Date: Fri, 16 Jun 2017 23:48:28 -0700 Subject: [PATCH 05/10] replaced clusters with skmeans (much faster); added test with properties; updated bench, index.d.ts and types; --- packages/turf-clusters/README.md | 8 +- packages/turf-clusters/bench.js | 20 +- packages/turf-clusters/index.d.ts | 8 +- packages/turf-clusters/index.js | 38 +- packages/turf-clusters/package.json | 7 +- packages/turf-clusters/test.js | 10 +- .../test/in/points-with-properties.geojson | 83 + .../test/out/many-points.geojson | 7086 ++++++++--------- .../test/out/points-with-properties.geojson | 133 + .../turf-clusters/test/out/points1.geojson | 116 +- .../turf-clusters/test/out/points2.geojson | 220 +- packages/turf-clusters/types.ts | 8 +- packages/turf-clusters/yarn.lock | 8 +- 13 files changed, 3982 insertions(+), 3763 deletions(-) create mode 100644 packages/turf-clusters/test/in/points-with-properties.geojson create mode 100644 packages/turf-clusters/test/out/points-with-properties.geojson diff --git a/packages/turf-clusters/README.md b/packages/turf-clusters/README.md index 3705939236..a51f86ee1b 100644 --- a/packages/turf-clusters/README.md +++ b/packages/turf-clusters/README.md @@ -1,6 +1,6 @@ -# @turf/clusters +# @turf/cluster -# clusters +# cluster Takes a set of {@link Point|points} and partition them into clusters using the k-mean. It uses the [k-means clustering](https://en.wikipedia.org/wiki/K-means_clustering) algorithm. @@ -17,7 +17,7 @@ var points = turf.random('point', 100, { bbox: [0, 30, 20, 50] }); var numberOfClusters = 7; -var clustered = turf.clusters(points, numberOfClusters); +var clustered = turf.cluster(points, numberOfClusters); //addToMap var addToMap = featureCollection(clustered.points); ``` @@ -40,7 +40,7 @@ PRs and issues. Install this module individually: ```sh -$ npm install @turf/clusters +$ npm install @turf/cluster ``` Or install the Turf module that includes it as a function: diff --git a/packages/turf-clusters/bench.js b/packages/turf-clusters/bench.js index 3cf92aaba2..a3329d2681 100644 --- a/packages/turf-clusters/bench.js +++ b/packages/turf-clusters/bench.js @@ -2,7 +2,7 @@ const fs = require('fs'); const path = require('path'); const load = require('load-json-file'); const Benchmark = require('benchmark'); -const clusters = require('./'); +const cluster = require('./'); // Define Fixtures const directory = path.join(__dirname, 'test', 'in') + path.sep; @@ -18,19 +18,23 @@ const fixtures = fs.readdirSync(directory).map(filename => { /** * Benchmark Results * - * many-points: 9750.508ms - * points1: 121.639ms - * many-points x 0.42 ops/sec ±13.79% (5 runs sampled) - * points1 x 8.27 ops/sec ±12.56% (24 runs sampled) + * many-points: 37.029ms + * points-with-properties: 0.163ms + * points1: 0.270ms + * points2: 0.140ms + * many-points x 104 ops/sec ±15.08% (56 runs sampled) + * points-with-properties x 101,021 ops/sec ±12.70% (69 runs sampled) + * points1 x 35,439 ops/sec ±2.78% (77 runs sampled) + * points2 x 21,726 ops/sec ±1.73% (82 runs sampled) */ -const suite = new Benchmark.Suite('turf-clusters'); +const suite = new Benchmark.Suite('turf-cluster'); for (const {name, geojson, filename} of fixtures) { const {numberOfCentroids} = geojson.properties || {}; console.time(name); - clusters(geojson, numberOfCentroids); + cluster(geojson, numberOfCentroids); console.timeEnd(name); - suite.add(name, () => clusters(geojson, numberOfCentroids)); + suite.add(name, () => cluster(geojson, numberOfCentroids)); } suite .on('cycle', e => console.log(String(e.target))) diff --git a/packages/turf-clusters/index.d.ts b/packages/turf-clusters/index.d.ts index e6ef8a7a4f..fffcc45668 100644 --- a/packages/turf-clusters/index.d.ts +++ b/packages/turf-clusters/index.d.ts @@ -1,9 +1,9 @@ import {Points} from '@turf/helpers' /** - * http://turfjs.org/docs/#clusters + * http://turfjs.org/docs/#cluster */ -declare function clusters(points: Points, breaks?: number): Object; +declare function cluster(points: Points, breaks?: number): Object; -declare namespace clusters { } -export = clusters; +declare namespace cluster { } +export = cluster; diff --git a/packages/turf-clusters/index.js b/packages/turf-clusters/index.js index 7b42ef7c56..fbd14519b8 100644 --- a/packages/turf-clusters/index.js +++ b/packages/turf-clusters/index.js @@ -5,26 +5,28 @@ var point = helpers.point; var getCoords = invariant.getCoords; var collectionOf = invariant.collectionOf; var featureReduce = meta.featureReduce; +var featureEach = meta.featureEach; var featureCollection = helpers.featureCollection; -var clusterMaker = require('clusters'); +var skmeans = require('skmeans'); /** * Takes a set of {@link Point|points} and partition them into clusters using the k-mean . * It uses the [k-means algorithm](https://en.wikipedia.org/wiki/K-means_clustering) * - * @name clusters + * @name cluster * @param {FeatureCollection} points to be clustered * @param {number} [numberOfClusters=Math.sqrt(numberOfPoints/2)] numberOfClusters that will be generated - * @returns {Object} an object containing a `points` FeatureCollection, the input points where each Point - * has given a `cluster` property with the cluster number it belongs, and a `centroids` FeatureCollection of - * Points, collecting all the cluster centroids each with its own `cluster` property. + * @returns {Object} an object containing a `points` FeatureCollection, containing the input points where each Point + * has given an additional `cluster` property with the cluster number it belongs, + * and a `centroids` FeatureCollection of Points, collecting all the cluster centroids + * each with its own `cluster` property. * @example * // create random points with random z-values in their properties * var points = turf.random('point', 100, { * bbox: [0, 30, 20, 50] * }); * var numberOfClusters = 7; - * var clustered = turf.clusters(points, numberOfClusters); + * var clustered = turf.cluster(points, numberOfClusters); * * //addToMap * var addToMap = featureCollection(clustered.points); @@ -34,31 +36,27 @@ module.exports = function (points, numberOfClusters) { collectionOf(points, 'Point', 'Input must contain Points'); // Default Params var count = points.features.length; - numberOfClusters = numberOfClusters || Math.sqrt(count / 2); + numberOfClusters = numberOfClusters || Math.round(Math.sqrt(count / 2)); // collect points coordinates var data = featureReduce(points, function (prevValue, currentFeature) { var coord = getCoords(currentFeature); return prevValue.concat([coord]); }, []); + // create seed to avoid skmeans to drift + var initialCentroids = data.slice(0, numberOfClusters); // create clusters - clusterMaker.k(numberOfClusters); - clusterMaker.data(data); - var clusters = clusterMaker.clusters(); - - // create output - var outputPoints = []; - var centroids = []; - clusters.forEach(function (cluster, idx) { - cluster.points.forEach(function (coord) { - outputPoints.push(point(coord, {cluster: idx})); - }); - centroids.push(point(cluster.centroid, {cluster: idx})); + var clastersResult = skmeans(data, numberOfClusters, initialCentroids); + var centroids = clastersResult.centroids.map(function (coord, idx) { + return point(coord, {cluster: idx}); + }); + featureEach(points, function (pt, i) { + pt.properties.cluster = clastersResult.idxs[i]; }); return { - points: featureCollection(outputPoints), + points: points, centroids: featureCollection(centroids) }; }; diff --git a/packages/turf-clusters/package.json b/packages/turf-clusters/package.json index 45510e7f93..41f92d25b1 100644 --- a/packages/turf-clusters/package.json +++ b/packages/turf-clusters/package.json @@ -1,7 +1,7 @@ { - "name": "@turf/clusters", + "name": "@turf/cluster", "version": "4.4.0", - "description": "turf clusters module", + "description": "turf cluster module", "main": "index.js", "types": "index.d.ts", "files": [ @@ -19,6 +19,7 @@ "keywords": [ "turf", "geojson", + "cluster", "clusters", "clustering", "k-means" @@ -44,6 +45,6 @@ "@turf/helpers": "^4.4.0", "@turf/invariant": "^4.4.0", "@turf/meta": "^4.4.0", - "clusters": "0.0.4" + "skmeans": "0.5.0" } } diff --git a/packages/turf-clusters/test.js b/packages/turf-clusters/test.js index 81cb851409..788216831f 100644 --- a/packages/turf-clusters/test.js +++ b/packages/turf-clusters/test.js @@ -6,7 +6,7 @@ const write = require('write-json-file'); const {featureEach} = require('@turf/meta'); const {featureCollection, polygon} = require('@turf/helpers'); const chromatism = require('chromatism'); -const clusters = require('./'); +const cluster = require('./'); const directories = { in: path.join(__dirname, 'test', 'in') + path.sep, @@ -21,11 +21,11 @@ const fixtures = fs.readdirSync(directories.in).map(filename => { }; }); -test('isolines', t => { +test('cluster', t => { fixtures.forEach(({name, geojson, filename}) => { const {numberOfCentroids} = geojson.properties || {}; - const clustered = clusters(geojson, numberOfCentroids); + const clustered = cluster(geojson, numberOfCentroids); const result = featureCollection(colorize(clustered)); if (process.env.REGEN) write.sync(directories.out + name + '.geojson', result); @@ -35,9 +35,9 @@ test('isolines', t => { t.end(); }); -test('clusters -- throws', t => { +test('cluster -- throws', t => { const poly = polygon([[[0, 0], [10, 10], [0, 10], [0, 0]]]); - t.throws(() => clusters(poly, 3), /Input must contain Points/); + t.throws(() => cluster(poly, 3), /Input must contain Points/); t.end(); }); diff --git a/packages/turf-clusters/test/in/points-with-properties.geojson b/packages/turf-clusters/test/in/points-with-properties.geojson new file mode 100644 index 0000000000..f6741af183 --- /dev/null +++ b/packages/turf-clusters/test/in/points-with-properties.geojson @@ -0,0 +1,83 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "marker-symbol": 1 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 68.477783203125, + -48.84302835299516 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 2 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 68.873291015625, + -48.821332549646634 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 3 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 68.69750976562499, + -48.958580664409766 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 4 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 70.87280273437499, + -49.418120700666414 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 5 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 71.949462890625, + -49.36091154712616 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 6 + }, + "geometry": { + "type": "Point", + "coordinates": [ + 71.4111328125, + -49.102645497788814 + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/turf-clusters/test/out/many-points.geojson b/packages/turf-clusters/test/out/many-points.geojson index 91dd93d4fd..c00995b080 100644 --- a/packages/turf-clusters/test/out/many-points.geojson +++ b/packages/turf-clusters/test/out/many-points.geojson @@ -3,7502 +3,7502 @@ "features": [ { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ -84.36337554761008, 19.119473770547124 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 0, "marker-color": "#0000ff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -84.28985709132587, - 16.584015683001546 - ] } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.58330318049086, - 18.09915952726896 + -85.32753919964946, + 20.843505437175903 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.71943800617547, - 19.616649637864654 + -77.72930024352243, + 22.95523079568951 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.81019601780373, - 17.165972386566605 + -84.28985709132587, + 16.584015683001546 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 0, "marker-color": "#0000ff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -85.30467012694315, - 17.92521920364085 + -70.94492705924428, + 21.0702981386651 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.51391779937516, - 18.211967578932978 + -74.05488356732162, + 24.111641311913072 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.50710379745864, - 18.424063455433217 + -78.55079764304975, + 25.525431992772358 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.71045285694422, - 17.079742569860166 + -71.11420407247648, + 26.113452348786268 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.16769788043096, - 16.98191521287846 + -70.8076846951252, + 22.255910609327792 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.67236850288222, - 19.00571371998642 + -84.98702719224296, + 25.275001495112985 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.01507615292597, - 18.68916636419406 + -84.54236384636712, + 20.789257545981407 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.49173903601617, - 16.92003208241821 + -72.57808400285332, + 20.00051975393173 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.13497764736996, - 17.934013939878078 + -77.39655991111083, + 22.12594824182586 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.54709582459233, - 16.53706271986311 + -71.42324858424885, + 17.48175433130492 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.67038090634749, - 19.518488261229543 + -85.90361604004578, + 26.430002559611477 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.05313261324237, - 19.319796400696145 + -80.22266857015823, + 20.94137638968897 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.21686530340585, - 18.59063554310776 + -84.48717976822758, + 20.224242981590255 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.91640675333899, - 16.590848739189624 + -75.06779765523183, + 27.276249335066662 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.56755786305595, - 19.40265705295205 + -72.99075803676163, + 17.651929487468298 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.07548891214728, - 17.301084891511273 + -75.53563340237405, + 26.495418224944373 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.33158765668573, - 19.452979509754268 + -78.20462326614003, + 24.00357261039075 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.02504204870841, - 18.793197099411397 + -86.58330318049086, + 18.09915952726896 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 0, "marker-color": "#0000ff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -85.09464045072042, - 16.867824298530778 + -75.50889284912286, + 18.340562952508183 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 0, - "marker-color": "#0000ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.7861071942679, - 18.669738072373164 + -80.55680807421967, + 21.907870183116437 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.32753919964946, - 20.843505437175903 + -81.53689212714627, + 17.422501403729605 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.54236384636712, - 20.789257545981407 + -76.18027511981438, + 18.875894880366534 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.48717976822758, - 20.224242981590255 + -80.39732218872196, + 25.629464613691137 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.2549851564484, - 22.35997051326973 + -78.66061545607911, + 22.757810888614223 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.44899512481147, - 21.52626642668551 + -77.65357594791968, + 16.66838838845727 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.26129906562491, - 21.294934204528648 + -73.77643699392496, + 27.091684659861052 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.26242751330523, - 20.472647289870025 + -82.13081869539506, + 26.23449839991876 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.70000865367116, - 21.542018533522416 + -75.43824120718541, + 19.103181050521584 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.95908129532202, - 21.185424844181092 + -79.43898229878118, + 18.874231952472687 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.55727606952377, - 22.36430316761306 + -77.92734033427595, + 20.82599847071201 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.42534293525704, - 20.342801196105015 + -74.27364128877521, + 21.130861117009847 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.98455859943033, - 21.06707023138771 + -79.05413199086016, + 23.058073292292104 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.40609968225364, - 21.87541299401925 + -82.28388468077954, + 22.883779502221373 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.42569161383636, - 21.026826554775827 + -82.77696496688779, + 18.94471042190279 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.96994176238145, - 22.888540550894795 + -71.23882701110625, + 20.30184311650061 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.75848457074353, - 21.115370497855984 + -80.66116457836486, + 20.169682381560182 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.31384918144222, - 22.633190689556994 + -74.90248833212131, + 26.884383581357255 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.67344643947845, - 20.92896756107965 + -85.28525543556775, + 26.722194267296018 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.93555696939467, - 19.98152959915939 + -81.8977221405959, + 19.412558043465 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.19143746995799, - 22.76299900389558 + -74.07684618758876, + 27.17395724732544 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.01980255637385, - 21.18954858284259 + -76.41316964578398, + 23.148029434777555 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.10048201961024, - 21.361849810266136 + -72.92622530551323, + 25.623260952842156 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.71994017762563, - 20.189025977120103 + -85.2549851564484, + 22.35997051326973 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 1, "marker-color": "#5f00ff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -86.287484618002, - 19.75003759357949 - ] } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.61849018164143, - 22.47855670455455 + -85.7199945397987, + 25.802953128684692 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 1, - "marker-color": "#5f00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.59495181641225, - 22.81831350748234 + -80.96348979974654, + 27.35814140608639 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.72930024352243, - 22.95523079568951 + -72.04921623428444, + 20.61204095701038 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.39655991111083, - 22.12594824182586 + -75.54213379075634, + 25.505384186492893 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.20462326614003, - 24.00357261039075 + -77.61403051800008, + 17.263716566767037 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.66061545607911, - 22.757810888614223 + -78.25360192470616, + 18.686705558388965 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.92734033427595, - 20.82599847071201 + -75.42930471321405, + 20.022748677821312 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.05413199086016, - 23.058073292292104 + -83.44899512481147, + 21.52626642668551 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.41316964578398, - 23.148029434777555 + -74.38761515683782, + 18.77265726075554 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.60441825132624, - 23.93129090727725 + -75.12756391373203, + 25.531641282912506 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.54286133638129, - 24.13575708893132 + -73.65487739464005, + 20.270385418656613 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.5644212682104, - 20.850894115743387 + -75.44983759982364, + 18.547000172845294 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.26216347689832, - 23.673136982276464 + -83.53680657077764, + 25.303329199906706 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.20171143790367, - 24.334344930797855 + -86.01712484014583, + 24.449642983600107 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.87897523658762, - 22.009563011217917 + -82.86222771555597, + 22.720569651349564 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.61068998466835, - 21.311283807756645 + -84.2520931858629, + 25.53784765691357 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.58173201222138, - 23.850997885697698 + -79.60441825132624, + 23.93129090727725 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 2, "marker-color": "#bf00ff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -77.4550593256632, - 24.03016205722427 + -71.2164652385625, + 25.79578750021983 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.72446682780881, - 22.25313981239625 + -84.63151040609172, + 24.490225688795583 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.89319872559254, - 21.773847762169503 + -78.51548817891319, + 17.202270132332913 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.76206658518934, - 23.71467590682046 + -79.3121102967554, + 25.956525827964448 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.61013158110691, - 23.65729956086801 + -79.27005222591032, + 17.528372337434828 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.01326798044877, - 24.122014119489563 + -85.0823710181298, + 25.482920857480014 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.3453947248687, - 24.50576556423695 + -73.75288708284614, + 18.922685406247748 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.9102252552082, - 23.883340808622673 + -83.52847693811808, + 24.220685835886385 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.45068182631776, - 24.018640243238202 + -85.42010129302429, + 25.72860309981145 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.49404471100601, - 22.009751251682275 + -74.03682779147974, + 27.053835982653894 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.13262960963559, - 22.34430874872904 + -70.67472974247343, + 24.956264380693316 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.24844766066971, - 24.484245781333726 + -71.95315877653405, + 18.41169388608788 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.80552346807535, - 22.161467782172014 + -86.57393282654176, + 26.261024024692077 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.43974652662247, - 22.60413987147912 + -76.92845035818462, + 17.837520858411256 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.92295434812097, - 23.30372425686007 + -84.5179339115434, + 23.450627516507094 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.23086732338659, - 22.010870880797054 + -83.71943800617547, + 19.616649637864654 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.5723788030903, - 23.774277575000852 + -77.93211879732236, + 26.33170236314861 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.68634851848167, - 23.203154689599817 + -83.10661507770358, + 25.13063963201959 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.46924741699405, - 22.27588495796526 + -73.24887371103026, + 21.739851639014628 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.18119091611597, - 24.755151867045228 + -86.26129906562491, + 21.294934204528648 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.11308732341453, - 22.73505946813462 + -83.2729878125471, + 23.65784314034355 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.07431215190033, - 23.634255220677876 + -82.3562097070285, + 24.24226765651852 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.81854336800883, - 24.131395375394586 + -79.99265814798184, + 27.483971653923085 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.30217792473226, - 22.66331518976522 + -70.63635988061537, + 18.75973134353604 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.49722908932829, - 21.926256397875694 + -72.76340181762502, + 26.57219504751686 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 2, - "marker-color": "#bf00ff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.40761927871347, - 22.617986414434352 + -80.45164209210782, + 23.76673190659356 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.53689212714627, - 17.422501403729605 + -77.65455892791887, + 27.186142540274957 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 3, - "marker-color": "#ff00de", + "cluster": 6, + "marker-color": "#ff4000", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -82.77696496688779, - 18.94471042190279 - ] } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.8977221405959, - 19.412558043465 + -84.03313564896565, + 24.333750064476934 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ -82.87222884039794, 19.159104199268683 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 3, "marker-color": "#ff00de", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -82.67175298435387, - 17.880881534565148 - ] } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.15582212817301, - 18.696902173553443 + -77.54286133638129, + 24.13575708893132 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.34448173717335, - 17.84048983960788 + -83.26242751330523, + 20.472647289870025 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.25719355261317, - 18.841254641177088 + -72.80042213720098, + 20.990256802329768 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.5062774214051, - 17.326690422594897 + -74.5874725368364, + 25.039930971231904 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.51440928893466, - 19.680938852916263 + -85.85825660840021, + 25.43539990016023 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.20796912251339, - 16.910765069076696 + -86.17454776573982, + 23.461743771248557 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.43657840692077, - 17.42104681957319 + -72.40002194939215, + 20.67151202116478 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.09703651590019, - 17.421833037838393 + -73.23963323045145, + 23.244627904260923 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.32489553257798, - 19.57470756961103 + -79.81552101630216, + 26.53756981389545 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.02534851234576, - 16.756254338847338 + -72.9283270010284, + 24.674017344728615 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.27561331569953, - 16.994251063813262 + -83.70000865367116, + 21.542018533522416 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.98806643205722, - 18.733700354050203 + -80.48978633680683, + 19.623096473871033 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.97783503664645, - 19.823228188109127 + -82.67175298435387, + 17.880881534565148 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 3, "marker-color": "#ff00de", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -83.28006204700529, - 18.638001663502685 + -74.04610391202878, + 26.551597087996466 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.52285998029147, - 17.487274302366117 + -77.84175265531377, + 16.85074369818602 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.34842284656386, - 17.435895054282373 + -85.95908129532202, + 21.185424844181092 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.51495780456581, - 16.669087042407536 + -78.88684525321649, + 18.726646021819167 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.72560883757795, - 16.962762773864505 + -81.15582212817301, + 18.696902173553443 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 3, "marker-color": "#ff00de", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -80.67095396405709, - 17.953443362949123 - ] } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.53486708882008, - 18.05579400531109 + -77.5644212682104, + 20.850894115743387 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.17815192274419, - 17.766464076510605 + -77.37878622301193, + 16.91615114076283 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.69797232502891, - 17.49676706923224 + -84.81019601780373, + 17.165972386566605 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.33929483454432, - 17.79933711363019 + -75.4614226211491, + 23.444082141644998 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.14342020536195, - 18.867794740406104 + -85.18265845716839, + 25.295833894402776 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 3, - "marker-color": "#ff00de", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.3932989046418, - 19.030002383084067 + -84.09803657824347, + 23.3454534216312 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.94492705924428, - 21.0702981386651 + -83.34448173717335, + 17.84048983960788 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.8076846951252, - 22.255910609327792 + -75.18827115285569, + 20.273168111170328 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.57808400285332, - 20.00051975393173 + -79.26216347689832, + 23.673136982276464 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.23882701110625, - 20.30184311650061 + -81.21575485381635, + 23.096925087889748 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.04921623428444, - 20.61204095701038 + -82.01908584146595, + 21.557475862048076 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.24887371103026, - 21.739851639014628 + -73.92274968888073, + 26.019876080997598 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.80042213720098, - 20.990256802329768 + -86.55727606952377, + 22.36430316761306 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.40002194939215, - 20.67151202116478 + -75.25891612041117, + 19.525184281200534 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.17146072076018, - 22.71145107992815 + -73.64279747070925, + 25.651725881829897 ] - } - }, - { - "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" }, - "geometry": { - "type": "Point", - "coordinates": [ - -70.81872422593077, - 21.669857512462364 - ] - } - }, - { - "type": "Feature", "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 5, + "marker-color": "#ff001e", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -71.56458486764306, - 23.27787869671228 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.46253580071742, - 22.833272724615775 + -77.40499501048518, + 16.63021658406485 ] - } - }, - { - "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" }, - "geometry": { - "type": "Point", - "coordinates": [ - -72.308362589921, - 20.54596248507216 - ] - } - }, - { - "type": "Feature", "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 12, + "marker-color": "#00ff80", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -71.22442161042382, - 20.946470968784404 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.89153777133139, - 23.170952976617727 + -83.64998704253041, + 24.234779530366744 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 9, + "marker-color": "#9fff00", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -72.90249827777127, - 22.05793250583984 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.47378831903654, - 21.652685460023044 + -85.30467012694315, + 17.92521920364085 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 0, + "marker-color": "#0000ff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -72.21228170738233, - 22.173670632023597 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.71898403700982, - 22.858679743400074 + -79.76550387867614, + 21.84873202139447 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 10, + "marker-color": "#3fff00", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -72.14994486721066, - 20.53183273996738 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.29292929991102, - 21.98589295297564 + -75.2770011073176, + 26.540918581152965 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 5, + "marker-color": "#ff001e", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -73.17395695535176, - 20.322052935788367 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.30133416063728, - 22.908999108726512 + -77.20171143790367, + 24.334344930797855 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 2, + "marker-color": "#bf00ff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -72.067479899787, - 22.44918038801505 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.97302399035408, - 22.395504699565535 + -84.51391779937516, + 18.211967578932978 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 0, + "marker-color": "#0000ff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -73.3184598837461, - 20.339708336838683 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.59048812893998, - 22.36793387394907 + -73.81858154084357, + 19.071318793255987 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 11, + "marker-color": "#00ff20", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -72.04442014558218, - 20.180967527569678 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.97261043138833, - 20.783569456567577 + -78.87897523658762, + 22.009563011217917 ] - } - }, - { - "type": "Feature", + }, "properties": { - "cluster": 4, - "marker-color": "#ff007e", + "cluster": 2, + "marker-color": "#bf00ff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -71.51599855499506, - 22.18056139559293 - ] } }, { "type": "Feature", - "properties": { - "cluster": 4, - "marker-color": "#ff007e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.3275873181896, - 23.43075879262019 + -71.17146072076018, + 22.71145107992815 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 4, "marker-color": "#ff007e", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -71.77138891405684, - 20.81044983619232 - ] } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.06779765523183, - 27.276249335066662 + -73.14138268439117, + 27.295964747431004 ] - } - }, - { - "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" }, - "geometry": { - "type": "Point", - "coordinates": [ - -75.53563340237405, - 26.495418224944373 - ] - } - }, - { - "type": "Feature", "properties": { "cluster": 5, "marker-color": "#ff001e", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -73.77643699392496, - 27.091684659861052 - ] } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.90248833212131, - 26.884383581357255 + -74.01085563325441, + 23.60461239295877 ] - } - }, - { - "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" }, - "geometry": { - "type": "Point", - "coordinates": [ - -74.07684618758876, - 27.17395724732544 - ] - } - }, - { - "type": "Feature", "properties": { - "cluster": 5, - "marker-color": "#ff001e", + "cluster": 8, + "marker-color": "#ffff00", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -75.54213379075634, - 25.505384186492893 - ] } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.12756391373203, - 25.531641282912506 + -76.61068998466835, + 21.311283807756645 ] - } - }, - { - "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" }, - "geometry": { - "type": "Point", - "coordinates": [ - -74.03682779147974, - 27.053835982653894 - ] - } - }, - { - "type": "Feature", "properties": { - "cluster": 5, - "marker-color": "#ff001e", + "cluster": 2, + "marker-color": "#bf00ff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -74.5874725368364, - 25.039930971231904 - ] } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.04610391202878, - 26.551597087996466 + -73.76701891828932, + 27.195861233372437 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 5, "marker-color": "#ff001e", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -73.92274968888073, - 26.019876080997598 - ] } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.64279747070925, - 25.651725881829897 - ] - } - }, - { - "type": "Feature", + -76.55059712821668, + 25.49682672225246 + ] + }, "properties": { "cluster": 5, "marker-color": "#ff001e", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -75.2770011073176, - 26.540918581152965 + -84.42534293525704, + 20.342801196105015 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.14138268439117, - 27.295964747431004 + -84.85957138950651, + 25.651916540759668 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.76701891828932, - 27.195861233372437 + -73.67260570784427, + 20.45532583962798 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.55059712821668, - 25.49682672225246 + -70.81872422593077, + 21.669857512462364 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.79365159485565, - 24.73837411446049 + -79.38646877459935, + 19.37340763751337 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.14433438213305, - 27.036543336370556 + -84.50710379745864, + 18.424063455433217 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.95150377384275, - 26.91911731157561 + -74.632893967135, + 23.107454998460437 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.52731994000185, - 26.95480013106508 + -83.36852553393699, + 24.295072371424403 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.43791743989885, - 24.962432920525124 + -75.86140755178053, + 17.50071319492512 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.1270341028659, - 25.781532521957693 + -71.56458486764306, + 23.27787869671228 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.73360568748585, - 26.28033941085063 + -81.25719355261317, + 18.841254641177088 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.79365159485565, + 24.73837411446049 + ] + }, "properties": { "cluster": 5, "marker-color": "#ff001e", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -73.79193518864761, - 24.737897659493715 + -81.77110623794552, + 22.880747711470292 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.58692805675213, - 24.80146814851551 + -78.17830942471453, + 27.459109723499697 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.39338327111777, - 24.626502743687922 + -82.5062774214051, + 17.326690422594897 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.95744087420283, - 25.191234441288678 + -80.19600112265177, + 22.73914989583398 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.75631134659818, - 27.4074383447763 + -76.58173201222138, + 23.850997885697698 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.50335139484208, - 25.338279000551893 + -84.71045285694422, + 17.079742569860166 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.57090751033381, - 25.058967866824403 + -82.34171838085163, + 22.153445077419946 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.9097441614737, - 25.69899354986159 + -86.55081810986574, + 24.915158163291853 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.06300053256552, - 25.068476848998436 + -73.59793295622734, + 18.75099342612817 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.14433438213305, + 27.036543336370556 + ] + }, "properties": { "cluster": 5, "marker-color": "#ff001e", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -75.40829350874473, - 27.268125557919248 + -78.4434583942987, + 19.619680064723546 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.38809337052642, - 26.427105032557755 + -82.51440928893466, + 19.680938852916263 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.95150377384275, + 26.91911731157561 + ] + }, "properties": { "cluster": 5, "marker-color": "#ff001e", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -73.30367109087219, - 25.1900948213395 + -77.4550593256632, + 24.03016205722427 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.01339730011378, - 25.682665424232965 + -70.8228436577642, + 25.845318184468677 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.08863800575135, - 25.15698262014013 + -86.16769788043096, + 16.98191521287846 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 5, - "marker-color": "#ff001e", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.26218882048389, - 26.41236152098589 + -77.51634149582756, + 19.10937565092933 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.55079764304975, - 25.525431992772358 + -76.72446682780881, + 22.25313981239625 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.39732218872196, - 25.629464613691137 + -72.95113454727932, + 26.357292830184782 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.96348979974654, - 27.35814140608639 + -78.89319872559254, + 21.773847762169503 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.3121102967554, - 25.956525827964448 + -82.50995550468448, + 26.805856081166645 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.93211879732236, - 26.33170236314861 + -72.72311173060332, + 27.453459491416243 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.99265814798184, - 27.483971653923085 + -82.20796912251339, + 16.910765069076696 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.65455892791887, - 27.186142540274957 + -72.02923748665658, + 17.06286092924691 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.81552101630216, - 26.53756981389545 + -84.67236850288222, + 19.00571371998642 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.43657840692077, + 17.42104681957319 + ] + }, "properties": { - "cluster": 6, - "marker-color": "#ff4000", + "cluster": 3, + "marker-color": "#ff00de", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -78.17830942471453, - 27.459109723499697 + -75.48932636312891, + 18.050155326157473 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.04325753495058, - 24.349990861490674 + -76.76206658518934, + 23.71467590682046 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.89936609149818, - 27.20566948335109 + -72.46253580071742, + 22.833272724615775 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.23254193941007, - 26.262181726505418 + -83.09703651590019, + 17.421833037838393 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.37848518046901, - 26.34378098000883 + -78.61013158110691, + 23.65729956086801 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.64984925794586, - 27.17403653643745 + -84.66397149031135, + 25.831969038126523 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.41470444523833, - 26.791071724795167 + -83.1727623444978, + 24.152605040309613 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.15681636726895, - 26.828785859624258 + -74.2741188221817, + 18.639289071153634 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.50079368006108, - 26.634382308937134 + -73.90735829536999, + 18.190052908059194 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.80104984355006, - 26.237062559189845 + -83.32489553257798, + 19.57470756961103 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.20251485577793, - 26.55556740273682 + -79.01326798044877, + 24.122014119489563 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.32534041974515, - 26.094983944812824 + -74.52731994000185, + 26.95480013106508 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.97472021053458, - 26.061373986456793 + -71.3558896446572, + 17.44256116852827 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.72145863838075, - 25.18049472134159 + -81.02534851234576, + 16.756254338847338 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.95694749118951, - 27.39255408553263 + -84.47025910061983, + 24.118620545794855 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.61949782551551, - 25.38069882274378 + -72.308362589921, + 20.54596248507216 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.05832892131573, - 25.244587077548168 + -75.34538728645822, + 24.41450380344747 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.96213190737039, - 26.279325304846623 + -74.33122422882889, + 23.37013167679639 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.18586938186745, - 27.019278441405643 + -80.27561331569953, + 16.994251063813262 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.5468209860248, - 25.79011427888136 + -70.86851913822156, + 25.81027224474102 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.05273739031475, - 27.278196207610172 + -85.24173363419717, + 24.34323106176321 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.68105867358958, - 27.21289905396955 + -70.84877351272029, + 26.92445686110058 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.42234796309599, - 26.22301149374214 + -74.71160840330522, + 21.77620359204627 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.38487102139864, - 26.08247375588085 + -82.20296576353552, + 21.709322849932395 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 6, - "marker-color": "#ff4000", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.76905431857912, - 27.471768557404076 + -80.04325753495058, + 24.349990861490674 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.11420407247648, - 26.113452348786268 + -86.01507615292597, + 18.68916636419406 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.92622530551323, - 25.623260952842156 + -85.98455859943033, + 21.06707023138771 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.2164652385625, - 25.79578750021983 + -86.40609968225364, + 21.87541299401925 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.67472974247343, - 24.956264380693316 + -72.66122425689909, + 19.364456854255717 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.76340181762502, - 26.57219504751686 + -82.2600583537702, + 21.659164464794838 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.9283270010284, - 24.674017344728615 + -73.73592652087561, + 17.55179712679042 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.8228436577642, - 25.845318184468677 + -76.80434002543046, + 18.311428726658654 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.95113454727932, - 26.357292830184782 + -78.89936609149818, + 27.20566948335109 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.72311173060332, - 27.453459491416243 + -73.9153275956025, + 22.728686372271056 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.86851913822156, - 25.81027224474102 + -71.22442161042382, + 20.946470968784404 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.84877351272029, - 26.92445686110058 + -80.23254193941007, + 26.262181726505418 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.72209650039468, - 24.280447748568445 + -76.62437731409852, + 19.781049107501957 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.59204571681656, - 24.786873137315194 + -85.49173903601617, + 16.92003208241821 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.810090294371, - 25.23156636266861 + -82.25829317577141, + 21.827114782054075 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.78777310048918, - 23.92218146021364 + -71.65532298324348, + 17.29988957265243 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.58570795493182, - 25.546633692923525 + -76.3453947248687, + 24.50576556423695 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.80371392928168, - 26.040116775073876 + -74.37506450657898, + 16.711071194315227 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.66745422227388, - 26.168091294302087 + -85.42569161383636, + 21.026826554775827 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.96026394085236, - 25.51392205303288 + -75.43791743989885, + 24.962432920525124 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.78174587415, - 25.852826126614094 + -75.84458598730575, + 23.70594482686843 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.53755328892348, - 25.323104677883705 + -78.37848518046901, + 26.34378098000883 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.7096594822639, - 24.460836562368442 + -85.13497764736996, + 17.934013939878078 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 7, - "marker-color": "#ff9f00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.09304190552334, - 27.42090911618883 + -85.54709582459233, + 16.53706271986311 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.05488356732162, - 24.111641311913072 + -82.17844562558024, + 23.80702766062598 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.27364128877521, - 21.130861117009847 + -77.64984925794586, + 27.17403653643745 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.23963323045145, - 23.244627904260923 + -71.89153777133139, + 23.170952976617727 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.4614226211491, - 23.444082141644998 + -83.93875091618717, + 25.00047089937265 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.01085563325441, - 23.60461239295877 + -78.9102252552082, + 23.883340808622673 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.632893967135, - 23.107454998460437 + -76.45068182631776, + 24.018640243238202 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.34538728645822, - 24.41450380344747 + -82.56517209188608, + 24.748894301890655 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.33122422882889, - 23.37013167679639 + -77.41470444523833, + 26.791071724795167 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.71160840330522, - 21.77620359204627 + -82.27546806320538, + 24.62810216606337 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.9153275956025, - 22.728686372271056 + -80.37798026966385, + 22.800554127763526 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.84458598730575, - 23.70594482686843 + -85.67038090634749, + 19.518488261229543 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.54280695688689, - 23.237868840297253 + -74.51124408675949, + 18.95091920687403 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.97637737411591, - 23.150822409149665 + -71.72209650039468, + 24.280447748568445 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.73009496457921, - 23.7983464395302 + -78.28434198674468, + 17.20571626766068 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.03458096249997, - 22.65764273416216 + -81.15681636726895, + 26.828785859624258 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.93734071291428, - 23.99085830463023 + -76.11344269598334, + 17.666989151972253 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.55667427680913, - 22.171811135508918 + -84.96994176238145, + 22.888540550894795 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.90881672418563, - 21.468642424655155 + -77.50079368006108, + 26.634382308937134 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.54280695688689, + 23.237868840297253 + ] + }, "properties": { "cluster": 8, "marker-color": "#ffff00", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -75.89333076284501, - 24.384990740752006 + -72.59204571681656, + 24.786873137315194 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.59332944904146, - 24.120911542546878 + -73.01377215866017, + 18.936419309424537 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.63060572237521, - 22.939370867570908 + -77.01405131484972, + 18.581612310870824 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.9753411638257, - 22.736683695999382 + -80.6420973159142, + 18.58453117274099 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.81530228240368, - 21.899431865794316 + -83.74759623801513, + 26.12337676616272 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.69220087076908, - 23.99722100792555 + -86.05313261324237, + 19.319796400696145 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.64211828010676, - 22.535063069435896 + -79.13970036126891, + 17.506087557394512 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.80825302190365, - 23.35316310450464 + -84.75848457074353, + 21.115370497855984 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.56289580127358, - 23.7331334661265 + -86.16830971446066, + 24.6894321007414 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 8, - "marker-color": "#ffff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.32615130900722, - 23.22949976202878 + -73.21048541308969, + 17.919231608494442 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.13081869539506, - 26.23449839991876 + -74.97637737411591, + 23.150822409149665 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.53680657077764, - 25.303329199906706 + -81.98806643205722, + 18.733700354050203 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.2520931858629, - 25.53784765691357 + -73.73009496457921, + 23.7983464395302 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.52847693811808, - 24.220685835886385 + -86.21686530340585, + 18.59063554310776 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.5179339115434, - 23.450627516507094 + -71.94846192062774, + 19.236367113472895 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.10661507770358, - 25.13063963201959 + -82.97783503664645, + 19.823228188109127 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.2729878125471, - 23.65784314034355 + -84.31384918144222, + 22.633190689556994 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.3562097070285, - 24.24226765651852 + -76.49404471100601, + 22.009751251682275 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.03313564896565, - 24.333750064476934 + -74.1270341028659, + 25.781532521957693 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.09803657824347, - 23.3454534216312 + -85.51950761862354, + 23.496329401717578 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.64998704253041, - 24.234779530366744 + -85.67344643947845, + 20.92896756107965 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.36852553393699, - 24.295072371424403 + -83.28006204700529, + 18.638001663502685 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.50995550468448, - 26.805856081166645 + -86.33788518686183, + 24.089777622921456 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.1727623444978, - 24.152605040309613 + -76.03458096249997, + 22.65764273416216 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.80104984355006, + 26.237062559189845 + ] + }, "properties": { - "cluster": 9, - "marker-color": "#9fff00", + "cluster": 6, + "marker-color": "#ff4000", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -84.47025910061983, - 24.118620545794855 + -75.21242542631086, + 20.177739085659635 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.93875091618717, - 25.00047089937265 + -74.38674449250746, + 17.652491491363605 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.56517209188608, - 24.748894301890655 + -73.93734071291428, + 23.99085830463023 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.27546806320538, - 24.62810216606337 + -77.20251485577793, + 26.55556740273682 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.74759623801513, - 26.12337676616272 + -74.73360568748585, + 26.28033941085063 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.21354373461136, - 25.88846335275895 + -78.13262960963559, + 22.34430874872904 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.07748325170441, - 27.337367361375666 + -76.54532805510269, + 17.55045667323678 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.83961825329554, - 25.484747617185402 + -70.80026818559628, + 18.561998669158292 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.87200031832714, - 23.66114743521159 + -77.28628835491551, + 19.571063802546057 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.40866406564102, - 24.65588369863437 + -86.58131591277606, + 24.21369712743759 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.55598541988493, - 23.62640751670331 + -74.88085722918547, + 19.753718721210948 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.45286775268717, - 27.264956115483226 + -74.64966522234937, + 20.677188588895476 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.56890381178304, - 24.88700194600341 + -74.24840889524553, + 19.69712523257967 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.00730697784353, - 25.897847636990367 + -79.96400931937723, + 18.174770180214516 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.41505346819054, - 25.017559911985607 + -76.70189850382681, + 16.534625567595363 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.95900351362758, - 26.964513550251407 + -71.810090294371, + 25.23156636266861 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -83.40595166597085, - 26.80155978434455 + -77.17536572906562, + 19.792647657345 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 9, - "marker-color": "#9fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.96259557904392, - 24.196187792487656 + -73.79193518864761, + 24.737897659493715 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.55680807421967, - 21.907870183116437 + -85.93555696939467, + 19.98152959915939 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.28388468077954, - 22.883779502221373 + -84.21354373461136, + 25.88846335275895 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.86222771555597, - 22.720569651349564 + -79.32534041974515, + 26.094983944812824 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.45164209210782, - 23.76673190659356 + -78.97472021053458, + 26.061373986456793 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.21575485381635, - 23.096925087889748 + -86.84081911742697, + 23.793624669453152 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.01908584146595, - 21.557475862048076 + -77.24844766066971, + 24.484245781333726 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.76550387867614, - 21.84873202139447 + -72.90249827777127, + 22.05793250583984 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.77110623794552, - 22.880747711470292 + -83.07748325170441, + 27.337367361375666 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.19600112265177, - 22.73914989583398 + -80.52285998029147, + 17.487274302366117 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.34171838085163, - 22.153445077419946 + -80.81251634431071, + 20.933095236667395 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.20296576353552, - 21.709322849932395 + -73.58692805675213, + 24.80146814851551 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.2600583537702, - 21.659164464794838 + -72.47378831903654, + 21.652685460023044 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.25829317577141, - 21.827114782054075 + -73.70162022475394, + 19.229694616459863 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.17844562558024, - 23.80702766062598 + -71.78777310048918, + 23.92218146021364 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.37798026966385, - 22.800554127763526 + -78.80552346807535, + 22.161467782172014 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.56477901274141, - 23.02518524523849 + -75.55667427680913, + 22.171811135508918 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.61820042082097, - 23.049137776556364 + -85.49928602385201, + 27.41608769703238 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.98171564844314, - 21.140743955694063 + -81.34842284656386, + 17.435895054282373 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.80521037357039, - 21.252980629644455 + -72.21228170738233, + 22.173670632023597 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.49961985245375, - 23.749896556565293 + -75.90881672418563, + 21.468642424655155 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -82.56477901274141, + 23.02518524523849 + ] + }, "properties": { "cluster": 10, "marker-color": "#3fff00", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -83.00830955618024, - 21.885311144830727 + -79.43974652662247, + 22.60413987147912 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.96411774831036, - 22.888644254222072 + -78.5883411017305, + 19.917932537792794 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.93509999305662, - 24.197922897145702 + -80.35881511009039, + 19.09687830115208 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.26371632117386, - 23.468899954784128 + -80.72145863838075, + 25.18049472134159 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.0586637697147, - 22.618118595420675 + -77.95694749118951, + 27.39255408553263 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.82988603140993, - 22.75446266986306 + -84.44936060272309, + 27.49130192814892 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -81.61820042082097, + 23.049137776556364 + ] + }, "properties": { "cluster": 10, "marker-color": "#3fff00", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -82.684418563593, - 21.47654476359144 + -77.10989174097693, + 18.469712160553517 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.3831207434748, - 20.990164116130572 + -76.379040540202, + 20.37524788330293 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 10, - "marker-color": "#3fff00", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -82.32932140159735, - 21.369086228743924 + -81.51495780456581, + 16.669087042407536 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.10886304098058, + 16.8269149948045 + ] + }, "properties": { "cluster": 11, "marker-color": "#00ff20", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -75.50889284912286, - 18.340562952508183 + -81.72560883757795, + 16.962762773864505 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.18027511981438, - 18.875894880366534 + -75.89333076284501, + 24.384990740752006 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.43824120718541, - 19.103181050521584 + -73.59332944904146, + 24.120911542546878 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.42930471321405, - 20.022748677821312 + -71.42817901090537, + 17.74846475203746 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.38761515683782, - 18.77265726075554 + -71.89833899459296, + 19.72230811960007 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.65487739464005, - 20.270385418656613 + -81.98171564844314, + 21.140743955694063 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.44983759982364, - 18.547000172845294 + -77.99706809934376, + 18.63550290606603 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.75288708284614, - 18.922685406247748 + -81.13208804398411, + 19.266357159361213 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.44208974284808, + 18.89754661420165 + ] + }, "properties": { "cluster": 11, "marker-color": "#00ff20", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -75.18827115285569, - 20.273168111170328 + -80.67095396405709, + 17.953443362949123 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.25891612041117, - 19.525184281200534 + -77.61949782551551, + 25.38069882274378 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -73.82927583009545, + 18.920544836399152 + ] + }, "properties": { "cluster": 11, "marker-color": "#00ff20", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -73.81858154084357, - 19.071318793255987 + -72.71898403700982, + 22.858679743400074 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.67260570784427, - 20.45532583962798 + -77.05832892131573, + 25.244587077548168 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.59793295622734, - 18.75099342612817 + -81.53486708882008, + 18.05579400531109 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -75.3189432679756, + 20.059875630170964 + ] + }, "properties": { "cluster": 11, "marker-color": "#00ff20", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -75.48932636312891, - 18.050155326157473 + -76.96213190737039, + 26.279325304846623 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.2741188221817, - 18.639289071153634 + -77.44927404052561, + 17.791447001826654 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.90735829536999, - 18.190052908059194 + -75.39338327111777, + 24.626502743687922 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.73592652087561, - 17.55179712679042 + -70.58570795493182, + 25.546633692923525 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.62437731409852, - 19.781049107501957 + -83.83961825329554, + 25.484747617185402 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.37506450657898, - 16.711071194315227 + -83.87200031832714, + 23.66114743521159 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.51124408675949, - 18.95091920687403 + -78.83487262625073, + 20.095259588587723 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.21242542631086, - 20.177739085659635 + -84.91640675333899, + 16.590848739189624 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.30245460933854, + 19.23352889608482 + ] + }, "properties": { "cluster": 11, "marker-color": "#00ff20", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -74.38674449250746, - 17.652491491363605 + -72.14994486721066, + 20.53183273996738 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.88085722918547, - 19.753718721210948 + -82.80521037357039, + 21.252980629644455 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -74.8787989831883, + 18.218515429796344 + ] + }, "properties": { "cluster": 11, "marker-color": "#00ff20", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -74.64966522234937, - 20.677188588895476 + -71.76978734183139, + 17.7977450107505 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.24840889524553, - 19.69712523257967 + -70.80371392928168, + 26.040116775073876 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.70162022475394, - 19.229694616459863 + -74.95744087420283, + 25.191234441288678 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.379040540202, - 20.37524788330293 + -79.77674346051477, + 21.375540465284374 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.10886304098058, - 16.8269149948045 + -72.29292929991102, + 21.98589295297564 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.44208974284808, - 18.89754661420165 + -71.66745422227388, + 26.168091294302087 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.82927583009545, - 18.920544836399152 + -77.92295434812097, + 23.30372425686007 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.3189432679756, - 20.059875630170964 + -71.96026394085236, + 25.51392205303288 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.30245460933854, - 19.23352889608482 + -71.43164354544895, + 17.413235272364112 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.8787989831883, - 18.218515429796344 + -78.28566063654243, + 18.482281406816814 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.0632043924848, - 17.78197939775129 + -79.18586938186745, + 27.019278441405643 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.98170526139158, - 20.98332034823357 + -80.00665657564603, + 18.009509829132515 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.8522033753837, - 16.57371866969067 + -70.78174587415, + 25.852826126614094 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.4273474590883, - 20.29560385897871 + -73.17395695535176, + 20.322052935788367 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.75702086888295, - 18.06842605714349 + -74.75631134659818, + 27.4074383447763 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.04153303125153, - 20.350657127526738 + -71.30133416063728, + 22.908999108726512 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.79976558388476, - 20.035863120368496 + -79.5468209860248, + 25.79011427888136 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -74.22624323598141, - 17.943008474474265 + -76.50335139484208, + 25.338279000551893 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.75695759804495, - 20.08490410319372 + -84.85611159709538, + 24.40263258506802 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 11, - "marker-color": "#00ff20", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.25880876997459, - 18.567348945414572 + -84.19143746995799, + 22.76299900389558 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.65357594791968, - 16.66838838845727 + -81.49961985245375, + 23.749896556565293 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -78.93434205722116, + 17.8751516982336 + ] + }, "properties": { "cluster": 12, "marker-color": "#00ff80", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -77.61403051800008, - 17.263716566767037 + -80.47725300277814, + 20.834238692742822 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.25360192470616, - 18.686705558388965 + -81.40866406564102, + 24.65588369863437 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.51548817891319, - 17.202270132332913 + -77.23086732338659, + 22.010870880797054 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.27005222591032, - 17.528372337434828 + -83.55598541988493, + 23.62640751670331 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.92845035818462, - 17.837520858411256 + -72.067479899787, + 22.44918038801505 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.84175265531377, - 16.85074369818602 + -77.5723788030903, + 23.774277575000852 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.37878622301193, - 16.91615114076283 + -76.68634851848167, + 23.203154689599817 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.40499501048518, - 16.63021658406485 + -72.97302399035408, + 22.395504699565535 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -75.86140755178053, - 17.50071319492512 + -85.47937906764957, + 24.839570106333433 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.51634149582756, - 19.10937565092933 + -74.63060572237521, + 22.939370867570908 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.28374988273468, + 16.800162341500304 + ] + }, "properties": { "cluster": 12, "marker-color": "#00ff80", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -76.80434002543046, - 18.311428726658654 + -85.01980255637385, + 21.18954858284259 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -76.80981841825783, + 16.752970728846513 + ] + }, "properties": { "cluster": 12, "marker-color": "#00ff80", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -78.28434198674468, - 17.20571626766068 + -75.0632043924848, + 17.78197939775129 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.11344269598334, - 17.666989151972253 + -73.31937806169958, + 16.63036465541673 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { - "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -77.01405131484972, - 18.581612310870824 + -72.51362280935948, + 19.07306061464646 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.6462554841785, + 18.765258635070385 + ] + }, "properties": { "cluster": 12, "marker-color": "#00ff80", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -79.13970036126891, - 17.506087557394512 + -84.90737511126233, + 25.663681166863604 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.54532805510269, - 17.55045667323678 + -73.3184598837461, + 20.339708336838683 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.28628835491551, - 19.571063802546057 + -79.25614050898571, + 20.47865304539995 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.70189850382681, - 16.534625567595363 + -78.05273739031475, + 27.278196207610172 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.17536572906562, - 19.792647657345 + -76.57090751033381, + 25.058967866824403 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.10989174097693, - 18.469712160553517 + -72.72044789264216, + 17.86742294760512 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.99706809934376, - 18.63550290606603 + -82.45286775268717, + 27.264956115483226 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.44927404052561, - 17.791447001826654 + -79.46924741699405, + 22.27588495796526 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.28566063654243, - 18.482281406816814 + -85.2743504888918, + 26.691822644671085 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.93434205722116, - 17.8751516982336 + -77.18119091611597, + 24.755151867045228 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.28374988273468, - 16.800162341500304 + -73.9753411638257, + 22.736683695999382 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.80981841825783, - 16.752970728846513 + -83.17815192274419, + 17.766464076510605 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -77.79951671731996, + 16.979753651505465 + ] + }, "properties": { "cluster": 12, "marker-color": "#00ff80", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -77.6462554841785, - 18.765258635070385 + -73.81530228240368, + 21.899431865794316 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.79951671731996, - 16.979753651505465 + -80.15292492090326, + 18.519443297834165 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.54728340532579, - 17.713742740545893 + -77.11308732341453, + 22.73505946813462 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.25519670513809, - 19.980973614544432 + -83.00830955618024, + 21.885311144830727 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.0243253011326, - 17.45098074087971 + -77.54728340532579, + 17.713742740545893 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 12, "marker-color": "#00ff80", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -77.90718745331596, - 18.01378466658022 + -71.53755328892348, + 25.323104677883705 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -77.6909951062254, - 17.986704731304503 + -76.68105867358958, + 27.21289905396955 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 12, - "marker-color": "#00ff80", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -76.38990946382116, - 17.402709176906622 + -81.96411774831036, + 22.888644254222072 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.42324858424885, - 17.48175433130492 + -75.98170526139158, + 20.98332034823357 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.99075803676163, - 17.651929487468298 + -86.56755786305595, + 19.40265705295205 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.95315877653405, - 18.41169388608788 + -73.9097441614737, + 25.69899354986159 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.63635988061537, - 18.75973134353604 + -74.8522033753837, + 16.57371866969067 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.02923748665658, - 17.06286092924691 + -71.59048812893998, + 22.36793387394907 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.3558896446572, - 17.44256116852827 + -81.69797232502891, + 17.49676706923224 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.66122425689909, - 19.364456854255717 + -75.4273474590883, + 20.29560385897871 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.65532298324348, - 17.29988957265243 + -75.75702086888295, + 18.06842605714349 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.01377215866017, - 18.936419309424537 + -80.93509999305662, + 24.197922897145702 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.59056449409796, + 17.249155158477635 + ] + }, "properties": { "cluster": 13, "marker-color": "#00ffe0", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -73.21048541308969, - 17.919231608494442 + -72.04442014558218, + 20.180967527569678 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -71.37084983049334, + 18.874173436903888 + ] + }, "properties": { "cluster": 13, "marker-color": "#00ffe0", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -71.94846192062774, - 19.236367113472895 + -81.56890381178304, + 24.88700194600341 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.80026818559628, - 18.561998669158292 + -75.06300053256552, + 25.068476848998436 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.42817901090537, - 17.74846475203746 + -79.07431215190033, + 23.634255220677876 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.89833899459296, - 19.72230811960007 + -72.97261043138833, + 20.783569456567577 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.76978734183139, - 17.7977450107505 + -74.69220087076908, + 23.99722100792555 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.43164354544895, - 17.413235272364112 + -81.28624765409677, + 19.684275914963393 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -73.31937806169958, - 16.63036465541673 + -81.26371632117386, + 23.468899954784128 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.51362280935948, - 19.07306061464646 + -75.64211828010676, + 22.535063069435896 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -70.76720344494535, + 17.95425416674962 + ] + }, "properties": { "cluster": 13, "marker-color": "#00ffe0", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -72.72044789264216, - 17.86742294760512 + -86.84949687526881, + 23.882703836621122 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.59056449409796, - 17.249155158477635 + -71.51599855499506, + 22.18056139559293 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.37084983049334, - 18.874173436903888 + -81.0586637697147, + 22.618118595420675 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.76720344494535, - 17.95425416674962 + -80.82988603140993, + 22.75446266986306 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.3072622609112, - 19.064713633397105 + -86.10048201961024, + 21.361849810266136 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.74959288173342, - 17.47999904710256 + -75.04153303125153, + 20.350657127526738 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -70.89623600838752, - 19.396975077838288 + -86.59504589774306, + 27.064096554971023 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -71.87135659444625, - 17.56355668256735 + -86.07548891214728, + 17.301084891511273 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.15374231895991, - 19.572527461376602 + -84.33158765668573, + 19.452979509754268 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 13, - "marker-color": "#00ffe0", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -72.43945965828523, - 18.638609876647752 + -76.81854336800883, + 24.131395375394586 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.98702719224296, - 25.275001495112985 + -82.684418563593, + 21.47654476359144 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.90361604004578, - 26.430002559611477 + -83.00730697784353, + 25.897847636990367 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.28525543556775, - 26.722194267296018 + -75.40829350874473, + 27.268125557919248 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.7199945397987, - 25.802953128684692 + -80.2707934048482, + 20.982305048038683 ] + }, + "properties": { + "cluster": 15, + "marker-color": "#005fff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.01712484014583, - 24.449642983600107 + -73.38809337052642, + 26.427105032557755 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.63151040609172, - 24.490225688795583 + -85.0134734724832, + 25.13419607033201 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 14, "marker-color": "#00beff", "marker-size": "small" - }, - "geometry": { - "type": "Point", - "coordinates": [ - -85.0823710181298, - 25.482920857480014 - ] } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.17642686622017, + 25.221069930712087 + ] + }, "properties": { "cluster": 14, "marker-color": "#00beff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -85.42010129302429, - 25.72860309981145 + -86.71994017762563, + 20.189025977120103 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -85.29187361259146, + 27.392240106344147 + ] + }, "properties": { "cluster": 14, "marker-color": "#00beff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -86.57393282654176, - 26.261024024692077 + -74.79976558388476, + 20.035863120368496 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.85825660840021, - 25.43539990016023 + -72.3275873181896, + 23.43075879262019 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.17454776573982, - 23.461743771248557 + -78.30217792473226, + 22.66331518976522 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.18265845716839, - 25.295833894402776 + -86.02504204870841, + 18.793197099411397 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.96796993174219, + 24.703657172369798 + ] + }, "properties": { "cluster": 14, "marker-color": "#00beff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -84.85957138950651, - 25.651916540759668 + -84.41505346819054, + 25.017559911985607 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.55081810986574, - 24.915158163291853 + -86.287484618002, + 19.75003759357949 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.66397149031135, - 25.831969038126523 + -77.25519670513809, + 19.980973614544432 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.24173363419717, - 24.34323106176321 + -81.3831207434748, + 20.990164116130572 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.16830971446066, - 24.6894321007414 + -73.30367109087219, + 25.1900948213395 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.51950761862354, - 23.496329401717578 + -83.33929483454432, + 17.79933711363019 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.33788518686183, - 24.089777622921456 + -72.3072622609112, + 19.064713633397105 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.58131591277606, - 24.21369712743759 + -85.09464045072042, + 16.867824298530778 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.84081911742697, - 23.793624669453152 + -74.01339730011378, + 25.682665424232965 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.49928602385201, - 27.41608769703238 + -71.74959288173342, + 17.47999904710256 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.44936060272309, - 27.49130192814892 + -86.95625724719481, + 26.53239538653403 ] - } - }, - { - "type": "Feature", + }, "properties": { "cluster": 14, "marker-color": "#00beff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -84.85611159709538, - 24.40263258506802 + -82.95900351362758, + 26.964513550251407 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.47937906764957, - 24.839570106333433 + -74.22624323598141, + 17.943008474474265 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.90737511126233, - 25.663681166863604 + -81.14342020536195, + 18.867794740406104 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.2743504888918, - 26.691822644671085 + -85.61849018164143, + 22.47855670455455 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.84949687526881, - 23.882703836621122 + -83.7861071942679, + 18.669738072373164 ] + }, + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" } }, { "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + -86.00369227814197, + 24.612757650509216 + ] + }, "properties": { "cluster": 14, "marker-color": "#00beff", "marker-size": "small" - }, + } + }, + { + "type": "Feature", "geometry": { "type": "Point", "coordinates": [ - -86.59504589774306, - 27.064096554971023 + -71.77138891405684, + 20.81044983619232 ] + }, + "properties": { + "cluster": 4, + "marker-color": "#ff007e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.0134734724832, - 25.13419607033201 + -70.89623600838752, + 19.396975077838288 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.17642686622017, - 25.221069930712087 + -83.40595166597085, + 26.80155978434455 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -85.29187361259146, - 27.392240106344147 + -74.80825302190365, + 23.35316310450464 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.96796993174219, - 24.703657172369798 + -82.96259557904392, + 24.196187792487656 ] + }, + "properties": { + "cluster": 9, + "marker-color": "#9fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.95625724719481, - 26.53239538653403 + -74.08863800575135, + 25.15698262014013 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -86.00369227814197, - 24.612757650509216 + -75.75695759804495, + 20.08490410319372 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 14, - "marker-color": "#00beff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -84.86031632408672, - 24.23389023003475 + -77.42234796309599, + 26.22301149374214 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.22266857015823, - 20.94137638968897 + -76.26218882048389, + 26.41236152098589 ] + }, + "properties": { + "cluster": 5, + "marker-color": "#ff001e", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.43898229878118, - 18.874231952472687 + -71.87135659444625, + 17.56355668256735 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.66116457836486, - 20.169682381560182 + -78.49722908932829, + 21.926256397875694 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.48978633680683, - 19.623096473871033 + -70.7096594822639, + 24.460836562368442 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.88684525321649, - 18.726646021819167 + -71.09304190552334, + 27.42090911618883 ] + }, + "properties": { + "cluster": 7, + "marker-color": "#ff9f00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.38646877459935, - 19.37340763751337 + -76.0243253011326, + 17.45098074087971 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.4434583942987, - 19.619680064723546 + -75.25880876997459, + 18.567348945414572 ] + }, + "properties": { + "cluster": 11, + "marker-color": "#00ff20", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.6420973159142, - 18.58453117274099 + -72.15374231895991, + 19.572527461376602 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.96400931937723, - 18.174770180214516 + -77.90718745331596, + 18.01378466658022 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.81251634431071, - 20.933095236667395 + -83.3932989046418, + 19.030002383084067 ] + }, + "properties": { + "cluster": 3, + "marker-color": "#ff00de", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.5883411017305, - 19.917932537792794 + -75.56289580127358, + 23.7331334661265 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.35881511009039, - 19.09687830115208 + -74.32615130900722, + 23.22949976202878 ] + }, + "properties": { + "cluster": 8, + "marker-color": "#ffff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.13208804398411, - 19.266357159361213 + -82.32932140159735, + 21.369086228743924 ] + }, + "properties": { + "cluster": 10, + "marker-color": "#3fff00", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -78.83487262625073, - 20.095259588587723 + -76.40761927871347, + 22.617986414434352 ] + }, + "properties": { + "cluster": 2, + "marker-color": "#bf00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.77674346051477, - 21.375540465284374 + -77.6909951062254, + 17.986704731304503 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.00665657564603, - 18.009509829132515 + -76.38990946382116, + 17.402709176906622 ] + }, + "properties": { + "cluster": 12, + "marker-color": "#00ff80", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.47725300277814, - 20.834238692742822 + -84.59495181641225, + 22.81831350748234 ] + }, + "properties": { + "cluster": 1, + "marker-color": "#5f00ff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -79.25614050898571, - 20.47865304539995 + -78.38487102139864, + 26.08247375588085 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.15292492090326, - 18.519443297834165 + -84.86031632408672, + 24.23389023003475 ] + }, + "properties": { + "cluster": 14, + "marker-color": "#00beff", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -81.28624765409677, - 19.684275914963393 + -80.76905431857912, + 27.471768557404076 ] + }, + "properties": { + "cluster": 6, + "marker-color": "#ff4000", + "marker-size": "small" } }, { "type": "Feature", - "properties": { - "cluster": 15, - "marker-color": "#005fff", - "marker-size": "small" - }, "geometry": { "type": "Point", "coordinates": [ - -80.2707934048482, - 20.982305048038683 + -72.43945965828523, + 18.638609876647752 ] + }, + "properties": { + "cluster": 13, + "marker-color": "#00ffe0", + "marker-size": "small" } }, { diff --git a/packages/turf-clusters/test/out/points-with-properties.geojson b/packages/turf-clusters/test/out/points-with-properties.geojson new file mode 100644 index 0000000000..d1783885ba --- /dev/null +++ b/packages/turf-clusters/test/out/points-with-properties.geojson @@ -0,0 +1,133 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "marker-symbol": 1, + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 68.477783203125, + -48.84302835299516 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 2, + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 68.873291015625, + -48.821332549646634 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 3, + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 68.69750976562499, + -48.958580664409766 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 4, + "cluster": 1, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 70.87280273437499, + -49.418120700666414 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 5, + "cluster": 1, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 71.949462890625, + -49.36091154712616 + ] + } + }, + { + "type": "Feature", + "properties": { + "marker-symbol": 6, + "cluster": 1, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 71.4111328125, + -49.102645497788814 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#000080", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 68.682861328125, + -48.87431385568385 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#808000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 71.4111328125, + -49.29389258186046 + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/turf-clusters/test/out/points1.geojson b/packages/turf-clusters/test/out/points1.geojson index 4dffa56c35..8acee8fe01 100644 --- a/packages/turf-clusters/test/out/points1.geojson +++ b/packages/turf-clusters/test/out/points1.geojson @@ -94,105 +94,105 @@ { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff0000", + "cluster": 2, + "marker-color": "#00ff01", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -80.46936035156249, - 22.070368801349257 + -75.8551025390625, + 20.035289711352377 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff0000", + "cluster": 2, + "marker-color": "#00ff01", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -80.34027099609375, - 22.2026634080092 + -75.6683349609375, + 20.128155311797183 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff0000", + "cluster": 2, + "marker-color": "#00ff01", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -80.35675048828125, - 22.12126604542578 + -75.73974609375, + 20.122997556207757 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff0000", + "cluster": 2, + "marker-color": "#00ff01", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -80.43914794921875, - 22.271305748177635 + -75.6683349609375, + 20.030128899024707 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff0000", + "cluster": 2, + "marker-color": "#00ff01", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -80.38970947265625, - 22.021999432851782 + -75.80017089843749, + 20.040450354169483 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff0000", + "cluster": 2, + "marker-color": "#00ff01", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -80.55999755859375, - 22.118721619281263 + -76.0089111328125, + 20.226120295836992 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff0000", + "cluster": 2, + "marker-color": "#00ff01", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -80.54351806640625, - 22.0525504317147 + -76.0308837890625, + 19.926877111209265 ] } }, @@ -206,113 +206,113 @@ "geometry": { "type": "Point", "coordinates": [ - -75.8551025390625, - 20.035289711352377 + -75.7562255859375, + 20.014645445341365 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#00ff01", + "cluster": 1, + "marker-color": "#ff0000", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -75.6683349609375, - 20.128155311797183 + -80.46936035156249, + 22.070368801349257 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#00ff01", + "cluster": 1, + "marker-color": "#ff0000", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -75.73974609375, - 20.122997556207757 + -80.34027099609375, + 22.2026634080092 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#00ff01", + "cluster": 1, + "marker-color": "#ff0000", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -75.6683349609375, - 20.030128899024707 + -80.35675048828125, + 22.12126604542578 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#00ff01", + "cluster": 1, + "marker-color": "#ff0000", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -75.80017089843749, - 20.040450354169483 + -80.43914794921875, + 22.271305748177635 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#00ff01", + "cluster": 1, + "marker-color": "#ff0000", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -76.0089111328125, - 20.226120295836992 + -80.38970947265625, + 22.021999432851782 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#00ff01", + "cluster": 1, + "marker-color": "#ff0000", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -76.0308837890625, - 19.926877111209265 + -80.55999755859375, + 22.118721619281263 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#00ff01", + "cluster": 1, + "marker-color": "#ff0000", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -75.7562255859375, - 20.014645445341365 + -80.54351806640625, + 22.0525504317147 ] } }, diff --git a/packages/turf-clusters/test/out/points2.geojson b/packages/turf-clusters/test/out/points2.geojson index e39ac56bb2..6baeaf15ed 100644 --- a/packages/turf-clusters/test/out/points2.geojson +++ b/packages/turf-clusters/test/out/points2.geojson @@ -34,210 +34,210 @@ { "type": "Feature", "properties": { - "cluster": 0, - "marker-color": "#0000ff", + "cluster": 2, + "marker-color": "#ffff00", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -123.48632812499999, - 57.938183012205315 + -112.5, + 60.84491057364912 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff007e", + "cluster": 2, + "marker-color": "#ffff00", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -117.158203125, - 46.558860303117164 + -110.478515625, + 59.265880628258095 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff007e", + "cluster": 2, + "marker-color": "#ffff00", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -114.873046875, - 45.767522962149876 + -103.71093749999999, + 60.673178565817715 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff007e", + "cluster": 2, + "marker-color": "#ffff00", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -112.67578124999999, - 44.402391829093915 + -102.3046875, + 55.52863052257191 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff007e", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -119.53125, - 44.33956524809713 + -83.935546875, + 60.930432202923335 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff007e", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -115.927734375, - 43.389081939117496 + -79.89257812499999, + 60.23981116999893 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff007e", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -120.58593749999999, - 38.685509760012 + -82.79296874999999, + 57.468589192089354 ] } }, { "type": "Feature", "properties": { - "cluster": 1, - "marker-color": "#ff007e", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -113.90625, - 40.3130432088809 + -72.7734375, + 58.63121664342478 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#ffff00", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -112.5, - 60.84491057364912 + -79.541015625, + 55.178867663281984 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#ffff00", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -110.478515625, - 59.265880628258095 + -90.263671875, + 50.17689812200107 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#ffff00", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -103.71093749999999, - 60.673178565817715 + -84.990234375, + 49.38237278700955 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#ffff00", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -102.3046875, - 55.52863052257191 + -94.21875, + 47.27922900257082 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#ffff00", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -107.490234375, - 57.040729838360875 + -88.41796875, + 48.28319289548349 ] } }, { "type": "Feature", "properties": { - "cluster": 2, - "marker-color": "#ffff00", + "cluster": 3, + "marker-color": "#00ff80", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -103.0078125, - 58.6769376725869 + -92.548828125, + 52.855864177853974 ] } }, @@ -251,23 +251,23 @@ "geometry": { "type": "Point", "coordinates": [ - -83.935546875, - 60.930432202923335 + -87.1875, + 45.89000815866184 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 2, + "marker-color": "#ffff00", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -79.89257812499999, - 60.23981116999893 + -107.490234375, + 57.040729838360875 ] } }, @@ -281,8 +281,8 @@ "geometry": { "type": "Point", "coordinates": [ - -82.79296874999999, - 57.468589192089354 + -69.78515625, + 56.511017504952136 ] } }, @@ -296,8 +296,8 @@ "geometry": { "type": "Point", "coordinates": [ - -72.7734375, - 58.63121664342478 + -81.73828125, + 62.83508901142283 ] } }, @@ -311,8 +311,8 @@ "geometry": { "type": "Point", "coordinates": [ - -79.541015625, - 55.178867663281984 + -76.37695312499999, + 61.938950426660604 ] } }, @@ -326,8 +326,8 @@ "geometry": { "type": "Point", "coordinates": [ - -90.263671875, - 50.17689812200107 + -91.845703125, + 46.07323062540835 ] } }, @@ -341,23 +341,23 @@ "geometry": { "type": "Point", "coordinates": [ - -84.990234375, - 49.38237278700955 + -76.640625, + 58.44773280389084 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 2, + "marker-color": "#ffff00", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -94.21875, - 47.27922900257082 + -103.0078125, + 58.6769376725869 ] } }, @@ -371,128 +371,128 @@ "geometry": { "type": "Point", "coordinates": [ - -88.41796875, - 48.28319289548349 + -88.857421875, + 39.774769485295465 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 0, + "marker-color": "#0000ff", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -92.548828125, - 52.855864177853974 + -123.48632812499999, + 57.938183012205315 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 1, + "marker-color": "#ff007e", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -87.1875, - 45.89000815866184 + -117.158203125, + 46.558860303117164 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 1, + "marker-color": "#ff007e", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -69.78515625, - 56.511017504952136 + -114.873046875, + 45.767522962149876 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 1, + "marker-color": "#ff007e", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -81.73828125, - 62.83508901142283 + -112.67578124999999, + 44.402391829093915 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 1, + "marker-color": "#ff007e", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -76.37695312499999, - 61.938950426660604 + -119.53125, + 44.33956524809713 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 1, + "marker-color": "#ff007e", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -91.845703125, - 46.07323062540835 + -115.927734375, + 43.389081939117496 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 1, + "marker-color": "#ff007e", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -76.640625, - 58.44773280389084 + -120.58593749999999, + 38.685509760012 ] } }, { "type": "Feature", "properties": { - "cluster": 3, - "marker-color": "#00ff80", + "cluster": 1, + "marker-color": "#ff007e", "marker-size": "small" }, "geometry": { "type": "Point", "coordinates": [ - -88.857421875, - 39.774769485295465 + -113.90625, + 40.3130432088809 ] } }, diff --git a/packages/turf-clusters/types.ts b/packages/turf-clusters/types.ts index 47b206a354..56044b2356 100644 --- a/packages/turf-clusters/types.ts +++ b/packages/turf-clusters/types.ts @@ -1,13 +1,13 @@ import * as random from '@turf/random' -import * as clusters from './' +import * as cluster from './' const points = random('point', 50, { bbox: [0, 30, 20, 50] }) const numberOfClusters = 5; -const clustered = clusters(points, numberOfClusters) +const clustered = cluster(points, numberOfClusters) // Properties option -clusters(points) -clusters(points, numberOfClusters) +cluster(points) +cluster(points, numberOfClusters) diff --git a/packages/turf-clusters/yarn.lock b/packages/turf-clusters/yarn.lock index 6c76709f46..1cb0167040 100644 --- a/packages/turf-clusters/yarn.lock +++ b/packages/turf-clusters/yarn.lock @@ -68,10 +68,6 @@ chromatism@2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/chromatism/-/chromatism-2.6.0.tgz#c50ba715565bc9febd87b57a351850e1e51376a4" -clusters@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/clusters/-/clusters-0.0.4.tgz#f6d603139788b1443415fee42fe1d4ececea8379" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -286,6 +282,10 @@ resumer@~0.0.0: dependencies: through "~2.3.4" +skmeans@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/skmeans/-/skmeans-0.5.0.tgz#0450dcbafffee5f24acffddfd1336143e74513c1" + slide@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" From 3c51753bf401a79577b80f9a90b000973274b15f Mon Sep 17 00:00:00 2001 From: stebogit Date: Sat, 17 Jun 2017 00:08:36 -0700 Subject: [PATCH 06/10] renamed turf-cluster folder --- packages/{turf-clusters => turf-cluster}/LICENSE | 0 packages/{turf-clusters => turf-cluster}/README.md | 0 packages/{turf-clusters => turf-cluster}/bench.js | 0 packages/{turf-clusters => turf-cluster}/index.d.ts | 0 packages/{turf-clusters => turf-cluster}/index.js | 0 packages/{turf-clusters => turf-cluster}/package.json | 0 packages/{turf-clusters => turf-cluster}/test.js | 0 .../{turf-clusters => turf-cluster}/test/in/many-points.geojson | 0 .../test/in/points-with-properties.geojson | 0 packages/{turf-clusters => turf-cluster}/test/in/points1.geojson | 0 packages/{turf-clusters => turf-cluster}/test/in/points2.geojson | 0 .../{turf-clusters => turf-cluster}/test/out/many-points.geojson | 0 .../test/out/points-with-properties.geojson | 0 packages/{turf-clusters => turf-cluster}/test/out/points1.geojson | 0 packages/{turf-clusters => turf-cluster}/test/out/points2.geojson | 0 packages/{turf-clusters => turf-cluster}/types.ts | 0 packages/{turf-clusters => turf-cluster}/yarn.lock | 0 17 files changed, 0 insertions(+), 0 deletions(-) rename packages/{turf-clusters => turf-cluster}/LICENSE (100%) rename packages/{turf-clusters => turf-cluster}/README.md (100%) rename packages/{turf-clusters => turf-cluster}/bench.js (100%) rename packages/{turf-clusters => turf-cluster}/index.d.ts (100%) rename packages/{turf-clusters => turf-cluster}/index.js (100%) rename packages/{turf-clusters => turf-cluster}/package.json (100%) rename packages/{turf-clusters => turf-cluster}/test.js (100%) rename packages/{turf-clusters => turf-cluster}/test/in/many-points.geojson (100%) rename packages/{turf-clusters => turf-cluster}/test/in/points-with-properties.geojson (100%) rename packages/{turf-clusters => turf-cluster}/test/in/points1.geojson (100%) rename packages/{turf-clusters => turf-cluster}/test/in/points2.geojson (100%) rename packages/{turf-clusters => turf-cluster}/test/out/many-points.geojson (100%) rename packages/{turf-clusters => turf-cluster}/test/out/points-with-properties.geojson (100%) rename packages/{turf-clusters => turf-cluster}/test/out/points1.geojson (100%) rename packages/{turf-clusters => turf-cluster}/test/out/points2.geojson (100%) rename packages/{turf-clusters => turf-cluster}/types.ts (100%) rename packages/{turf-clusters => turf-cluster}/yarn.lock (100%) diff --git a/packages/turf-clusters/LICENSE b/packages/turf-cluster/LICENSE similarity index 100% rename from packages/turf-clusters/LICENSE rename to packages/turf-cluster/LICENSE diff --git a/packages/turf-clusters/README.md b/packages/turf-cluster/README.md similarity index 100% rename from packages/turf-clusters/README.md rename to packages/turf-cluster/README.md diff --git a/packages/turf-clusters/bench.js b/packages/turf-cluster/bench.js similarity index 100% rename from packages/turf-clusters/bench.js rename to packages/turf-cluster/bench.js diff --git a/packages/turf-clusters/index.d.ts b/packages/turf-cluster/index.d.ts similarity index 100% rename from packages/turf-clusters/index.d.ts rename to packages/turf-cluster/index.d.ts diff --git a/packages/turf-clusters/index.js b/packages/turf-cluster/index.js similarity index 100% rename from packages/turf-clusters/index.js rename to packages/turf-cluster/index.js diff --git a/packages/turf-clusters/package.json b/packages/turf-cluster/package.json similarity index 100% rename from packages/turf-clusters/package.json rename to packages/turf-cluster/package.json diff --git a/packages/turf-clusters/test.js b/packages/turf-cluster/test.js similarity index 100% rename from packages/turf-clusters/test.js rename to packages/turf-cluster/test.js diff --git a/packages/turf-clusters/test/in/many-points.geojson b/packages/turf-cluster/test/in/many-points.geojson similarity index 100% rename from packages/turf-clusters/test/in/many-points.geojson rename to packages/turf-cluster/test/in/many-points.geojson diff --git a/packages/turf-clusters/test/in/points-with-properties.geojson b/packages/turf-cluster/test/in/points-with-properties.geojson similarity index 100% rename from packages/turf-clusters/test/in/points-with-properties.geojson rename to packages/turf-cluster/test/in/points-with-properties.geojson diff --git a/packages/turf-clusters/test/in/points1.geojson b/packages/turf-cluster/test/in/points1.geojson similarity index 100% rename from packages/turf-clusters/test/in/points1.geojson rename to packages/turf-cluster/test/in/points1.geojson diff --git a/packages/turf-clusters/test/in/points2.geojson b/packages/turf-cluster/test/in/points2.geojson similarity index 100% rename from packages/turf-clusters/test/in/points2.geojson rename to packages/turf-cluster/test/in/points2.geojson diff --git a/packages/turf-clusters/test/out/many-points.geojson b/packages/turf-cluster/test/out/many-points.geojson similarity index 100% rename from packages/turf-clusters/test/out/many-points.geojson rename to packages/turf-cluster/test/out/many-points.geojson diff --git a/packages/turf-clusters/test/out/points-with-properties.geojson b/packages/turf-cluster/test/out/points-with-properties.geojson similarity index 100% rename from packages/turf-clusters/test/out/points-with-properties.geojson rename to packages/turf-cluster/test/out/points-with-properties.geojson diff --git a/packages/turf-clusters/test/out/points1.geojson b/packages/turf-cluster/test/out/points1.geojson similarity index 100% rename from packages/turf-clusters/test/out/points1.geojson rename to packages/turf-cluster/test/out/points1.geojson diff --git a/packages/turf-clusters/test/out/points2.geojson b/packages/turf-cluster/test/out/points2.geojson similarity index 100% rename from packages/turf-clusters/test/out/points2.geojson rename to packages/turf-cluster/test/out/points2.geojson diff --git a/packages/turf-clusters/types.ts b/packages/turf-cluster/types.ts similarity index 100% rename from packages/turf-clusters/types.ts rename to packages/turf-cluster/types.ts diff --git a/packages/turf-clusters/yarn.lock b/packages/turf-cluster/yarn.lock similarity index 100% rename from packages/turf-clusters/yarn.lock rename to packages/turf-cluster/yarn.lock From 6285e69b9e3e562be200ab9e91d412dcf800a956 Mon Sep 17 00:00:00 2001 From: stebogit Date: Sat, 17 Jun 2017 00:15:39 -0700 Subject: [PATCH 07/10] added fiji test --- packages/turf-cluster/test/in/fiji.geojson | 71 +++++++++++ packages/turf-cluster/test/out/fiji.geojson | 127 ++++++++++++++++++++ 2 files changed, 198 insertions(+) create mode 100644 packages/turf-cluster/test/in/fiji.geojson create mode 100644 packages/turf-cluster/test/out/fiji.geojson diff --git a/packages/turf-cluster/test/in/fiji.geojson b/packages/turf-cluster/test/in/fiji.geojson new file mode 100644 index 0000000000..601cc21cab --- /dev/null +++ b/packages/turf-cluster/test/in/fiji.geojson @@ -0,0 +1,71 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + 179.439697265625, + -16.55196172197251 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + 179.01123046874997, + -16.97274101999901 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + 179.505615234375, + -17.035777250427184 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + 180.75805664062497, + -16.41500926733237 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + 181.1865234375, + -16.615137799987075 + ] + } + }, + { + "type": "Feature", + "properties": {}, + "geometry": { + "type": "Point", + "coordinates": [ + 181.03271484375, + -16.277960306212513 + ] + } + } + ] +} \ No newline at end of file diff --git a/packages/turf-cluster/test/out/fiji.geojson b/packages/turf-cluster/test/out/fiji.geojson new file mode 100644 index 0000000000..5588d39e1c --- /dev/null +++ b/packages/turf-cluster/test/out/fiji.geojson @@ -0,0 +1,127 @@ +{ + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 179.439697265625, + -16.55196172197251 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 179.01123046874997, + -16.97274101999901 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#ffff00", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 179.505615234375, + -17.035777250427184 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 180.75805664062497, + -16.41500926733237 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 181.1865234375, + -16.615137799987075 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#0000ff", + "marker-size": "small" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 181.03271484375, + -16.277960306212513 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 0, + "marker-color": "#000080", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 180.992431640625, + -16.43603579117732 + ] + } + }, + { + "type": "Feature", + "properties": { + "cluster": 1, + "marker-color": "#808000", + "marker-symbol": "star-stroked", + "marker-size": "large" + }, + "geometry": { + "type": "Point", + "coordinates": [ + 179.31884765625, + -16.85349333079957 + ] + } + } + ] +} \ No newline at end of file From 1e0a6ac5aee151dc33534e74b45d83a540bc998f Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 17 Jun 2017 22:35:52 -0400 Subject: [PATCH 08/10] Rename to clusters --- .../{turf-cluster => turf-clusters}/LICENSE | 0 .../{turf-cluster => turf-clusters}/README.md | 6 ++-- .../{turf-cluster => turf-clusters}/bench.js | 28 ++++++++++--------- .../index.d.ts | 6 ++-- .../{turf-cluster => turf-clusters}/index.js | 21 +++++++------- .../package.json | 4 +-- .../{turf-cluster => turf-clusters}/test.js | 8 +++--- .../test/in/fiji.geojson | 0 .../test/in/many-points.geojson | 0 .../test/in/points-with-properties.geojson | 0 .../test/in/points1.geojson | 0 .../test/in/points2.geojson | 0 .../test/out/fiji.geojson | 0 .../test/out/many-points.geojson | 0 .../test/out/points-with-properties.geojson | 0 .../test/out/points1.geojson | 0 .../test/out/points2.geojson | 0 .../{turf-cluster => turf-clusters}/types.ts | 8 +++--- .../{turf-cluster => turf-clusters}/yarn.lock | 0 19 files changed, 42 insertions(+), 39 deletions(-) rename packages/{turf-cluster => turf-clusters}/LICENSE (100%) rename packages/{turf-cluster => turf-clusters}/README.md (96%) rename packages/{turf-cluster => turf-clusters}/bench.js (50%) rename packages/{turf-cluster => turf-clusters}/index.d.ts (52%) rename packages/{turf-cluster => turf-clusters}/index.js (81%) rename packages/{turf-cluster => turf-clusters}/package.json (93%) rename packages/{turf-cluster => turf-clusters}/test.js (90%) rename packages/{turf-cluster => turf-clusters}/test/in/fiji.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/in/many-points.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/in/points-with-properties.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/in/points1.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/in/points2.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/out/fiji.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/out/many-points.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/out/points-with-properties.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/out/points1.geojson (100%) rename packages/{turf-cluster => turf-clusters}/test/out/points2.geojson (100%) rename packages/{turf-cluster => turf-clusters}/types.ts (53%) rename packages/{turf-cluster => turf-clusters}/yarn.lock (100%) diff --git a/packages/turf-cluster/LICENSE b/packages/turf-clusters/LICENSE similarity index 100% rename from packages/turf-cluster/LICENSE rename to packages/turf-clusters/LICENSE diff --git a/packages/turf-cluster/README.md b/packages/turf-clusters/README.md similarity index 96% rename from packages/turf-cluster/README.md rename to packages/turf-clusters/README.md index a51f86ee1b..b716cd7572 100644 --- a/packages/turf-cluster/README.md +++ b/packages/turf-clusters/README.md @@ -1,6 +1,6 @@ -# @turf/cluster +# @turf/clusters -# cluster +# clusters Takes a set of {@link Point|points} and partition them into clusters using the k-mean. It uses the [k-means clustering](https://en.wikipedia.org/wiki/K-means_clustering) algorithm. @@ -17,7 +17,7 @@ var points = turf.random('point', 100, { bbox: [0, 30, 20, 50] }); var numberOfClusters = 7; -var clustered = turf.cluster(points, numberOfClusters); +var clustered = turf.clusters(points, numberOfClusters); //addToMap var addToMap = featureCollection(clustered.points); ``` diff --git a/packages/turf-cluster/bench.js b/packages/turf-clusters/bench.js similarity index 50% rename from packages/turf-cluster/bench.js rename to packages/turf-clusters/bench.js index a3329d2681..8fd93b1db4 100644 --- a/packages/turf-cluster/bench.js +++ b/packages/turf-clusters/bench.js @@ -2,7 +2,7 @@ const fs = require('fs'); const path = require('path'); const load = require('load-json-file'); const Benchmark = require('benchmark'); -const cluster = require('./'); +const clusters = require('./'); // Define Fixtures const directory = path.join(__dirname, 'test', 'in') + path.sep; @@ -18,23 +18,25 @@ const fixtures = fs.readdirSync(directory).map(filename => { /** * Benchmark Results * - * many-points: 37.029ms - * points-with-properties: 0.163ms - * points1: 0.270ms - * points2: 0.140ms - * many-points x 104 ops/sec ±15.08% (56 runs sampled) - * points-with-properties x 101,021 ops/sec ±12.70% (69 runs sampled) - * points1 x 35,439 ops/sec ±2.78% (77 runs sampled) - * points2 x 21,726 ops/sec ±1.73% (82 runs sampled) + * fiji: 3.236ms + * many-points: 32.563ms + * points-with-properties: 0.123ms + * points1: 0.569ms + * points2: 0.119ms + * fiji x 112,975 ops/sec ±7.64% (70 runs sampled) + * many-points x 129 ops/sec ±20.10% (62 runs sampled) + * points-with-properties x 151,784 ops/sec ±4.47% (80 runs sampled) + * points1 x 44,736 ops/sec ±5.12% (77 runs sampled) + * points2 x 26,771 ops/sec ±4.22% (83 runs sampled) */ -const suite = new Benchmark.Suite('turf-cluster'); -for (const {name, geojson, filename} of fixtures) { +const suite = new Benchmark.Suite('turf-clusters'); +for (const {name, geojson} of fixtures) { const {numberOfCentroids} = geojson.properties || {}; console.time(name); - cluster(geojson, numberOfCentroids); + clusters(geojson, numberOfCentroids); console.timeEnd(name); - suite.add(name, () => cluster(geojson, numberOfCentroids)); + suite.add(name, () => clusters(geojson, numberOfCentroids)); } suite .on('cycle', e => console.log(String(e.target))) diff --git a/packages/turf-cluster/index.d.ts b/packages/turf-clusters/index.d.ts similarity index 52% rename from packages/turf-cluster/index.d.ts rename to packages/turf-clusters/index.d.ts index 4ad5adf202..5434de2fa5 100644 --- a/packages/turf-cluster/index.d.ts +++ b/packages/turf-clusters/index.d.ts @@ -8,7 +8,7 @@ interface Clustered { /** * http://turfjs.org/docs/#cluster */ -declare function cluster(points: Points, numberOfClusters?: number): Clustered; +declare function clusters(points: Points, numberOfClusters?: number): Clustered; -declare namespace cluster { } -export = cluster; +declare namespace clusters { } +export = clusters; diff --git a/packages/turf-cluster/index.js b/packages/turf-clusters/index.js similarity index 81% rename from packages/turf-cluster/index.js rename to packages/turf-clusters/index.js index 45c98d9a94..8063fc2e11 100644 --- a/packages/turf-cluster/index.js +++ b/packages/turf-clusters/index.js @@ -3,17 +3,16 @@ var skmeans = require('skmeans'); var helpers = require('@turf/helpers'); var invariant = require('@turf/invariant'); var point = helpers.point; -var getCoords = invariant.getCoords; +var coordEach = meta.coordEach; var featureEach = meta.featureEach; var collectionOf = invariant.collectionOf; -var featureReduce = meta.featureReduce; var featureCollection = helpers.featureCollection; /** * Takes a set of {@link Point|points} and partition them into clusters using the k-mean . * It uses the [k-means algorithm](https://en.wikipedia.org/wiki/K-means_clustering) * - * @name cluster + * @name clusters * @param {FeatureCollection} points to be clustered * @param {number} [numberOfClusters=Math.sqrt(numberOfPoints/2)] numberOfClusters that will be generated * @returns {Object} an object containing a `points` FeatureCollection, the input points where each Point @@ -25,7 +24,7 @@ var featureCollection = helpers.featureCollection; * bbox: [0, 30, 20, 50] * }); * var numberOfClusters = 7; - * var clustered = turf.cluster(points, numberOfClusters); + * var clustered = turf.clusters(points, numberOfClusters); * * //addToMap * var addToMap = featureCollection(clustered.points); @@ -38,17 +37,19 @@ module.exports = function (points, numberOfClusters) { numberOfClusters = numberOfClusters || Math.round(Math.sqrt(count / 2)); // collect points coordinates - var data = featureReduce(points, function (prevValue, currentFeature) { - var coord = getCoords(currentFeature); - return prevValue.concat([coord]); - }, []); + var data = []; + coordEach(points, function (coord) { + data.push(coord); + }); + // create seed to avoid skmeans to drift var initialCentroids = data.slice(0, numberOfClusters); // create clusters var clastersResult = skmeans(data, numberOfClusters, initialCentroids); - var centroids = clastersResult.centroids.map(function (coord, idx) { - return point(coord, {cluster: idx}); + var centroids = []; + clastersResult.centroids.forEach(function (coord, idx) { + centroids.push(point(coord, {cluster: idx})); }); featureEach(points, function (pt, i) { pt.properties.cluster = clastersResult.idxs[i]; diff --git a/packages/turf-cluster/package.json b/packages/turf-clusters/package.json similarity index 93% rename from packages/turf-cluster/package.json rename to packages/turf-clusters/package.json index 91a87d5dd8..504dc216aa 100644 --- a/packages/turf-cluster/package.json +++ b/packages/turf-clusters/package.json @@ -1,7 +1,7 @@ { - "name": "@turf/cluster", + "name": "@turf/clusters", "version": "4.4.0", - "description": "turf cluster module", + "description": "turf clusters module", "main": "index.js", "types": "index.d.ts", "files": [ diff --git a/packages/turf-cluster/test.js b/packages/turf-clusters/test.js similarity index 90% rename from packages/turf-cluster/test.js rename to packages/turf-clusters/test.js index afc32eebd2..fb810b51d0 100644 --- a/packages/turf-cluster/test.js +++ b/packages/turf-clusters/test.js @@ -6,7 +6,7 @@ const write = require('write-json-file'); const {featureEach} = require('@turf/meta'); const {featureCollection, polygon} = require('@turf/helpers'); const chromatism = require('chromatism'); -const cluster = require('./'); +const clusters = require('./'); const directories = { in: path.join(__dirname, 'test', 'in') + path.sep, @@ -25,7 +25,7 @@ test('cluster', t => { fixtures.forEach(({name, geojson}) => { const {numberOfCentroids} = geojson.properties || {}; - const clustered = cluster(geojson, numberOfCentroids); + const clustered = clusters(geojson, numberOfCentroids); const result = featureCollection(colorize(clustered)); if (process.env.REGEN) write.sync(directories.out + name + '.geojson', result); @@ -35,9 +35,9 @@ test('cluster', t => { t.end(); }); -test('cluster -- throws', t => { +test('clusters -- throws', t => { const poly = polygon([[[0, 0], [10, 10], [0, 10], [0, 0]]]); - t.throws(() => cluster(poly, 3), /Input must contain Points/); + t.throws(() => clusters(poly, 3), /Input must contain Points/); t.end(); }); diff --git a/packages/turf-cluster/test/in/fiji.geojson b/packages/turf-clusters/test/in/fiji.geojson similarity index 100% rename from packages/turf-cluster/test/in/fiji.geojson rename to packages/turf-clusters/test/in/fiji.geojson diff --git a/packages/turf-cluster/test/in/many-points.geojson b/packages/turf-clusters/test/in/many-points.geojson similarity index 100% rename from packages/turf-cluster/test/in/many-points.geojson rename to packages/turf-clusters/test/in/many-points.geojson diff --git a/packages/turf-cluster/test/in/points-with-properties.geojson b/packages/turf-clusters/test/in/points-with-properties.geojson similarity index 100% rename from packages/turf-cluster/test/in/points-with-properties.geojson rename to packages/turf-clusters/test/in/points-with-properties.geojson diff --git a/packages/turf-cluster/test/in/points1.geojson b/packages/turf-clusters/test/in/points1.geojson similarity index 100% rename from packages/turf-cluster/test/in/points1.geojson rename to packages/turf-clusters/test/in/points1.geojson diff --git a/packages/turf-cluster/test/in/points2.geojson b/packages/turf-clusters/test/in/points2.geojson similarity index 100% rename from packages/turf-cluster/test/in/points2.geojson rename to packages/turf-clusters/test/in/points2.geojson diff --git a/packages/turf-cluster/test/out/fiji.geojson b/packages/turf-clusters/test/out/fiji.geojson similarity index 100% rename from packages/turf-cluster/test/out/fiji.geojson rename to packages/turf-clusters/test/out/fiji.geojson diff --git a/packages/turf-cluster/test/out/many-points.geojson b/packages/turf-clusters/test/out/many-points.geojson similarity index 100% rename from packages/turf-cluster/test/out/many-points.geojson rename to packages/turf-clusters/test/out/many-points.geojson diff --git a/packages/turf-cluster/test/out/points-with-properties.geojson b/packages/turf-clusters/test/out/points-with-properties.geojson similarity index 100% rename from packages/turf-cluster/test/out/points-with-properties.geojson rename to packages/turf-clusters/test/out/points-with-properties.geojson diff --git a/packages/turf-cluster/test/out/points1.geojson b/packages/turf-clusters/test/out/points1.geojson similarity index 100% rename from packages/turf-cluster/test/out/points1.geojson rename to packages/turf-clusters/test/out/points1.geojson diff --git a/packages/turf-cluster/test/out/points2.geojson b/packages/turf-clusters/test/out/points2.geojson similarity index 100% rename from packages/turf-cluster/test/out/points2.geojson rename to packages/turf-clusters/test/out/points2.geojson diff --git a/packages/turf-cluster/types.ts b/packages/turf-clusters/types.ts similarity index 53% rename from packages/turf-cluster/types.ts rename to packages/turf-clusters/types.ts index 56044b2356..47b206a354 100644 --- a/packages/turf-cluster/types.ts +++ b/packages/turf-clusters/types.ts @@ -1,13 +1,13 @@ import * as random from '@turf/random' -import * as cluster from './' +import * as clusters from './' const points = random('point', 50, { bbox: [0, 30, 20, 50] }) const numberOfClusters = 5; -const clustered = cluster(points, numberOfClusters) +const clustered = clusters(points, numberOfClusters) // Properties option -cluster(points) -cluster(points, numberOfClusters) +clusters(points) +clusters(points, numberOfClusters) diff --git a/packages/turf-cluster/yarn.lock b/packages/turf-clusters/yarn.lock similarity index 100% rename from packages/turf-cluster/yarn.lock rename to packages/turf-clusters/yarn.lock From d25637303eae14109598f823ed5b122050eb182b Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 17 Jun 2017 22:43:54 -0400 Subject: [PATCH 09/10] Add translate properties test --- packages/turf-clusters/test.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/turf-clusters/test.js b/packages/turf-clusters/test.js index fb810b51d0..53cd33335b 100644 --- a/packages/turf-clusters/test.js +++ b/packages/turf-clusters/test.js @@ -4,7 +4,7 @@ const path = require('path'); const load = require('load-json-file'); const write = require('write-json-file'); const {featureEach} = require('@turf/meta'); -const {featureCollection, polygon} = require('@turf/helpers'); +const {featureCollection, point, polygon} = require('@turf/helpers'); const chromatism = require('chromatism'); const clusters = require('./'); @@ -41,6 +41,15 @@ test('clusters -- throws', t => { t.end(); }); +test('clusters -- translate properties', t => { + const points = featureCollection([ + point([0, 0], {foo: 'bar'}), + point([2, 4], {foo: 'bar'}), + point([3, 6], {foo: 'bar'}) + ]); + t.equal(clusters(points, 2).points.features[0].properties.foo, 'bar'); + t.end(); +}); // style result function colorize(clustered) { From 9f97fc52ff269d8b2c1f1a5384c5fa0e0e1d701e Mon Sep 17 00:00:00 2001 From: stebogit Date: Sat, 17 Jun 2017 23:37:51 -0700 Subject: [PATCH 10/10] added numberOfClusters validation test --- packages/turf-clusters/index.js | 1 + packages/turf-clusters/test.js | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/turf-clusters/index.js b/packages/turf-clusters/index.js index 8063fc2e11..ed59e31fea 100644 --- a/packages/turf-clusters/index.js +++ b/packages/turf-clusters/index.js @@ -34,6 +34,7 @@ module.exports = function (points, numberOfClusters) { collectionOf(points, 'Point', 'Input must contain Points'); // Default Params var count = points.features.length; + if (numberOfClusters > count) throw new Error('numberOfClusters can\'t be grated than the number of points'); numberOfClusters = numberOfClusters || Math.round(Math.sqrt(count / 2)); // collect points coordinates diff --git a/packages/turf-clusters/test.js b/packages/turf-clusters/test.js index 53cd33335b..6f4a720969 100644 --- a/packages/turf-clusters/test.js +++ b/packages/turf-clusters/test.js @@ -21,7 +21,7 @@ const fixtures = fs.readdirSync(directories.in).map(filename => { }; }); -test('cluster', t => { +test('clusters', t => { fixtures.forEach(({name, geojson}) => { const {numberOfCentroids} = geojson.properties || {}; @@ -35,18 +35,20 @@ test('cluster', t => { t.end(); }); +const points = featureCollection([ + point([0, 0], {foo: 'bar'}), + point([2, 4], {foo: 'bar'}), + point([3, 6], {foo: 'bar'}) +]); + test('clusters -- throws', t => { const poly = polygon([[[0, 0], [10, 10], [0, 10], [0, 0]]]); - t.throws(() => clusters(poly, 3), /Input must contain Points/); + t.throws(() => clusters(poly, 1), /Input must contain Points/); + t.throws(() => clusters(points, 5), /numberOfClusters can't be grated than the number of points/); t.end(); }); test('clusters -- translate properties', t => { - const points = featureCollection([ - point([0, 0], {foo: 'bar'}), - point([2, 4], {foo: 'bar'}), - point([3, 6], {foo: 'bar'}) - ]); t.equal(clusters(points, 2).points.features[0].properties.foo, 'bar'); t.end(); });