Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.google.common.collect.ImmutableList;
- import com.uber.h3core.AreaUnit;
- import com.uber.h3core.H3Core;
- import com.uber.h3core.util.GeoCoord;
- import javafx.beans.property.SimpleObjectProperty;
- import javafx.css.StyleableStringProperty;
- import org.geotools.data.DataUtilities;
- import org.geotools.data.DefaultTransaction;
- import org.geotools.data.FileDataStore;
- import org.geotools.data.FileDataStoreFinder;
- import org.geotools.data.collection.ListFeatureCollection;
- import org.geotools.data.shapefile.ShapefileDataStore;
- import org.geotools.data.shapefile.ShapefileDataStoreFactory;
- import org.geotools.data.simple.SimpleFeatureIterator;
- import org.geotools.data.simple.SimpleFeatureSource;
- import org.geotools.data.simple.SimpleFeatureCollection;
- import org.geotools.data.simple.SimpleFeatureStore;
- import org.geotools.data.store.ContentFeatureSource;
- import org.geotools.factory.CommonFactoryFinder;
- import org.geotools.feature.DefaultFeatureCollection;
- import org.geotools.feature.simple.SimpleFeatureBuilder;
- import org.geotools.feature.simple.SimpleFeatureTypeBuilder;
- import org.geotools.geometry.jts.JTSFactoryFinder;
- import org.geotools.referencing.crs.DefaultGeocentricCRS;
- import org.geotools.referencing.crs.DefaultGeographicCRS;
- import org.locationtech.jts.geom.*;
- import org.opengis.feature.simple.SimpleFeature;
- import org.opengis.feature.simple.SimpleFeatureType;
- import java.io.*;
- import java.net.URL;
- import java.util.*;
- import java.io.IOException;
- import java.util.stream.Collectors;
- import java.util.List;
- import java.util.Set;
- public class cakJSON {
- static List<Long> hexes;
- static H3Core h3;
- static boolean debugging = false;
- public static void main(String[] args) {
- try {
- h3 = H3Core.newInstance();
- hexes = h3.polyfill(coords, null, 3);
- // saveShapefile(hexes);
- printJSON(hexes);
- } catch (IOException e) {
- e.printStackTrace();
- }
- // List<List<List<GeoCoord>>> cak = h3.h3SetToMultiPolygon(hexes, true);
- // System.out.println(cak.toString());
- }
- private static void printJSON(List<Long> inputs) throws IOException {
- H3Core h3 = H3Core.newInstance();
- double area = h3.hexArea(3, AreaUnit.km2);
- int numHexes = inputs.size() - 1;
- for (int j=0; j<numHexes; j++) {
- Long l = inputs.get(j);
- List<GeoCoord> border = h3.h3ToGeoBoundary(l);
- int numVerts = border.size() - 1;
- String address = h3.h3ToString(l);
- System.out.print("{ \"type\": \"Feature\", \"properties\": { \"AREA\":" + area + ", \"NAME\": \"" + address +
- "\"}, \"geometry\": { \"type\": \"Polygon\", \"coordinates\": [ [");
- for (int i=0; i<numVerts; i++) {
- GeoCoord g = border.get(i);
- System.out.print("[" + g.lat + ", " + g.lng + "], ");
- }
- GeoCoord g = border.get(numVerts);
- System.out.println("[" + g.lat + ", " + g.lng + "] ] ] } }, ");
- }
- Long l = inputs.get(numHexes);
- List<GeoCoord> border = h3.h3ToGeoBoundary(l);
- int numVerts = border.size() - 1;
- String address = h3.h3ToString(l);
- System.out.print("{ \"type\": \"Feature\", \"properties\": { \"AREA\":" + area + ", \"NAME\": \"" + address +
- "\"}, \"geometry\": { \"type\": \"Polygon\", \"coordinates\": [ [");
- for (int i=0; i<numVerts; i++) {
- GeoCoord g = border.get(i);
- System.out.print("[" + g.lat + ", " + g.lng + "], ");
- }
- GeoCoord g = border.get(numVerts);
- System.out.print("[" + g.lat + ", " + g.lng + "] ");
- System.out.println("] ] } }");
- }
- private static void saveShapefile(List<Long> inputs) throws IOException {
- /*
- Takes a country name, it's abbreviation and a set of hexagons that will represent it and writes out a shapefile
- */
- String filename = "src/main/data/hexMaps/politicalBoundaryHexes_directCAK.shp";
- File file = new File(filename);
- H3Core h3 = H3Core.newInstance();
- List<SimpleFeature> features = new ArrayList<>();
- GeometryFactory gf = JTSFactoryFinder.getGeometryFactory();
- List<String> hexes = new ArrayList<>();
- for (Long l:inputs) {
- hexes.add(h3.h3ToString(l));
- }
- DefaultFeatureCollection output = new DefaultFeatureCollection();
- final SimpleFeatureType HEX = createFeatureType();
- SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(HEX);
- ShapefileDataStoreFactory dataStoreFactory = new ShapefileDataStoreFactory();
- Map<String, Serializable> params = new HashMap<>();
- params.put("url", file.toURI().toURL());
- params.put("create spatial index", Boolean.TRUE);
- ShapefileDataStore dataStore = (ShapefileDataStore) dataStoreFactory.createNewDataStore(params);
- dataStore.createSchema(HEX);
- int index = 0;
- for (String h:hexes) {
- List<GeoCoord> geocoords = h3.h3ToGeoBoundary(h);
- int numVerts = geocoords.size();
- Coordinate[] coordinates = new Coordinate[numVerts + 1];
- if(debugging){System.out.println("Processing hex " + index + ", @ " + h);}
- for (int i=0; i<geocoords.size(); i++){
- coordinates[i] = new Coordinate(geocoords.get(i).lat, geocoords.get(i).lng);
- }
- coordinates[numVerts] = new Coordinate(geocoords.get(0).lat, geocoords.get(0).lng);
- Polygon polygon = gf.createPolygon(coordinates);
- Object[] values = new Object[]{polygon, index, h};
- index++;
- featureBuilder.addAll(values);
- SimpleFeature polyFeature = featureBuilder.buildFeature(h);
- features.add(polyFeature);
- }
- org.geotools.data.Transaction transaction = new DefaultTransaction("create");
- String typeName = dataStore.getTypeNames()[0];
- SimpleFeatureSource featureSource = dataStore.getFeatureSource(typeName);
- if (featureSource instanceof SimpleFeatureStore) {
- SimpleFeatureStore featureStore = (SimpleFeatureStore) featureSource;
- SimpleFeatureCollection collection = new ListFeatureCollection(HEX, features);
- featureStore.setTransaction(transaction);
- try {
- featureStore.addFeatures(collection);
- transaction.commit();
- } catch (Exception e) {
- e.printStackTrace();
- transaction.rollback();
- } finally {
- transaction.close();
- }
- } else {
- System.out.println("Writing the Shapefile failed.");
- System.exit(1); // Failure!
- }
- }
- private static SimpleFeatureType createFeatureType() {
- SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
- builder.setName("polygon");
- builder.setCRS(DefaultGeocentricCRS.SPHERICAL);
- builder.add("the_geom", Polygon.class);
- builder.add("id", Long.class);
- builder.add("address", String.class);
- final SimpleFeatureType TYPE = builder.buildFeatureType();
- return TYPE;
- }
- public static List<GeoCoord> coords = ImmutableList.<GeoCoord>of(
- new GeoCoord(93.527093032109775, 50.637586132064456),
- new GeoCoord(93.211639404296875, 50.658432006835938),
- new GeoCoord(92.792259216308594, 50.728515625),
- new GeoCoord(92.363388061523438, 50.772258758544922),
- new GeoCoord(91.985374450683594, 50.691349029541016),
- new GeoCoord(91.305343627929688, 50.477447509765625),
- new GeoCoord(90.791130065917969, 50.323673248291016),
- new GeoCoord(90.436607360839844, 50.144565582275391),
- new GeoCoord(90.0, 49.833415985107422),
- new GeoCoord(89.992439270019531, 49.828029632568359),
- new GeoCoord(89.665763854980469, 49.656471252441406),
- new GeoCoord(89.394515991210938, 49.589752197265625),
- new GeoCoord(88.770401000976562, 49.553764343261719),
- new GeoCoord(88.500930786132812, 49.460952758789062),
- new GeoCoord(88.141380310058594, 49.269794464111328),
- new GeoCoord(88.072067260742188, 49.249858856201172),
- new GeoCoord(87.962081909179688, 49.216640472412109),
- new GeoCoord(87.705963134765625, 49.215274810791016),
- new GeoCoord(87.603546142578125, 49.209003448486328),
- new GeoCoord(87.355880737304688, 49.193840026855469),
- new GeoCoord(87.111724853515625, 49.127334594726562),
- new GeoCoord(86.986396789550781, 49.00927734375),
- new GeoCoord(86.981338500976562, 48.885387420654297),
- new GeoCoord(86.965751647949219, 48.670295715332031),
- new GeoCoord(86.8280029296875, 48.571853637695312),
- new GeoCoord(86.698150634765625, 48.545116424560547),
- new GeoCoord(86.1580810546875, 48.503154754638672),
- new GeoCoord(85.965599060058594, 48.378421783447266),
- new GeoCoord(85.812911987304688, 48.1173095703125),
- new GeoCoord(85.856231689453125, 47.779438018798828),
- new GeoCoord(85.952217102050781, 47.461593627929688),
- new GeoCoord(85.881675720214844, 47.285923004150391),
- new GeoCoord(85.681312561035156, 47.109634399414062),
- new GeoCoord(85.494071960449219, 47.063209533691406),
- new GeoCoord(85.170738220214844, 47.035514831542969),
- new GeoCoord(84.53985595703125, 47.071048736572266),
- new GeoCoord(84.272727966308594, 47.134487152099609),
- new GeoCoord(83.948387145996094, 47.197647094726562),
- new GeoCoord(83.455375671386719, 47.311847686767578),
- new GeoCoord(83.26318359375, 47.083641052246094),
- new GeoCoord(83.031143188476562, 46.570156097412109),
- new GeoCoord(82.833648681640625, 46.212856292724609),
- new GeoCoord(82.704917907714844, 45.940341949462891),
- new GeoCoord(82.6435546875, 45.752449035644531),
- new GeoCoord(82.923332214355469, 45.521255493164062),
- new GeoCoord(82.980209350585938, 45.392333984375),
- new GeoCoord(82.909828186035156, 45.282135009765625),
- new GeoCoord(82.805587768554688, 45.216999053955078),
- new GeoCoord(82.62872314453125, 45.183753967285156),
- new GeoCoord(82.11883544921875, 45.290779113769531),
- new GeoCoord(81.893974304199219, 45.373531341552734),
- new GeoCoord(81.736335754394531, 45.346832275390625),
- new GeoCoord(81.249526977539062, 45.253765106201172),
- new GeoCoord(80.440292358398438, 45.139606475830078),
- new GeoCoord(80.263648986816406, 45.054744720458984),
- new GeoCoord(80.166580200195312, 44.918869018554688),
- new GeoCoord(80.136100769042969, 44.822154998779297),
- new GeoCoord(80.240425109863281, 44.739048004150391),
- new GeoCoord(80.405342102050781, 44.76568603515625),
- new GeoCoord(80.623176574707031, 44.702507019042969),
- new GeoCoord(80.636520385742188, 44.091545104980469),
- new GeoCoord(80.791557312011719, 43.809558868408203),
- new GeoCoord(80.922279357910156, 43.611095428466797),
- new GeoCoord(80.975723266601562, 43.399429321289062),
- new GeoCoord(80.876167297363281, 43.251190185546875),
- new GeoCoord(80.558731079101562, 43.005516052246094),
- new GeoCoord(80.414566040039062, 42.825050354003906),
- new GeoCoord(80.405975341796875, 42.645374298095703),
- new GeoCoord(80.468368530273438, 42.258411407470703),
- new GeoCoord(80.482414245605469, 42.171272277832031),
- new GeoCoord(80.45965576171875, 42.100643157958984),
- new GeoCoord(80.312942504882812, 42.016525268554688),
- new GeoCoord(79.876754760742188, 41.918022155761719),
- new GeoCoord(79.274757385253906, 41.760948181152344),
- new GeoCoord(79.074295043945312, 41.695804595947266),
- new GeoCoord(78.891929626464844, 41.560291290283203),
- new GeoCoord(78.60491943359375, 41.244987487792969),
- new GeoCoord(78.314315795898438, 41.08978271484375),
- new GeoCoord(78.0997314453125, 41.043811798095703),
- new GeoCoord(77.892860412597656, 41.036273956298828),
- new GeoCoord(77.331405639648438, 41.141994476318359),
- new GeoCoord(77.22406005859375, 41.128593444824219),
- new GeoCoord(77.014335632324219, 40.916263580322266),
- new GeoCoord(76.805793762207031, 40.563320159912109),
- new GeoCoord(76.685302734375, 40.453945159912109),
- new GeoCoord(76.287261962890625, 40.394210815429688),
- new GeoCoord(76.059257507324219, 40.329032897949219),
- new GeoCoord(75.904594421386719, 40.353748321533203),
- new GeoCoord(75.822273254394531, 40.609062194824219),
- new GeoCoord(75.795364379882812, 40.640895843505859),
- new GeoCoord(75.633659362792969, 40.627208709716797),
- new GeoCoord(74.85211181640625, 40.296817779541016),
- new GeoCoord(74.212318420410156, 39.980171203613281),
- new GeoCoord(74.088607788085938, 39.896633148193359),
- new GeoCoord(74.030738830566406, 39.800704956054688),
- new GeoCoord(73.968223571777344, 39.468051910400391),
- new GeoCoord(73.963592529296875, 39.437076568603516),
- new GeoCoord(73.973838806152344, 38.97283935546875),
- new GeoCoord(73.880661010742188, 38.872707366943359),
- new GeoCoord(73.915687561035156, 38.735706329345703),
- new GeoCoord(74.061981201171875, 38.558479309082031),
- new GeoCoord(74.270263671875, 38.578739166259766),
- new GeoCoord(74.372833251953125, 38.651397705078125),
- new GeoCoord(74.471839904785156, 38.624443054199219),
- new GeoCoord(74.783416748046875, 38.607051849365234),
- new GeoCoord(74.906585693359375, 38.537681579589844),
- new GeoCoord(75.039176940917969, 38.315517425537109),
- new GeoCoord(75.035423278808594, 38.187808990478516),
- new GeoCoord(75.048004150390625, 38.077190399169922),
- new GeoCoord(75.116416931152344, 38.071922302246094),
- new GeoCoord(75.13836669921875, 38.016796112060547),
- new GeoCoord(75.081817626953125, 37.824398040771484),
- new GeoCoord(75.192031860351562, 37.717891693115234),
- new GeoCoord(75.123741149902344, 37.555850982666016),
- new GeoCoord(75.213821411132812, 37.482490539550781),
- new GeoCoord(75.132354736328125, 37.399299621582031),
- new GeoCoord(75.096450805664062, 37.287349700927734),
- new GeoCoord(74.936935424804688, 37.226375579833984),
- new GeoCoord(74.682228088378906, 37.294967651367188),
- new GeoCoord(74.45916748046875, 37.319171905517578),
- new GeoCoord(74.340721130371094, 37.387371063232422),
- new GeoCoord(74.086311340332031, 37.285282135009766),
- new GeoCoord(73.648323059082031, 37.218914031982422),
- new GeoCoord(73.587005615234375, 37.245235443115234),
- new GeoCoord(73.6448974609375, 37.324199676513672),
- new GeoCoord(73.555641174316406, 37.358707427978516),
- new GeoCoord(73.250823974609375, 37.345260620117188),
- new GeoCoord(72.917884826660156, 37.203117370605469),
- new GeoCoord(72.651832580566406, 36.984550476074219),
- new GeoCoord(72.386528015136719, 36.955730438232422),
- new GeoCoord(72.051231384277344, 36.733043670654297),
- new GeoCoord(71.893486022949219, 36.719448089599609),
- new GeoCoord(71.728134155273438, 36.731250762939453),
- new GeoCoord(71.670616149902344, 36.769107818603516),
- new GeoCoord(71.596580505371094, 36.953220367431641),
- new GeoCoord(71.50689697265625, 37.187328338623047),
- new GeoCoord(71.590187072753906, 37.387371063232422),
- new GeoCoord(71.634262084960938, 37.736324310302734),
- new GeoCoord(71.647773742675781, 37.850986480712891),
- new GeoCoord(71.57110595703125, 37.934989929199219),
- new GeoCoord(71.353019714355469, 37.892852783203125),
- new GeoCoord(71.4234619140625, 38.161746978759766),
- new GeoCoord(71.164283752441406, 38.364101409912109),
- new GeoCoord(71.0950927734375, 38.389186859130859),
- new GeoCoord(70.922470092773438, 38.381858825683594),
- new GeoCoord(70.79388427734375, 38.308952331542969),
- new GeoCoord(70.733627319335938, 38.145660400390625),
- new GeoCoord(70.537742614746094, 37.953067779541016),
- new GeoCoord(70.516021728515625, 37.761943817138672),
- new GeoCoord(70.518692016601562, 37.647361755371094),
- new GeoCoord(70.425086975097656, 37.544986724853516),
- new GeoCoord(70.225814819335938, 37.473854064941406),
- new GeoCoord(70.166038513183594, 37.479881286621094),
- new GeoCoord(69.902046203613281, 37.548442840576172),
- new GeoCoord(69.770675659179688, 37.522247314453125),
- new GeoCoord(69.73748779296875, 37.439304351806641),
- new GeoCoord(69.740928649902344, 37.299282073974609),
- new GeoCoord(69.605850219726562, 37.158512115478516),
- new GeoCoord(69.511497497558594, 37.100704193115234),
- new GeoCoord(69.340080261230469, 37.093391418457031),
- new GeoCoord(69.056648254394531, 37.20001220703125),
- new GeoCoord(68.910186767578125, 37.199188232421875),
- new GeoCoord(68.648674011230469, 37.070446014404297),
- new GeoCoord(68.387870788574219, 36.916248321533203),
- new GeoCoord(68.169082641601562, 36.851390838623047),
- new GeoCoord(68.0592041015625, 36.869865417480469),
- new GeoCoord(68.000839233398438, 36.933181762695312),
- new GeoCoord(67.982933044433594, 36.957763671875),
- new GeoCoord(67.825416564941406, 37.174057006835938),
- new GeoCoord(67.718978881835938, 37.230754852294922),
- new GeoCoord(67.171363830566406, 37.253162384033203),
- new GeoCoord(66.8802490234375, 37.257904052734375),
- new GeoCoord(66.837493896484375, 37.265079498291016),
- new GeoCoord(66.182792663574219, 37.374969482421875),
- new GeoCoord(65.928390502929688, 37.507251739501953),
- new GeoCoord(65.728073120117188, 37.346981048583984),
- new GeoCoord(65.540580749511719, 37.256813049316406),
- new GeoCoord(65.029647827148438, 37.16485595703125),
- new GeoCoord(64.835792541503906, 36.800991058349609),
- new GeoCoord(64.744384765625, 36.355064392089844),
- new GeoCoord(64.698158264160156, 36.297542572021484),
- new GeoCoord(64.469497680664062, 36.1881103515625),
- new GeoCoord(63.575946807861328, 35.877777099609375),
- new GeoCoord(63.320259094238281, 35.806381225585938),
- new GeoCoord(63.266643524169922, 35.717037200927734),
- new GeoCoord(63.266395568847656, 35.507160186767578),
- new GeoCoord(63.167243957519531, 35.417579650878906),
- new GeoCoord(62.881256103515625, 35.282432556152344),
- new GeoCoord(62.641124725341797, 35.268367767333984),
- new GeoCoord(62.383159637451172, 35.305080413818359),
- new GeoCoord(61.933395385742188, 35.461532592773438),
- new GeoCoord(61.511844635009766, 35.548202514648438),
- new GeoCoord(61.425006866455078, 35.598587036132812),
- new GeoCoord(61.389911651611328, 35.611122131347656),
- new GeoCoord(61.322341918945312, 35.922416687011719),
- new GeoCoord(61.317737579345703, 36.176853179931641),
- new GeoCoord(61.300540924072266, 36.558528900146484),
- new GeoCoord(61.217666625976562, 36.653530120849609),
- new GeoCoord(60.863521575927734, 36.619735717773438),
- new GeoCoord(60.549976348876953, 36.624340057373047),
- new GeoCoord(60.255062103271484, 36.851825714111328),
- new GeoCoord(59.444145202636719, 37.464813232421875),
- new GeoCoord(59.175270080566406, 37.616142272949219),
- new GeoCoord(58.878559112548828, 37.690914154052734),
- new GeoCoord(58.653476715087891, 37.715137481689453),
- new GeoCoord(58.298652648925781, 37.745002746582031),
- new GeoCoord(57.928543090820312, 37.895801544189453),
- new GeoCoord(57.610172271728516, 38.008686065673828),
- new GeoCoord(57.429130554199219, 38.205158233642578),
- new GeoCoord(56.954513549804688, 38.253475189208984),
- new GeoCoord(56.720973968505859, 38.277664184570312),
- new GeoCoord(56.566921234130859, 38.219470977783203),
- new GeoCoord(56.334575653076172, 38.065303802490234),
- new GeoCoord(56.184360504150391, 38.051719665527344),
- new GeoCoord(55.833290100097656, 38.068885803222656),
- new GeoCoord(55.559322357177734, 38.054622650146484),
- new GeoCoord(55.373336791992188, 37.989891052246094),
- new GeoCoord(55.159427642822266, 37.842201232910156),
- new GeoCoord(54.879749298095703, 37.547672271728516),
- new GeoCoord(54.670246124267578, 37.412784576416016),
- new GeoCoord(54.417556762695312, 37.354072570800781),
- new GeoCoord(54.218776702880859, 37.365299224853516),
- new GeoCoord(54.188880920410156, 37.534698486328125),
- new GeoCoord(54.131416320800781, 37.841190338134766),
- new GeoCoord(54.083526611328125, 38.042327880859375),
- new GeoCoord(54.1409912109375, 38.176418304443359),
- new GeoCoord(54.1409912109375, 38.348819732666016),
- new GeoCoord(54.1409912109375, 38.588268280029297),
- new GeoCoord(54.188880920410156, 38.674468994140625),
- new GeoCoord(54.236770629882812, 38.808559417724609),
- new GeoCoord(54.275081634521484, 38.913917541503906),
- new GeoCoord(54.236770629882812, 39.009693145751953),
- new GeoCoord(54.121837615966797, 39.067161560058594),
- new GeoCoord(53.978168487548828, 39.153362274169922),
- new GeoCoord(53.882389068603516, 39.268299102783203),
- new GeoCoord(53.863235473632812, 39.335342407226562),
- new GeoCoord(53.786609649658203, 39.335342407226562),
- new GeoCoord(53.700408935546875, 39.354499816894531),
- new GeoCoord(53.537586212158203, 39.402389526367188),
- new GeoCoord(53.451385498046875, 39.316188812255859),
- new GeoCoord(53.413074493408203, 39.421543121337891),
- new GeoCoord(53.451385498046875, 39.469432830810547),
- new GeoCoord(53.518428802490234, 39.584369659423828),
- new GeoCoord(53.575897216796875, 39.536479949951172),
- new GeoCoord(53.748298645019531, 39.555633544921875),
- new GeoCoord(53.939857482910156, 39.517322540283203),
- new GeoCoord(53.997325897216797, 39.507743835449219),
- new GeoCoord(54.0164794921875, 39.565212249755859),
- new GeoCoord(53.872810363769531, 39.660991668701172),
- new GeoCoord(53.757877349853516, 39.670570373535156),
- new GeoCoord(53.719566345214844, 39.795082092285156),
- new GeoCoord(53.796188354492188, 39.910018920898438),
- new GeoCoord(53.8919677734375, 39.996219635009766),
- new GeoCoord(53.709987640380859, 40.015373229980469),
- new GeoCoord(53.566318511962891, 39.977062225341797),
- new GeoCoord(53.393917083740234, 39.977062225341797),
- new GeoCoord(53.250247955322266, 40.015373229980469),
- new GeoCoord(53.192779541015625, 39.948329925537109),
- new GeoCoord(53.116157531738281, 40.063262939453125),
- new GeoCoord(53.049114227294922, 40.197353363037109),
- new GeoCoord(53.049114227294922, 40.350601196289062),
- new GeoCoord(53.029956817626953, 40.484691619873047),
- new GeoCoord(53.106578826904297, 40.580471038818359),
- new GeoCoord(53.154468536376953, 40.724136352539062),
- new GeoCoord(53.173625946044922, 40.839073181152344),
- new GeoCoord(53.221515655517578, 40.963584899902344),
- new GeoCoord(53.25982666015625, 41.068943023681641),
- new GeoCoord(53.355606079101562, 40.915695190429688),
- new GeoCoord(53.38433837890625, 40.858226776123047),
- new GeoCoord(53.460964202880859, 40.781604766845703),
- new GeoCoord(53.642940521240234, 40.819915771484375),
- new GeoCoord(53.815345764160156, 40.762451171875),
- new GeoCoord(53.863235473632812, 40.829494476318359),
- new GeoCoord(53.853656768798828, 40.896541595458984),
- new GeoCoord(53.901546478271484, 40.896541595458984),
- new GeoCoord(53.968589782714844, 40.886962890625),
- new GeoCoord(53.997325897216797, 40.743293762207031),
- new GeoCoord(54.045215606689453, 40.657093048095703),
- new GeoCoord(54.179306030273438, 40.666671752929688),
- new GeoCoord(54.313396453857422, 40.695404052734375),
- new GeoCoord(54.428329467773438, 40.743293762207031),
- new GeoCoord(54.533687591552734, 40.704982757568359),
- new GeoCoord(54.619888305664062, 40.676250457763672),
- new GeoCoord(54.658199310302734, 40.733715057373047),
- new GeoCoord(54.591152191162109, 40.819915771484375),
- new GeoCoord(54.571998596191406, 40.915695190429688),
- new GeoCoord(54.658199310302734, 40.934852600097656),
- new GeoCoord(54.706089019775391, 40.867805480957031),
- new GeoCoord(54.811447143554688, 40.829494476318359),
- new GeoCoord(54.926380157470703, 40.867805480957031),
- new GeoCoord(55.022159576416016, 40.896541595458984),
- new GeoCoord(55.03173828125, 41.001895904541016),
- new GeoCoord(54.955112457275391, 41.155143737792969),
- new GeoCoord(54.801868438720703, 41.260501861572266),
- new GeoCoord(54.562419891357422, 41.404167175292969),
- new GeoCoord(54.370861053466797, 41.499946594238281),
- new GeoCoord(54.342128753662109, 41.64361572265625),
- new GeoCoord(54.322971343994141, 41.796863555908203),
- new GeoCoord(54.227191925048828, 41.873485565185547),
- new GeoCoord(54.227191925048828, 41.969264984130859),
- new GeoCoord(54.227191925048828, 42.065044403076172),
- new GeoCoord(54.188880920410156, 42.122509002685547),
- new GeoCoord(53.939857482910156, 42.1512451171875),
- new GeoCoord(53.662097930908203, 42.112934112548828),
- new GeoCoord(53.470539093017578, 42.103355407714844),
- new GeoCoord(53.269405364990234, 42.045886993408203),
- new GeoCoord(53.183204650878906, 41.921375274658203),
- new GeoCoord(53.144893646240234, 41.787284851074219),
- new GeoCoord(53.202358245849609, 41.701084136962891),
- new GeoCoord(53.173625946044922, 41.576572418212891),
- new GeoCoord(53.13531494140625, 41.39459228515625),
- new GeoCoord(53.164047241210938, 41.289234161376953),
- new GeoCoord(53.173625946044922, 41.155143737792969),
- new GeoCoord(53.058689117431641, 41.404167175292969),
- new GeoCoord(52.895866394042969, 41.547836303710938),
- new GeoCoord(52.915023803710938, 41.624462127685547),
- new GeoCoord(52.886287689208984, 41.710662841796875),
- new GeoCoord(52.762935638427734, 41.774810791015625),
- new GeoCoord(52.804409027099609, 41.95465087890625),
- new GeoCoord(52.777431488037109, 42.035575866699219),
- new GeoCoord(52.723480224609375, 42.089527130126953),
- new GeoCoord(52.786422729492188, 42.2064208984375),
- new GeoCoord(52.8763427734375, 42.296340942382812),
- new GeoCoord(52.939285278320312, 42.440212249755859),
- new GeoCoord(52.957271575927734, 42.575088500976562),
- new GeoCoord(53.038196563720703, 42.665008544921875),
- new GeoCoord(52.966262817382812, 42.772911071777344),
- new GeoCoord(52.786422729492188, 42.844844818115234),
- new GeoCoord(52.579612731933594, 42.817867279052734),
- new GeoCoord(52.498683929443359, 42.889804840087891),
- new GeoCoord(52.363807678222656, 42.862827301025391),
- new GeoCoord(52.273887634277344, 42.844844818115234),
- new GeoCoord(52.183967590332031, 42.925773620605469),
- new GeoCoord(52.085060119628906, 43.06964111328125),
- new GeoCoord(51.941188812255859, 43.195526123046875),
- new GeoCoord(51.788326263427734, 43.195526123046875),
- new GeoCoord(51.626472473144531, 43.186534881591797),
- new GeoCoord(51.626472473144531, 43.276454925537109),
- new GeoCoord(51.662441253662109, 43.402339935302734),
- new GeoCoord(51.572521209716797, 43.573184967041016),
- new GeoCoord(51.464618682861328, 43.62713623046875),
- new GeoCoord(51.374698638916016, 43.735038757324219),
- new GeoCoord(51.194862365722656, 44.094715118408203),
- new GeoCoord(51.158893585205078, 44.220600128173828),
- new GeoCoord(50.907123565673828, 44.274551391601562),
- new GeoCoord(50.5924072265625, 44.310520172119141),
- new GeoCoord(50.529464721679688, 44.382453918457031),
- new GeoCoord(50.538455963134766, 44.580276489257812),
- new GeoCoord(50.610389709472656, 44.634227752685547),
- new GeoCoord(50.745269775390625, 44.661205291748047),
- new GeoCoord(50.925106048583984, 44.652210235595703),
- new GeoCoord(51.077968597412109, 44.643218994140625),
- new GeoCoord(51.293773651123047, 44.580276489257812),
- new GeoCoord(51.536552429199219, 44.499351501464844),
- new GeoCoord(51.617481231689453, 44.535316467285156),
- new GeoCoord(51.779335021972656, 44.571285247802734),
- new GeoCoord(51.689414978027344, 44.643218994140625),
- new GeoCoord(51.572521209716797, 44.697170257568359),
- new GeoCoord(51.392684936523438, 44.787090301513672),
- new GeoCoord(51.302764892578125, 44.894992828369141),
- new GeoCoord(51.419658660888672, 45.056846618652344),
- new GeoCoord(51.545547485351562, 45.0748291015625),
- new GeoCoord(51.581512451171875, 45.191722869873047),
- new GeoCoord(51.662441253662109, 45.326602935791016),
- new GeoCoord(51.716392517089844, 45.389545440673828),
- new GeoCoord(51.833286285400391, 45.371562957763672),
- new GeoCoord(51.977157592773438, 45.407527923583984),
- new GeoCoord(52.049091339111328, 45.452487945556641),
- new GeoCoord(52.201953887939453, 45.398536682128906),
- new GeoCoord(52.309856414794922, 45.398536682128906),
- new GeoCoord(52.813400268554688, 45.416522979736328),
- new GeoCoord(53.262992858886719, 45.35357666015625),
- new GeoCoord(53.48779296875, 45.344585418701172),
- new GeoCoord(53.415855407714844, 45.38055419921875),
- new GeoCoord(53.262992858886719, 45.470470428466797),
- new GeoCoord(53.047187805175781, 45.524425506591797),
- new GeoCoord(53.038196563720703, 45.6593017578125),
- new GeoCoord(53.128116607666016, 45.749221801757812),
- new GeoCoord(53.254001617431641, 45.848133087158203),
- new GeoCoord(53.352912902832031, 45.974018096923828),
- new GeoCoord(53.406864166259766, 46.207805633544922),
- new GeoCoord(53.4608154296875, 46.333694458007812),
- new GeoCoord(53.388881683349609, 46.441593170166016),
- new GeoCoord(53.325939178466797, 46.513530731201172),
- new GeoCoord(53.370895385742188, 46.603446960449219),
- new GeoCoord(53.48779296875, 46.693367004394531),
- new GeoCoord(53.433841705322266, 46.747318267822266),
- new GeoCoord(53.388881683349609, 46.882198333740234),
- new GeoCoord(53.227027893066406, 46.936149597167969),
- new GeoCoord(53.065174102783203, 46.954132080078125),
- new GeoCoord(52.759449005126953, 46.999092102050781),
- new GeoCoord(52.669528961181641, 46.927154541015625),
- new GeoCoord(52.579612731933594, 46.891189575195312),
- new GeoCoord(52.345821380615234, 46.855220794677734),
- new GeoCoord(52.139011383056641, 46.909172058105469),
- new GeoCoord(51.995140075683594, 47.026065826416016),
- new GeoCoord(51.878246307373047, 47.053043365478516),
- new GeoCoord(51.572521209716797, 47.10699462890625),
- new GeoCoord(51.97655562539282, 47.47908512885126),
- new GeoCoord(51.59076052796982, 48.122076957889597),
- new GeoCoord(52.105153991200496, 49.408060615966285),
- new GeoCoord(51.333563796354483, 50.436847542427621),
- new GeoCoord(51.59076052796982, 51.079839371465972),
- new GeoCoord(55.448711502199863, 51.722831200504309),
- new GeoCoord(58.535072281583894, 50.951241005658304),
- new GeoCoord(59.049465744814569, 52.494421395350315),
- new GeoCoord(59.306662476429906, 53.651806687619334),
- new GeoCoord(60.59264613450658, 55.323585443119022),
- new GeoCoord(73.195285983658067, 55.323585443119022),
- new GeoCoord(75.124261470773092, 54.16620015085001),
- new GeoCoord(78.853614079195467, 50.822642639850628),
- new GeoCoord(81.682778126964166, 50.308249176619967),
- new GeoCoord(84.640540540540528, 50.565445908235297),
- new GeoCoord(91.327655562539263, 52.494421395350315),
- new GeoCoord(93.771024512884964, 52.365823029542646),
- new GeoCoord(94.414016341923315, 51.337036103081303),
- new GeoCoord(93.527093032109775, 50.637586132064456));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement