diff --git a/.travis.yml b/.travis.yml index 18001165..9ce7d4ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,8 @@ install: - conda list -n solaris - source activate solaris - python --version - - pip install -q -e .[test] + - pip install --user -r requirements.txt -vv + - pip install .[test] -vv - pip install codecov pytest-cov pytest==5.3.1 # command to run tests script: diff --git a/CHANGELOG.md b/CHANGELOG.md index 043547a9..48b39638 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,24 @@ When a new version of `solaris` is released, all of the changes in the Unrelease --- +## Version 0.2.2 + +### Changed +- 20200401, rbavery: new tiler method `fill_all_nodata` to fill nodata with `"mean"` or custom value (#328) +- 20200401, rbavery: option to ignore MultiPolygon and GeometryCollection types in `geojson2coco` since these cannot be converted to COCO. +- 20200401, rbavery: new function `solaris.vector.mask.geojsons_to_masks_and_fill_nodata`, which rasterized vector labels according to raster tile extents. Fills nodata areas in raster tile and corresponding rasterized label raster. +- 20200401, rbavery: new test/example of tiling and creating instance masks with nodata values filled in tile outputs + +### Fixed +- 20200401, rbavery: restrict_to_aoi implemented, sets values outside aoi to nodata value (#327, #240) +- 20200401, rbavery: tqdm prints correctly in notebook and lab (if ipywidgets is enabled according to https://github.com/tqdm/tqdm/issues/394#issuecomment-384743637) (#335) +- 20200401, rbavery: fixed bug where aoi boundary was not intersected with src_img extent prior to tiling +- 20200401, rbavery/nrweir: adapted `_check_crs` to convert `pyproj.CRS` or pass through `rasterio.crs.CRS` class when rasterio crs object is required (for example, reprojecting in the tilers) +- 20200414, zaburo-ch: fixed `val_datagen` to point to the correct augmentation pipeline +--- + +--- + ## Version 0.2.1 ### Changed diff --git a/docs/conf.py b/docs/conf.py index fcfbbb7e..859ba959 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,8 +24,8 @@ copyright = u'2018-{}, CosmiQ Works: an IQT Lab'.format(time.strftime("%Y")) # The full version, including alpha/beta/rc tags -release = '0.2.1' -version = '0.2.1' +release = '0.2.2' +version = '0.2.2' # -- General configuration --------------------------------------------------- diff --git a/environment-gpu.yml b/environment-gpu.yml index 2564fcdd..df330e85 100644 --- a/environment-gpu.yml +++ b/environment-gpu.yml @@ -9,11 +9,10 @@ dependencies: - affine>=2.3.0 - albumentations=0.4.3 - fiona>=1.7.13 - - gdal>=3.0.2 - - geopandas=0.6.2 + - gdal=3.0.3 + - geopandas>=0.7.0 - matplotlib>=3.1.2 - networkx>=2.4 - - numpy>=1.17.3,<1.18.0 - opencv>=4.1 - pandas>=0.25.3 - pyproj>=2.1 @@ -21,13 +20,15 @@ dependencies: - pyyaml=5.2 - rasterio>=1.0.23 - requests=2.22.0 - - rio-cogeo>=1.1.6 +# - rio-cogeo>=1.1.6 - rtree>=0.9.3 - scikit-image>=0.16.2 - scipy>=1.3.2 - - shapely>=1.6.4 - torchvision>=0.5.0 - tqdm>=4.40.0 - urllib3>=1.25.7 - tensorflow-gpu=1.13.1 - cuda100 + - pip + - pip: + - git+https://github.com/Toblerity/shapely.git@master#egg=shapely-1.7.1dev # temporary, dev required for numpy array support diff --git a/environment.yml b/environment.yml index 2833abb7..c02dc5b3 100644 --- a/environment.yml +++ b/environment.yml @@ -9,19 +9,19 @@ dependencies: - affine>=2.3.0 - albumentations=0.4.3 - fiona>=1.7.13 - - gdal>=3.0.2 - - geopandas>=0.6.2 + - gdal=3.0.3 + - geopandas>=0.7.0 - matplotlib>=3.1.2 - networkx>=2.4 - numpy>=1.17.3 - opencv>=4.1 - pandas>=0.25.3 - pyproj>=2.1 - - pytorch=1.3.1 + - pytorch>=1.3.1 - pyyaml=5.2 - rasterio>=1.0.23 - requests=2.22.0 - - rio-cogeo>=1.1.6 +# - rio-cogeo>=1.1.6 - rtree>=0.9.3 - scikit-image>=0.16.2 - scipy>=1.3.2 @@ -30,3 +30,5 @@ dependencies: - torchvision>=0.5.0 - tqdm>=4.40.0 - urllib3>=1.25.7 + - pip: + - git+https://github.com/Toblerity/shapely.git@master#egg=shapely-1.7.1dev # temporary, 1.8dev required for numpy array support diff --git a/requirements.txt b/requirements.txt index 7787d021..697119bc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,26 +1,24 @@ -python>=3.6 pip>=19.0.3 affine>=2.3.0 -albumentations=0.4.3 -fiona>=1.8.13 +albumentations==0.4.3 +fiona>=1.7.13 gdal>=3.0.2 -geopandas>=0.6.2 +geopandas>=0.7.0 matplotlib>=3.1.2 networkx>=2.4 numpy>=1.17.3 -opencv=4.1.0.25 +opencv-python>=4.1 pandas>=0.25.3 pyproj>=2.1 -pytorch=1.3.1 -pyyaml=5.2 +torch>=1.3.1 +pyyaml==5.2 rasterio>=1.0.23 -requests>=2.22.0 -rio-cogeo>=1.1.6 +requests==2.22.0 rtree>=0.9.3 scikit-image>=0.16.2 scipy>=1.3.2 -shapely>=1.6.4 -tensorflow=1.13.1 -torchvision>=0.4.2 +git+git://github.com/toblerity/shapely.git@master#egg=shapely-1.7.1dev +torchvision>=0.5.0 tqdm>=4.40.0 urllib3>=1.25.7 +tensorflow==1.13.1 diff --git a/setup.py b/setup.py index e4e956bb..a5731929 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ def get_version(): VERSIONFILE = os.path.join('solaris', '__init__.py') initfile_lines = open(VERSIONFILE, 'rt').readlines() - VSRE = r'^__version__ = [\"\']*([\d.]+)[\"\']' + VSRE = r'^__version__ = [\"\']*([\d\w.]+)[\"\']' for line in initfile_lines: mo = re.search(VSRE, line, re.M) if mo: @@ -56,40 +56,43 @@ def check_output(cmd): on_rtd = os.environ.get('READTHEDOCS') == 'True' - if on_rtd: inst_reqs = ['sphinx_bootstrap_theme'] else: inst_reqs = ['pip>=19.0.3', 'affine>=2.3.0', 'albumentations==0.4.3', - 'fiona>=1.8.13', - 'gdal>=3.0.2', - 'geopandas>=0.6.2', + 'fiona>=1.7.13', + 'gdal>=3.0.2' + 'geopandas>=0.7.0', 'matplotlib>=3.1.2', 'networkx>=2.4', 'numpy>=1.17.3', - 'opencv-python>=4.1.0.25', + 'opencv-python>=4.1', 'pandas>=0.25.3', 'pyproj>=2.1', 'torch>=1.3.1', 'pyyaml==5.2', 'rasterio>=1.0.23', - 'requests>=2.22.0', - 'rio-cogeo>=1.1.6', + 'requests==2.22.0', 'rtree>=0.9.3', 'scikit-image>=0.16.2', 'scipy>=1.3.2', - 'shapely>=1.6.4', - 'tensorflow==1.13.1', + 'shapely>=1.7.1dev', 'torchvision>=0.5.0', 'tqdm>=4.40.0', - 'urllib3>=1.25.7'] + 'urllib3>=1.25.7', + 'tensorflow==1.13.1' + ] extra_reqs = { 'test': ['mock', 'pytest', 'pytest-cov', 'codecov']} +# workaround until new shapely release is out +os.system('pip install git+git://github.com/toblerity/shapely@master') + + project_name = 'solaris' setup(name='solaris', version=get_version(), @@ -109,6 +112,7 @@ def check_output(cmd): include_package_data=True, install_requires=inst_reqs, extras_require=extra_reqs, + dependency_links=['https://github.com/toblerity/shapely/tarball/master#egg=shapely-1.7.1dev'], entry_points={'console_scripts': [ 'geotransform_footprints = solaris.bin.geotransform_footprints:main', 'make_graphs = solaris.bin.make_graphs:main', diff --git a/solaris/__init__.py b/solaris/__init__.py index 48a9e32f..ffb04204 100644 --- a/solaris/__init__.py +++ b/solaris/__init__.py @@ -1,3 +1,3 @@ from . import bin, data, eval, nets, raster, tile, utils, vector -__version__ = "0.2.1" +__version__ = "0.2.2" diff --git a/solaris/data/coco.py b/solaris/data/coco.py index 4ec31b97..05617966 100644 --- a/solaris/data/coco.py +++ b/solaris/data/coco.py @@ -1,7 +1,7 @@ from ..utils.core import _check_df_load, _check_geom, get_files_recursively -from ..utils.geo import bbox_corners_to_coco, polygon_to_coco +from ..utils.geo import bbox_corners_to_coco, polygon_to_coco, split_multi_geometries from ..utils.log import _get_logging_level -from ..vector.polygon import geojson_to_px_gdf +from ..vector.polygon import geojson_to_px_gdf, remove_multipolygons import numpy as np import rasterio from tqdm import tqdm @@ -15,7 +15,9 @@ def geojson2coco(image_src, label_src, output_path=None, image_ext='.tif', matching_re=None, category_attribute=None, score_attribute=None, preset_categories=None, include_other=True, info_dict=None, - license_dict=None, recursive=False, verbose=0): + license_dict=None, recursive=False, override_crs=False, + explode_all_multipolygons=False, remove_all_multipolygons=False, + verbose=0): """Generate COCO-formatted labels from one or multiple geojsons and images. This function ingests optionally georegistered polygon labels in geojson @@ -108,6 +110,13 @@ def geojson2coco(image_src, label_src, output_path=None, image_ext='.tif', If `image_src` and/or `label_src` are directories, setting this flag to ``True`` will induce solaris to descend into subdirectories to find files. By default, solaris does not traverse the directory tree. + explode_all_multipolygons : bool, optional + Explode the multipolygons into individual geometries using sol.utils.geo.split_multi_geometries. + Be sure to inspect which geometries are multigeometries, each individual geometries within these + may represent artifacts rather than true labels. + remove_all_multipolygons : bool, optional + Filters MultiPolygons and GeometryCollections out of each tile geodataframe. Alternatively you + can edit each polygon manually to be a polygon before converting to COCO format. verbose : int, optional Verbose text output. By default, none is provided; if ``True`` or ``1``, information-level outputs are provided; if ``2``, extremely @@ -191,6 +200,14 @@ def geojson2coco(image_src, label_src, output_path=None, image_ext='.tif', for gj in tqdm(label_list): logger.debug('Reading in {}'.format(gj)) curr_gdf = gpd.read_file(gj) + + if remove_all_multipolygons is True and explode_all_multipolygons is True: + raise ValueError("Only one of remove_all_multipolygons or explode_all_multipolygons can be set to True.") + if remove_all_multipolygons is True and explode_all_multipolygons is False: + curr_gdf = remove_multipolygons(curr_gdf) + elif explode_all_multipolygons is True: + curr_gdf = split_multi_geometries(curr_gdf) + curr_gdf['label_fname'] = gj curr_gdf['image_fname'] = '' curr_gdf['image_id'] = np.nan @@ -207,6 +224,7 @@ def geojson2coco(image_src, label_src, output_path=None, image_ext='.tif', if len(curr_gdf) > 0: # if there are geoms, reproj to px coords curr_gdf = geojson_to_px_gdf( curr_gdf, + override_crs=override_crs, im_path=match_df.loc[match_df['label_fname'] == gj, 'image_fname'].values[0]) curr_gdf['image_id'] = image_ref[match_df.loc[ @@ -221,6 +239,7 @@ def geojson2coco(image_src, label_src, output_path=None, image_ext='.tif', logger.debug('Converting to pixel coordinates.') # match the two images curr_gdf = geojson_to_px_gdf(curr_gdf, + override_crs=override_crs, im_path=list(image_ref.keys())[0]) curr_gdf['image_id'] = list(image_ref.values())[0] curr_gdf = curr_gdf.rename( @@ -403,6 +422,7 @@ def df_to_coco_annos(df, output_path=None, geom_col='geometry', def _row_to_coco(row, geom_col, category_id_col, image_id_col, score_col): "get a single annotation record from a row of temp_df." if score_col is None: + return {'id': row['annotation_id'], 'image_id': int(row[image_id_col]), 'category_id': int(row[category_id_col]), diff --git a/solaris/data/nebraska_landsat5_with_nodata_wgs84.tif b/solaris/data/nebraska_landsat5_with_nodata_wgs84.tif new file mode 100644 index 00000000..ee1b33ef Binary files /dev/null and b/solaris/data/nebraska_landsat5_with_nodata_wgs84.tif differ diff --git a/solaris/data/nebraska_wgs84_with_nodata_labels.geojson b/solaris/data/nebraska_wgs84_with_nodata_labels.geojson new file mode 100644 index 00000000..b99c411a --- /dev/null +++ b/solaris/data/nebraska_wgs84_with_nodata_labels.geojson @@ -0,0 +1,16 @@ +{ +"type": "FeatureCollection", +"name": "nebraska_wgs84_with_nodata_labels", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "ID": 724, "AREA": 6975423.905, "PERIMETER": 9362.892, "ACRES": 160.134, "HECTARES": 64.804 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.105563544642948, 41.728275581313468 ], [ -101.105382960788944, 41.728275074220257 ], [ -101.105202498070824, 41.728270094395427 ], [ -101.105022353859226, 41.728260647285339 ], [ -101.104842725176226, 41.728246743222186 ], [ -101.104663808479785, 41.728228397412693 ], [ -101.104485799448696, 41.728205629921433 ], [ -101.104308892768501, 41.728178465648881 ], [ -101.104133281918436, 41.72814693430422 ], [ -101.103959158959753, 41.728111070372762 ], [ -101.103786714325466, 41.72807091307822 ], [ -101.103616136612061, 41.72802650633983 ], [ -101.103447612373103, 41.727977898724284 ], [ -101.103281325915148, 41.727925143392511 ], [ -101.103117459095969, 41.727868298041606 ], [ -101.102956191125756, 41.727807424841664 ], [ -101.102797698370921, 41.727742590367683 ], [ -101.102642154161146, 41.727673865526825 ], [ -101.102489728599892, 41.727601325480784 ], [ -101.102340588378112, 41.727525049563468 ], [ -101.102194896592096, 41.727445121194364 ], [ -101.102052812564949, 41.727361627787076 ], [ -101.101914491672375, 41.72727466065384 ], [ -101.10178008517272, 41.727184314905514 ], [ -101.101649740041566, 41.727090689347555 ], [ -101.101523598810971, 41.726993886371901 ], [ -101.101401799413608, 41.72689401184499 ], [ -101.101284475031946, 41.72679117499186 ], [ -101.10117175395267, 41.726685488276757 ], [ -101.101063759426353, 41.726577067279969 ], [ -101.100960609532791, 41.726466030571515 ], [ -101.100862417051857, 41.726352499581296 ], [ -101.100769289340334, 41.726236598466365 ], [ -101.100681328214478, 41.726118453975133 ], [ -101.100598629838856, 41.725998195308549 ], [ -101.100521284621195, 41.725875953978949 ], [ -101.100449377113691, 41.72575186366609 ], [ -101.100382985920604, 41.725626060071001 ], [ -101.100322183612462, 41.725498680767473 ], [ -101.100267036646741, 41.725369865051682 ], [ -101.100217605295441, 41.725239753789722 ], [ -101.100173943579236, 41.725108489263597 ], [ -101.100136099208513, 41.724976215015616 ], [ -101.100104113531444, 41.724843075691396 ], [ -101.100078021488841, 41.724709216881621 ], [ -101.100057851576153, 41.724574784962911 ], [ -101.100043625812404, 41.724439926937606 ], [ -101.10003535971633, 41.724304790273187 ], [ -101.10003306228954, 41.724169522740858 ], [ -101.100036736006871, 41.724034272254002 ], [ -101.100046376813779, 41.723899186706561 ], [ -101.100061974131037, 41.723764413811033 ], [ -101.100083510866341, 41.723630100937285 ], [ -101.100110963433266, 41.723496394951219 ], [ -101.100144301777163, 41.723363442054179 ], [ -101.100183489408209, 41.72323138762323 ], [ -101.100228483441441, 41.723100376052102 ], [ -101.100279234643779, 41.722970550593374 ], [ -101.100335687488055, 41.722842053201845 ], [ -101.100397780213811, 41.722715024379333 ], [ -101.100465444895022, 41.722589603021106 ], [ -101.100538607514494, 41.722465926263936 ], [ -101.100617188044822, 41.722344129336413 ], [ -101.100701100536128, 41.722224345410815 ], [ -101.100790253210121, 41.722106705457811 ], [ -101.100884548560472, 41.721991338103066 ], [ -101.10098388345962, 41.721878369486845 ], [ -101.101088149271547, 41.721767923126016 ], [ -101.101197231970673, 41.721660119779024 ], [ -101.101311012266549, 41.72155507731398 ], [ -101.101429365734404, 41.721452910579792 ], [ -101.101552162951222, 41.721353731280622 ], [ -101.101679269637202, 41.721257647853804 ], [ -101.101810546802739, 41.721164765351439 ], [ -101.101945850900336, 41.721075185325354 ], [ -101.10208503398151, 41.720989005716312 ], [ -101.102227943858679, 41.720906320746941 ], [ -101.102374424271432, 41.720827220818684 ], [ -101.102524315057408, 41.720751792413054 ], [ -101.102677452327384, 41.720680117997162 ], [ -101.102833668644394, 41.72061227593354 ], [ -101.102992793206781, 41.720548340394501 ], [ -101.10315465203486, 41.720488381281157 ], [ -101.103319068161056, 41.720432464146946 ], [ -101.103485861823401, 41.720380650126074 ], [ -101.103654850661854, 41.720332995866649 ], [ -101.10382584991774, 41.720289553468788 ], [ -101.103998672635541, 41.720250370427756 ], [ -101.104173129867277, 41.720215489581967 ], [ -101.104349030878936, 41.720184949066265 ], [ -101.104526183358942, 41.720158782270182 ], [ -101.104704393628225, 41.72013701780147 ], [ -101.104883466851959, 41.720119679454939 ], [ -101.105063207252329, 41.720106786186236 ], [ -101.105243418322559, 41.720098352091412 ], [ -101.105423903041611, 41.720094386391253 ], [ -101.105604464089396, 41.720094893421411 ], [ -101.10578490406246, 41.72009987262755 ], [ -101.105965025689613, 41.720109318566031 ], [ -101.106144632047545, 41.720123220909734 ], [ -101.106323526775924, 41.720141564459503 ], [ -101.10650151429202, 41.720164329160603 ], [ -101.106678400004341, 41.720191490124776 ], [ -101.106853990525366, 41.720223017657318 ], [ -101.107028093882747, 41.720258877289588 ], [ -101.107200519729147, 41.720299029816644 ], [ -101.107371079550248, 41.720343431340126 ], [ -101.107539586870715, 41.720392033316124 ], [ -101.107705857458015, 41.720444782608389 ], [ -101.107869709523712, 41.720501621546227 ], [ -101.108030963922175, 41.7205624879876 ], [ -101.108189444346337, 41.72062731538702 ], [ -101.108344977520389, 41.720696032868304 ], [ -101.108497393389186, 41.720768565301952 ], [ -101.10864652530411, 41.720844833387268 ], [ -101.108792210205223, 41.720924753739091 ], [ -101.108934288799503, 41.721008238978818 ], [ -101.109072605735037, 41.72109519782996 ], [ -101.109207009770742, 41.72118553521787 ], [ -101.109337353941839, 41.721279152373668 ], [ -101.109463495720476, 41.721375946942096 ], [ -101.109585297171549, 41.721475813093548 ], [ -101.109702625103623, 41.721578641639539 ], [ -101.109815351214493, 41.721684320152235 ], [ -101.109923352231576, 41.721792733087149 ], [ -101.110026510046723, 41.721903761909573 ], [ -101.110124711845373, 41.722017285223998 ], [ -101.110217850230043, 41.722133178906986 ], [ -101.110305823337768, 41.722251316242641 ], [ -101.110388534951625, 41.722371568061291 ], [ -101.11046589460598, 41.72249380288055 ], [ -101.110537817685483, 41.72261788704909 ], [ -101.110604225517832, 41.722743684892812 ], [ -101.11066504545974, 41.722871058863028 ], [ -101.110720210976567, 41.722999869686916 ], [ -101.110769661715238, 41.723129976519743 ], [ -101.1108133435703, 41.723261237098882 ], [ -101.110851208743284, 41.723393507899267 ], [ -101.11088321579507, 41.723526644290395 ], [ -101.110909329691353, 41.723660500694386 ], [ -101.110929521841186, 41.723794930745164 ], [ -101.110943770128245, 41.72392978744849 ], [ -101.110952058935325, 41.724064923342745 ], [ -101.110954379161527, 41.724200190660035 ], [ -101.110950728232297, 41.724335441487924 ], [ -101.110941110102516, 41.724470527931039 ], [ -101.110925535252321, 41.72460530227287 ], [ -101.11090402067569, 41.724739617137288 ], [ -101.110876589862187, 41.724873325649696 ], [ -101.110843272771334, 41.725006281597665 ], [ -101.110804105800042, 41.725138339590806 ], [ -101.11075913174291, 41.725269355219801 ], [ -101.11070839974569, 41.725399185214336 ], [ -101.110651965251535, 41.725527687599801 ], [ -101.110589889940684, 41.7256547218525 ], [ -101.110522241663006, 41.725780149053463 ], [ -101.110449094364, 41.725903832040295 ], [ -101.110370528004012, 41.726025635557271 ], [ -101.110286628471016, 41.726145426403207 ], [ -101.110197487486602, 41.72626307357725 ], [ -101.110103202506011, 41.726378448422075 ], [ -101.110003876611444, 41.726491424764689 ], [ -101.109899618399552, 41.726601879054513 ], [ -101.109790541862679, 41.72670969049836 ], [ -101.109676766264329, 41.726814741192712 ], [ -101.109558416008724, 41.726916916252705 ], [ -101.10943562050484, 41.727016103937778 ], [ -101.109308514025003, 41.727112195773849 ], [ -101.109177235557866, 41.727205086672164 ], [ -101.10904192865668, 41.727294675044106 ], [ -101.108902741282151, 41.727380862912426 ], [ -101.108759825640647, 41.7274635560184 ], [ -101.108613338017776, 41.727542663924993 ], [ -101.108463438607444, 41.727618100115791 ], [ -101.108310291336565, 41.727689782089676 ], [ -101.108154063685845, 41.727757631451041 ], [ -101.107994926506507, 41.727821573995669 ], [ -101.107833053833403, 41.727881539791802 ], [ -101.107668622694646, 41.727937463256779 ], [ -101.10750181291786, 41.727989283228759 ], [ -101.107332806933528, 41.728036943033572 ], [ -101.107161789575315, 41.728080390546836 ], [ -101.10698894787788, 41.72811957825094 ], [ -101.106814470872237, 41.728154463287069 ], [ -101.106638549378815, 41.728185007502084 ], [ -101.106461375798773, 41.728211177490259 ], [ -101.106283143903468, 41.728232944629845 ], [ -101.106104048622271, 41.728250285114449 ], [ -101.105924285829431, 41.728263179978946 ], [ -101.105744052129666, 41.728271615120434 ], [ -101.105563544642948, 41.728275581313468 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 725, "AREA": 5476760.938, "PERIMETER": 8296.389, "ACRES": 125.729, "HECTARES": 50.881 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.111815161434677, 41.715330608692398 ], [ -101.111645348776378, 41.715330011671831 ], [ -101.111475668706532, 41.715324949556383 ], [ -101.111306330305197, 41.715315428583601 ], [ -101.111137542231177, 41.715301460485222 ], [ -101.110969512464891, 41.715283062472679 ], [ -101.110802448051842, 41.715260257215945 ], [ -101.110636554847488, 41.715233072815579 ], [ -101.110472037263392, 41.715201542768014 ], [ -101.110309098015222, 41.715165705924363 ], [ -101.110147937872952, 41.715125606442449 ], [ -101.109988755413227, 41.715081293732354 ], [ -101.109831746774702, 41.715032822395649 ], [ -101.109677105416225, 41.714980252157872 ], [ -101.109525021878326, 41.714923647795082 ], [ -101.10937568354845, 41.714863079053906 ], [ -101.109229274429907, 41.714798620565595 ], [ -101.10908597491516, 41.714730351754014 ], [ -101.108945961563435, 41.714658356737743 ], [ -101.10880940688314, 41.714582724226396 ], [ -101.108676479119325, 41.714503547411276 ], [ -101.108547342046307, 41.71442092385044 ], [ -101.108422154765819, 41.714334955348527 ], [ -101.108301071511121, 41.714245747831271 ], [ -101.108184241456769, 41.714153411214831 ], [ -101.108071808535001, 41.714058059270407 ], [ -101.107963911258338, 41.713959809484038 ], [ -101.107860682548946, 41.713858782911707 ], [ -101.107762249574989, 41.71375510403017 ], [ -101.107668733593897, 41.713648900583593 ], [ -101.107580249803121, 41.713540303425994 ], [ -101.107496907198254, 41.713429446360102 ], [ -101.107418808438794, 41.713316465972412 ], [ -101.107346049721826, 41.713201501464795 ], [ -101.10727872066353, 41.713084694483008 ], [ -101.107216904188917, 41.712966188942154 ], [ -101.107160676429814, 41.712846130849293 ], [ -101.107110106631154, 41.712724668123528 ], [ -101.107065257065827, 41.712601950413763 ], [ -101.107026182958094, 41.712478128914221 ], [ -101.106992932415665, 41.712353356178205 ], [ -101.106965546370688, 41.712227785930153 ], [ -101.106944058529336, 41.712101572876158 ], [ -101.106928495330578, 41.711974872513345 ], [ -101.106918875913692, 41.711847840938361 ], [ -101.106915212094862, 41.711720634654966 ], [ -101.106917508352851, 41.711593410381283 ], [ -101.106925761823604, 41.711466324856708 ], [ -101.10693996230394, 41.711339534648729 ], [ -101.10696009226433, 41.711213195960148 ], [ -101.106986126870638, 41.711087464436595 ], [ -101.107018034014899, 41.710962494974829 ], [ -101.107055774355047, 41.710838441531855 ], [ -101.107099301363547, 41.710715456935318 ], [ -101.107148561384818, 41.710593692695284 ], [ -101.107203493701547, 41.710473298817526 ], [ -101.107264030609656, 41.710354423618845 ], [ -101.107330097501773, 41.710237213544289 ], [ -101.107401612959293, 41.710121812986877 ], [ -101.107478488852891, 41.71000836410964 ], [ -101.107560630451104, 41.709897006670623 ], [ -101.107647936537191, 41.709787877850744 ], [ -101.107740299533901, 41.709681112084745 ], [ -101.107837605636163, 41.709576840895771 ], [ -101.107939734951231, 41.709475192733279 ], [ -101.108046561646574, 41.709376292814902 ], [ -101.108157954104868, 41.709280262972193 ], [ -101.108273775086246, 41.709187221500699 ], [ -101.108393881897371, 41.709097283014117 ], [ -101.108518126567191, 41.709010558303333 ], [ -101.108646356029368, 41.708927154199849 ], [ -101.108778412310727, 41.708847173444362 ], [ -101.108914132725872, 41.708770714560117 ], [ -101.109053350077659, 41.708697871731651 ], [ -101.109195892863013, 41.708628734688858 ], [ -101.109341585484259, 41.708563388596453 ], [ -101.109490248465363, 41.708501913949078 ], [ -101.109641698672917, 41.708444386472266 ], [ -101.109795749541689, 41.708390877029188 ], [ -101.109952211304403, 41.70834145153335 ], [ -101.110110891225432, 41.708296170867435 ], [ -101.110271593837993, 41.708255090808414 ], [ -101.110434121185023, 41.708218261958834 ], [ -101.110598273062763, 41.708185729684502 ], [ -101.110763847267393, 41.708157534058593 ], [ -101.110930639843858, 41.708133709812429 ], [ -101.111098445337163, 41.708114286292584 ], [ -101.111267057045112, 41.708099287424837 ], [ -101.111436267273021, 41.708088731684711 ], [ -101.111605867589262, 41.708082632074685 ], [ -101.111775649081949, 41.708080996108187 ], [ -101.111945402616143, 41.708083825800429 ], [ -101.112114919091354, 41.708091117665759 ], [ -101.112283989698909, 41.708102862722193 ], [ -101.112452406179102, 41.708119046502198 ], [ -101.112619961077556, 41.708139649070709 ], [ -101.112786448000676, 41.708164645049592 ], [ -101.112951661869701, 41.70819400364892 ], [ -101.113115399173267, 41.708227688704831 ], [ -101.113277458217965, 41.708265658724109 ], [ -101.113437639376613, 41.708307866935243 ], [ -101.113595745334152, 41.708354261346031 ], [ -101.113751581330533, 41.70840478480752 ], [ -101.113904955400542, 41.708459375084509 ], [ -101.1140556786102, 41.708517964932064 ], [ -101.114203565289429, 41.708580482178313 ], [ -101.114348433260673, 41.708646849813434 ], [ -101.11449010406325, 41.708716986084276 ], [ -101.114628403173171, 41.70879080459521 ], [ -101.114763160218004, 41.708868214414437 ], [ -101.114894209186829, 41.708949120185849 ], [ -101.115021388634631, 41.709033422246669 ], [ -101.115144541881222, 41.709121016750004 ], [ -101.115263517204156, 41.709211795792719 ], [ -101.115378168025785, 41.709305647548412 ], [ -101.115488353093724, 41.70940245640503 ], [ -101.115593936654932, 41.70950210310734 ], [ -101.115694788623003, 41.709604464903656 ], [ -101.115790784738422, 41.709709415697063 ], [ -101.115881806721802, 41.709816826200765 ], [ -101.115967742419514, 41.709926564097266 ], [ -101.116048485942073, 41.7100384942012 ], [ -101.116123937794612, 41.710152478626107 ], [ -101.116194004999556, 41.710268376953955 ], [ -101.116258601211285, 41.71038604640831 ], [ -101.116317646822651, 41.710505342030032 ], [ -101.116371069063106, 41.710626116855934 ], [ -101.11641880208856, 41.710748222099681 ], [ -101.116460787062579, 41.710871507335192 ], [ -101.116496972229058, 41.710995820681809 ], [ -101.116527312976174, 41.711121008991476 ], [ -101.11655177189138, 41.71124691803729 ], [ -101.11657031880776, 41.711373392703607 ], [ -101.116582930841361, 41.711500277177016 ], [ -101.116589592419501, 41.711627415138381 ], [ -101.116590295300142, 41.711754649955296 ], [ -101.116585038582258, 41.711881824875135 ], [ -101.116573828707047, 41.712008783218288 ], [ -101.116556679450269, 41.71213536857082 ], [ -101.116533611905325, 41.712261424977655 ], [ -101.116504654457515, 41.712386797134364 ], [ -101.116469842749254, 41.712511330578664 ], [ -101.116429219636217, 41.712634871880752 ], [ -101.116382835134829, 41.712757268832299 ], [ -101.116330746360745, 41.712878370634002 ], [ -101.116273017458553, 41.712998028081429 ], [ -101.116209719523042, 41.713116093748908 ], [ -101.116140930511605, 41.713232422171096 ], [ -101.116066735148436, 41.713346870022356 ], [ -101.115987224820145, 41.713459296293259 ], [ -101.115902497463424, 41.713569562464443 ], [ -101.115812657444323, 41.713677532677295 ], [ -101.115717815429917, 41.713783073901403 ], [ -101.115618088251892, 41.713886056098438 ], [ -101.115513598762789, 41.713986352382555 ], [ -101.11540447568467, 41.714083839176588 ], [ -101.115290853450546, 41.714178396364495 ], [ -101.115172872038812, 41.714269907439416 ], [ -101.115050676800806, 41.71435825964717 ], [ -101.11492441828176, 41.7144433441253 ], [ -101.114794252035281, 41.714525056037239 ], [ -101.114660338431733, 41.714603294701583 ], [ -101.114522842460616, 41.714677963716056 ], [ -101.11438193352727, 41.71474897107651 ], [ -101.114237785244043, 41.714816229290165 ], [ -101.114090575216508, 41.714879655483628 ], [ -101.113940484824326, 41.714939171504938 ], [ -101.113787698997953, 41.714994704019894 ], [ -101.113632405990529, 41.715046184602535 ], [ -101.113474797145955, 41.715093549819443 ], [ -101.113315066662963, 41.715136741307923 ], [ -101.113153411355782, 41.71517570584804 ], [ -101.112990030411495, 41.715210395428066 ], [ -101.11282512514461, 41.715240767303833 ], [ -101.112658898748705, 41.715266784051316 ], [ -101.112491556046137, 41.715288413612804 ], [ -101.112323303235414, 41.715305629336449 ], [ -101.112154347637031, 41.715318410009111 ], [ -101.111984897437893, 41.715326739882457 ], [ -101.111815161434677, 41.715330608692398 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 726, "AREA": 5621916.146, "PERIMETER": 8405.609, "ACRES": 129.061, "HECTARES": 52.23 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.092358560362669, 41.712236645375988 ], [ -101.092187476272855, 41.712236027505718 ], [ -101.092016525201814, 41.712230935878544 ], [ -101.091845915462471, 41.71222137669892 ], [ -101.091675854951504, 41.712207361615128 ], [ -101.091506550896057, 41.712188907705233 ], [ -101.091338209600977, 41.712166037456207 ], [ -101.091171036197437, 41.712138778736531 ], [ -101.09100523439264, 41.712107164762187 ], [ -101.090841006221723, 41.712071234056168 ], [ -101.090678551801261, 41.712031030401548 ], [ -101.090518069085391, 41.711986602788066 ], [ -101.090359753624497, 41.711938005352415 ], [ -101.090203798326854, 41.711885297312257 ], [ -101.090050393223422, 41.71182854289404 ], [ -101.089899725236208, 41.711767811254639 ], [ -101.089751977950485, 41.711703176397116 ], [ -101.089607331390965, 41.711634717080472 ], [ -101.089465961802446, 41.711562516723617 ], [ -101.089328041434939, 41.711486663303752 ], [ -101.089193738333805, 41.711407249249085 ], [ -101.089063216134861, 41.711324371326086 ], [ -101.088936633865188, 41.711238130521629 ], [ -101.088814145749097, 41.711148631919848 ], [ -101.088695901020387, 41.711055984574088 ], [ -101.088582043740487, 41.710960301373937 ], [ -101.088472712622874, 41.710861698907621 ], [ -101.088368040864225, 41.710760297319908 ], [ -101.088268155981993, 41.710656220165646 ], [ -101.088173179659279, 41.710549594259213 ], [ -101.088083227596513, 41.710440549519916 ], [ -101.087998409370556, 41.710329218813698 ], [ -101.087918828301383, 41.710215737791096 ], [ -101.087844581326138, 41.710100244722028 ], [ -101.087775758881222, 41.709982880327225 ], [ -101.08771244479226, 41.709863787606778 ], [ -101.087654716171983, 41.709743111665787 ], [ -101.087602643326434, 41.709620999537606 ], [ -101.087556289669521, 41.709497600004646 ], [ -101.087515711645779, 41.709373063417026 ], [ -101.087480958661871, 41.709247541509406 ], [ -101.087452073026412, 41.709121187216155 ], [ -101.08742908989872, 41.708994154484792 ], [ -101.087412037246025, 41.708866598088676 ], [ -101.087400935809669, 41.708738673438191 ], [ -101.087395799079857, 41.708610536391518 ], [ -101.087396633279582, 41.708482343064702 ], [ -101.087403437357068, 41.70835424964141 ], [ -101.087416202987271, 41.708226412182761 ], [ -101.087434914582204, 41.708098986437001 ], [ -101.087459549310097, 41.70797212764996 ], [ -101.087490077123377, 41.707845990375809 ], [ -101.087526460795445, 41.707720728288791 ], [ -101.087568655966152, 41.70759649399605 ], [ -101.087616611196069, 41.707473438851657 ], [ -101.087670268029314, 41.707351712772336 ], [ -101.087729561064805, 41.707231464054779 ], [ -101.087794418036225, 41.707112839195005 ], [ -101.087864759900086, 41.706995982709998 ], [ -101.087940500932234, 41.706881036961569 ], [ -101.088021548832344, 41.706768141983048 ], [ -101.088107804836511, 41.706657435308621 ], [ -101.088199163837672, 41.706549051805972 ], [ -101.088295514513732, 41.706443123511917 ], [ -101.088396739463306, 41.70633977947157 ], [ -101.088502715348753, 41.706239145581264 ], [ -101.088613313046537, 41.706141344435196 ], [ -101.088728397804601, 41.706046495176075 ], [ -101.088847829406532, 41.705954713350145 ], [ -101.088971462342442, 41.705866110766308 ], [ -101.089099145986211, 41.705780795360148 ], [ -101.089230724779028, 41.705698871062339 ], [ -101.089366038418902, 41.705620437672188 ], [ -101.089504922055909, 41.705545590736023 ], [ -101.089647206492998, 41.705474421430935 ], [ -101.089792718392104, 41.705407016453698 ], [ -101.089941280485206, 41.70534345791517 ], [ -101.090092711790305, 41.705283823240414 ], [ -101.090246827831777, 41.705228185074311 ], [ -101.090403440865018, 41.705176611193181 ], [ -101.090562360105139, 41.705129164422253 ], [ -101.090723391959258, 41.705085902559084 ], [ -101.090886340262216, 41.705046878303285 ], [ -101.091051006515443, 41.70501213919237 ], [ -101.091217190128731, 41.704981727543725 ], [ -101.091384688664334, 41.704955680403259 ], [ -101.09155329808361, 41.704934029500201 ], [ -101.091722812995371, 41.704916801208455 ], [ -101.091893026905936, 41.704904016514604 ], [ -101.092063732470578, 41.704895690992224 ], [ -101.092234721745982, 41.704891834782991 ], [ -101.09240578644345, 41.704892452584275 ], [ -101.0925767181824, 41.704897543643568 ], [ -101.092747308744137, 41.704907101759176 ], [ -101.092917350325365, 41.704921115288009 ], [ -101.093086635791209, 41.704939567159542 ], [ -101.093254958927346, 41.704962434896757 ], [ -101.093422114691123, 41.704989690643394 ], [ -101.093587899461212, 41.705021301197988 ], [ -101.093752111285539, 41.705057228054173 ], [ -101.093914550127124, 41.705097427447669 ], [ -101.094075018107745, 41.705141850409454 ], [ -101.094233319748781, 41.705190442825504 ], [ -101.094389262209319, 41.705243145502642 ], [ -101.094542655520925, 41.705299894240532 ], [ -101.094693312819047, 41.705360619909953 ], [ -101.094841050570466, 41.705425248536955 ], [ -101.094985688796925, 41.705493701392903 ], [ -101.095127051294256, 41.705565895090309 ], [ -101.09526496584698, 41.70564174168446 ], [ -101.095399264438072, 41.705721148780405 ], [ -101.095529783453628, 41.705804019645576 ], [ -101.095656363882171, 41.705890253327446 ], [ -101.0957788515083, 41.70597974477662 ], [ -101.095897097100604, 41.706072384974561 ], [ -101.09601095659346, 41.706168061066549 ], [ -101.096120291262594, 41.706266656498968 ], [ -101.096224967894088, 41.706368051161334 ], [ -101.096324858946659, 41.706472121532485 ], [ -101.096419842707192, 41.706578740831169 ], [ -101.096509803439034, 41.706687779170217 ], [ -101.096594631523033, 41.706799103714886 ], [ -101.096674223591279, 41.706912578844658 ], [ -101.09674848265297, 41.707028066318294 ], [ -101.0968173182128, 41.70714542544237 ], [ -101.096880646381322, 41.707264513242443 ], [ -101.096938389977169, 41.707385184637403 ], [ -101.096990478621336, 41.707507292616043 ], [ -101.097036848822981, 41.707630688416138 ], [ -101.097077444056907, 41.707755221705803 ], [ -101.097112214832663, 41.707880740766385 ], [ -101.097141118754919, 41.708007092677434 ], [ -101.097164120575258, 41.708134123503022 ], [ -101.097181192235411, 41.70826167847909 ], [ -101.097192312901441, 41.708389602202139 ], [ -101.097197468989407, 41.708517738818522 ], [ -101.097196654182056, 41.708645932214303 ], [ -101.097189869436662, 41.708774026205475 ], [ -101.097177122984078, 41.708901864728148 ], [ -101.097158430318871, 41.709029292028895 ], [ -101.09713381418058, 41.709156152854284 ], [ -101.097103304526229, 41.709282292640246 ], [ -101.097066938493967, 41.709407557700274 ], [ -101.097024760357939, 41.709531795412786 ], [ -101.096976821474598, 41.709654854407006 ], [ -101.096923180220244, 41.70977658474748 ], [ -101.096863901920017, 41.70989683811672 ], [ -101.09679905876844, 41.710015467996087 ], [ -101.096728729741685, 41.710132329844114 ], [ -101.096653000501362, 41.710247281272878 ], [ -101.096571963290359, 41.710360182221379 ], [ -101.096485716820496, 41.710470895126313 ], [ -101.096394366152367, 41.710579285089665 ], [ -101.096298022567481, 41.710685220043167 ], [ -101.096196803432704, 41.710788570909223 ], [ -101.096090832057328, 41.710889211758257 ], [ -101.095980237542918, 41.710987019962168 ], [ -101.095865154625997, 41.711081876343876 ], [ -101.095745723514014, 41.711173665322434 ], [ -101.09562208971451, 41.711262275054047 ], [ -101.095494403857785, 41.71134759756837 ], [ -101.095362821513433, 41.711429528900069 ], [ -101.095227503000743, 41.711507969215589 ], [ -101.095088613193383, 41.711582822934844 ], [ -101.09494632131846, 41.711653998847709 ], [ -101.094800800750292, 41.711721410225188 ], [ -101.09465222879912, 41.711784974925266 ], [ -101.094500786494976, 41.711844615492851 ], [ -101.094346658367073, 41.711900259254385 ], [ -101.09419003221889, 41.711951838406229 ], [ -101.094031098899208, 41.711999290097545 ], [ -101.093870052069533, 41.712042556506759 ], [ -101.093707087967942, 41.71208158491207 ], [ -101.093542405169998, 41.712116327755865 ], [ -101.093376204346526, 41.71214674270248 ], [ -101.093208688019075, 41.712172792689977 ], [ -101.093040060312987, 41.712194445975236 ], [ -101.09287052670858, 41.712211676172728 ], [ -101.092700293790571, 41.712224462286642 ], [ -101.09252956899627, 41.712232788736458 ], [ -101.092358560362669, 41.712236645375988 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 727, "AREA": 5539022.672, "PERIMETER": 8343.414, "ACRES": 127.158, "HECTARES": 51.459 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.07329900677108, 41.692684692434021 ], [ -101.073128291648388, 41.692684035022793 ], [ -101.072957712488247, 41.692678887227785 ], [ -101.072787479478762, 41.692669255392126 ], [ -101.072617802381302, 41.692655151384095 ], [ -101.072448890271886, 41.692636592582694 ], [ -101.072280951283432, 41.69261360185601 ], [ -101.072114192349176, 41.692586207533154 ], [ -101.071948818947575, 41.692554443369303 ], [ -101.071785034849043, 41.692518348504017 ], [ -101.071623041864626, 41.692477967413105 ], [ -101.071463039597361, 41.692433349853751 ], [ -101.071305225196141, 41.692384550803112 ], [ -101.071149793112752, 41.69233163039064 ], [ -101.070996934862123, 41.692274653823908 ], [ -101.070846838786338, 41.69221369130824 ], [ -101.070699689822433, 41.692148817960096 ], [ -101.070555669274512, 41.692080113714638 ], [ -101.07041495459022, 41.692007663227024 ], [ -101.070277719142126, 41.691931555768157 ], [ -101.07014413201405, 41.691851885114559 ], [ -101.070014357792715, 41.69176874943291 ], [ -101.069888556364845, 41.691682251158944 ], [ -101.069766882720302, 41.691592496871138 ], [ -101.069649486761008, 41.691499597159456 ], [ -101.069536513116319, 41.691403666489002 ], [ -101.069428100964842, 41.691304823058928 ], [ -101.069324383862991, 41.691203188656701 ], [ -101.069225489580447, 41.69109888850813 ], [ -101.069131539942887, 41.690992051122848 ], [ -101.069042650681794, 41.690882808136045 ], [ -101.068958931292116, 41.690771294146259 ], [ -101.068880484897363, 41.690657646549361 ], [ -101.068807408122595, 41.690542005369387 ], [ -101.068739790975613, 41.69042451308588 ], [ -101.06867771673609, 41.690305314458278 ], [ -101.068621261853082, 41.69018455634766 ], [ -101.068570495851063, 41.690062387535598 ], [ -101.068525481244308, 41.689938958540971 ], [ -101.068486273460039, 41.689814421434356 ], [ -101.068452920770355, 41.689688929650806 ], [ -101.068425464232845, 41.689562637800577 ], [ -101.068403937640213, 41.689435701478864 ], [ -101.068388367478761, 41.689308277073842 ], [ -101.068378772895969, 41.689180521574237 ], [ -101.068375165677082, 41.689052592375667 ], [ -101.068377550230736, 41.688924647086871 ], [ -101.068385923583733, 41.688796843335489 ], [ -101.068400275384803, 41.688669338573895 ], [ -101.068420587917643, 41.688542289885135 ], [ -101.068446836122845, 41.688415853789529 ], [ -101.068478987628936, 41.688290186051809 ], [ -101.068517002792476, 41.68816544148919 ], [ -101.068560834746989, 41.688041773780682 ], [ -101.068610429460904, 41.687919335277876 ], [ -101.068665725804323, 41.687798276817155 ], [ -101.068726655624332, 41.68767874753393 ], [ -101.068793143829282, 41.687560894679017 ], [ -101.068865108481276, 41.687444863437193 ], [ -101.068942460897361, 41.687330796748384 ], [ -101.069025105758797, 41.687218835131674 ], [ -101.069112941228639, 41.687109116512147 ], [ -101.069205859077357, 41.687001776051098 ], [ -101.069303744816096, 41.68689694597947 ], [ -101.069406477837944, 41.686794755435187 ], [ -101.069513931566533, 41.68669533030392 ], [ -101.069625973611991, 41.686598793064128 ], [ -101.069742465934127, 41.686505262636317 ], [ -101.069863265012515, 41.686414854236453 ], [ -101.069988222023298, 41.686327679234218 ], [ -101.070117183022575, 41.686243845015703 ], [ -101.070249989136002, 41.686163454851297 ], [ -101.070386476754507, 41.686086607768587 ], [ -101.070526477735882, 41.68601339843017 ], [ -101.070669819611808, 41.68594391701739 ], [ -101.070816325800294, 41.685878249119028 ], [ -101.070965815823186, 41.685816475626126 ], [ -101.071118105528413, 41.685758672632261 ], [ -101.071273007316734, 41.685704911339911 ], [ -101.07143033037282, 41.685655257972755 ], [ -101.071589880900163, 41.685609773694118 ], [ -101.071751462359757, 41.685568514531738 ], [ -101.071914875712082, 41.68553153130874 ], [ -101.072079919662201, 41.685498869581011 ], [ -101.072246390907537, 41.68547056958117 ], [ -101.072414084388313, 41.685446666169092 ], [ -101.072582793539894, 41.685427188788786 ], [ -101.07275231054723, 41.685412161432431 ], [ -101.072922426600655, 41.685401602610568 ], [ -101.073092932152903, 41.685395525329469 ], [ -101.07326361717729, 41.685393937075077 ], [ -101.073434271426052, 41.685396839803779 ], [ -101.0736046846894, 41.685404229940048 ], [ -101.073774647054222, 41.685416098380735 ], [ -101.073943949162484, 41.685432430506424 ], [ -101.07411238246911, 41.685453206199327 ], [ -101.074279739498635, 41.685478399868067 ], [ -101.074445814100685, 41.685507980479251 ], [ -101.074610401703779, 41.685541911595543 ], [ -101.074773299567269, 41.685580151420709 ], [ -101.074934307030816, 41.685622652850896 ], [ -101.075093225761634, 41.68566936353276 ], [ -101.075249859998593, 41.685720225927831 ], [ -101.075404016793314, 41.685775177383483 ], [ -101.075555506247682, 41.685834150209857 ], [ -101.075704141747821, 41.685897071763492 ], [ -101.075849740193775, 41.685963864536483 ], [ -101.075992122225074, 41.68603444625213 ], [ -101.076131112441601, 41.686108729966108 ], [ -101.076266539619624, 41.686186624173644 ], [ -101.076398236922657, 41.686268032922051 ], [ -101.076526042106977, 41.686352855928973 ], [ -101.076649797721473, 41.686440988705897 ], [ -101.07676935130165, 41.686532322686702 ], [ -101.076884555557356, 41.686626745361444 ], [ -101.076995268554313, 41.686724140414839 ], [ -101.07710135388902, 41.686824387869578 ], [ -101.077202680856743, 41.686927364234052 ], [ -101.077299124612637, 41.687032942654291 ], [ -101.077390566325661, 41.687140993070422 ], [ -101.077476893324885, 41.687251382376694 ], [ -101.07755799923855, 41.687363974585374 ], [ -101.077633784125069, 41.687478630994356 ], [ -101.077704154596361, 41.687595210357891 ], [ -101.077769023932859, 41.687713569060556 ], [ -101.077828312190675, 41.687833561294198 ], [ -101.07788194630001, 41.687955039237458 ], [ -101.077929860155422, 41.6880778532379 ], [ -101.077971994697378, 41.688201851996276 ], [ -101.078008297985164, 41.688326882752968 ], [ -101.078038725261052, 41.688452791476102 ], [ -101.078063239005559, 41.688579423051294 ], [ -101.078081808983839, 41.688706621472754 ], [ -101.078094412283178, 41.688834230035432 ], [ -101.078101033341227, 41.688962091528126 ], [ -101.078101663965555, 41.689090048427047 ], [ -101.078096303343742, 41.689217943090007 ], [ -101.078084958044656, 41.689345617950543 ], [ -101.078067642010467, 41.689472915712081 ], [ -101.078044376539765, 41.689599679541693 ], [ -101.078015190261283, 41.68972575326341 ], [ -101.077980119099024, 41.689850981550599 ], [ -101.077939206228024, 41.689975210117275 ], [ -101.077892502021314, 41.690098285908356 ], [ -101.077840063988134, 41.690220057288123 ], [ -101.07778195670312, 41.690340374227162 ], [ -101.077718251726893, 41.690459088487152 ], [ -101.077649027518106, 41.690576053803596 ], [ -101.077574369336887, 41.690691126066127 ], [ -101.077494369139828, 41.690804163495827 ], [ -101.077409125466929, 41.690915026820363 ], [ -101.07731874332022, 41.691023579445243 ], [ -101.0772233340345, 41.691129687622386 ], [ -101.077123015140231, 41.691233220614876 ], [ -101.077017910218885, 41.691334050858067 ], [ -101.076908148750633, 41.691432054116888 ], [ -101.076793865954969, 41.691527109638855 ], [ -101.076675202624088, 41.691619100302972 ], [ -101.076552304949459, 41.691707912764109 ], [ -101.07642532434177, 41.691793437592594 ], [ -101.076294417244284, 41.691875569409227 ], [ -101.076159744940227, 41.691954207015115 ], [ -101.076021473353904, 41.692029253516381 ], [ -101.075879772846349, 41.692100616443625 ], [ -101.075734818005358, 41.692168207865947 ], [ -101.075586787430282, 41.692231944499234 ], [ -101.07543586351197, 41.692291747808994 ], [ -101.075282232207996, 41.69234754410698 ], [ -101.075126082813398, 41.692399264642113 ], [ -101.074967607727388, 41.692446845685254 ], [ -101.074807002216204, 41.69249022860776 ], [ -101.074644464172437, 41.692529359953703 ], [ -101.074480193871011, 41.692564191505788 ], [ -101.074314393722418, 41.692594680344918 ], [ -101.074147268023125, 41.692620788902836 ], [ -101.073979022703753, 41.69264248500874 ], [ -101.073809865075177, 41.69265974192875 ], [ -101.073640003573033, 41.692672538398888 ], [ -101.073469647500644, 41.692680858651386 ], [ -101.07329900677108, 41.692684692434021 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 728, "AREA": 5163530.754, "PERIMETER": 8055.665, "ACRES": 118.538, "HECTARES": 47.971 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.09117611353696, 41.693027572351383 ], [ -101.091008475708321, 41.693026915187247 ], [ -101.09084097600909, 41.693021773500362 ], [ -101.090673827926977, 41.693012153844087 ], [ -101.090507244501296, 41.69299806847917 ], [ -101.090341438051354, 41.692979535358141 ], [ -101.090176619905648, 41.692956578102397 ], [ -101.09001300013243, 41.692929225972108 ], [ -101.089850787271828, 41.692897513828903 ], [ -101.089690188069966, 41.692861482091345 ], [ -101.08953140721529, 41.692821176683502 ], [ -101.089374647077605, 41.692776648976348 ], [ -101.089220107450032, 41.692727955722169 ], [ -101.089067985294292, 41.692675158982375 ], [ -101.08891847448956, 41.692618326048212 ], [ -101.088771765585278, 41.692557529354964 ], [ -101.088628045558252, 41.692492846389754 ], [ -101.088487497574263, 41.692424359592536 ], [ -101.08835030075457, 41.692352156251133 ], [ -101.088216629947567, 41.692276328389845 ], [ -101.088086655505933, 41.692196972652141 ], [ -101.087960543069443, 41.69211419017752 ], [ -101.087838453353925, 41.692028086472455 ], [ -101.087720541946325, 41.691938771275879 ], [ -101.08760695910658, 41.69184635841934 ], [ -101.087497849575939, 41.691750965681869 ], [ -101.087393352392681, 41.69165271463973 ], [ -101.087293600714915, 41.691551730511556 ], [ -101.087198721650893, 41.691448141998599 ], [ -101.087108836097144, 41.691342081120787 ], [ -101.08702405858439, 41.691233683048196 ], [ -101.086944497131768, 41.691123085929064 ], [ -101.086870253109183, 41.691010430713369 ], [ -101.086801421108277, 41.690895860973342 ], [ -101.086738088821946, 41.690779522720376 ], [ -101.086680336932773, 41.690661564219006 ], [ -101.086628239010238, 41.690542135797756 ], [ -101.086581861417201, 41.690421389657686 ], [ -101.086541263225456, 41.690299479678309 ], [ -101.086506496140515, 41.690176561221499 ], [ -101.08647760443597, 41.6900527909334 ], [ -101.086454624897215, 41.68992832654493 ], [ -101.086437586774707, 41.689803326670564 ], [ -101.086426511746893, 41.689677950606338 ], [ -101.086421413892751, 41.689552358126782 ], [ -101.08642229967397, 41.689426709281257 ], [ -101.086429167927008, 41.68930116419012 ], [ -101.086442009864612, 41.689175882840487 ], [ -101.086460809087313, 41.689051024882573 ], [ -101.086485541604446, 41.688926749426038 ], [ -101.086516175864872, 41.688803214837449 ], [ -101.08655267279741, 41.688680578538282 ], [ -101.086594985860742, 41.688558996804524 ], [ -101.086643061102933, 41.688438624567418 ], [ -101.086696837230306, 41.688319615216081 ], [ -101.086756245685677, 41.688202120402188 ], [ -101.086821210735934, 41.688086289846488 ], [ -101.086891649568599, 41.687972271148418 ], [ -101.086967472397546, 41.687860209597709 ], [ -101.087048582577495, 41.687750247989499 ], [ -101.087134876727319, 41.687642526442353 ], [ -101.08722624486181, 41.687537182219735 ], [ -101.087322570532024, 41.687434349555197 ], [ -101.08742373097364, 41.687334159481303 ], [ -101.087529597263526, 41.687236739662815 ], [ -101.087640034484096, 41.687142214233944 ], [ -101.087754901895238, 41.687050703640352 ], [ -101.08787405311368, 41.686962324485577 ], [ -101.087997336299622, 41.686877189382663 ], [ -101.088124594350134, 41.686795406810617 ], [ -101.088255665099396, 41.686717080976273 ], [ -101.088390381525329, 41.686642311681524 ], [ -101.088528571962371, 41.68657119419624 ], [ -101.088670060320226, 41.686503819136888 ], [ -101.088814666308181, 41.686440272351213 ], [ -101.088962205664757, 41.686380634808714 ], [ -101.089112490392495, 41.68632498249773 ], [ -101.089265328997385, 41.68627338632848 ], [ -101.089420526732781, 41.686225912042893 ], [ -101.089577885847547, 41.686182620130744 ], [ -101.089737205837793, 41.686143565752715 ], [ -101.089898283702368, 41.686108798670148 ], [ -101.090060914201374, 41.686078363181572 ], [ -101.09022489011754, 41.686052298066386 ], [ -101.090390002520166, 41.686030636535399 ], [ -101.090556041031192, 41.686013406188628 ], [ -101.090722794093111, 41.686000628980047 ], [ -101.090890049238467, 41.685992321189666 ], [ -101.091057593360361, 41.685988493402803 ], [ -101.091225212983872, 41.685989150496631 ], [ -101.09139269453793, 41.685994291633918 ], [ -101.091559824627296, 41.686003910264098 ], [ -101.091726390304359, 41.686017994131639 ], [ -101.091892179340249, 41.686036525291676 ], [ -101.092056980495215, 41.686059480132762 ], [ -101.092220583787565, 41.686086829407053 ], [ -101.092382780761156, 41.686118538267472 ], [ -101.092543364750838, 41.686154566312183 ], [ -101.092702131145657, 41.686194867635948 ], [ -101.092858877649533, 41.686239390888581 ], [ -101.093013404538766, 41.686288079340507 ], [ -101.093165514916606, 41.686340870954801 ], [ -101.093315014963849, 41.686397698466344 ], [ -101.093461714185892, 41.686458489467398 ], [ -101.093605425655255, 41.686523166499974 ], [ -101.093745966249756, 41.686591647154238 ], [ -101.093883156885838, 41.686663844173751 ], [ -101.094016822746568, 41.686739665566407 ], [ -101.094146793504507, 41.686819014721635 ], [ -101.094272903538624, 41.686901790533575 ], [ -101.094394992145354, 41.686987887529661 ], [ -101.09451290374335, 41.68707719600512 ], [ -101.094626488071796, 41.687169602162712 ], [ -101.094735600381782, 41.687264988257496 ], [ -101.094840101620903, 41.687363232747067 ], [ -101.09493985861036, 41.687464210446208 ], [ -101.095034744214843, 41.687567792686401 ], [ -101.095124637504512, 41.687673847479701 ], [ -101.095209423909182, 41.68778223968701 ], [ -101.095288995364456, 41.687892831190005 ], [ -101.095363250449395, 41.688005481067307 ], [ -101.095432094516056, 41.688120045773935 ], [ -101.095495439810009, 41.688236379324053 ], [ -101.095553205582419, 41.688354333477179 ], [ -101.095605318193037, 41.688473757926893 ], [ -101.095651711204155, 41.688594500492407 ], [ -101.095692325465436, 41.688716407312405 ], [ -101.095727109189468, 41.68883932304113 ], [ -101.095756018017852, 41.688963091046304 ], [ -101.095779015077966, 41.68908755360868 ], [ -101.095796071030037, 41.689212552123067 ], [ -101.095807164104784, 41.689337927300379 ], [ -101.09581228013127, 41.689463519370577 ], [ -101.095811412555179, 41.689589168286389 ], [ -101.095804562447327, 41.689714713927145 ], [ -101.095791738502456, 41.689839996302872 ], [ -101.095772957028359, 41.68996485575817 ], [ -101.095748241925278, 41.690089133175704 ], [ -101.095717624655606, 41.690212670178958 ], [ -101.095681144203937, 41.69033530933411 ], [ -101.095638847027615, 41.690456894350646 ], [ -101.09559078699759, 41.690577270280606 ], [ -101.095537025330088, 41.690696283716008 ], [ -101.095477630508526, 41.690813782984449 ], [ -101.09541267819661, 41.690929618342359 ], [ -101.095342251141858, 41.691043642165944 ], [ -101.0952664390704, 41.691155709139295 ], [ -101.095185338572676, 41.69126567643967 ], [ -101.09509905298053, 41.691373403919485 ], [ -101.095007692235498, 41.691478754285022 ], [ -101.094911372748911, 41.691581593271465 ], [ -101.094810217253567, 41.69168178981402 ], [ -101.094704354647391, 41.691779216214968 ], [ -101.094593919829194, 41.691873748306499 ], [ -101.094479053526854, 41.69196526560912 ], [ -101.094359902117972, 41.692053651484976 ], [ -101.094236617443343, 41.692138793286837 ], [ -101.094109356613487, 41.692220582501562 ], [ -101.093978281808361, 41.692298914888482 ], [ -101.093843560070752, 41.692373690612264 ], [ -101.09370536309325, 41.692444814370319 ], [ -101.093563866999474, 41.692512195514162 ], [ -101.093419252119617, 41.692575748165147 ], [ -101.093271702760376, 41.692635391323755 ], [ -101.093121406970269, 41.692691048973138 ], [ -101.092968556299638, 41.692742650175802 ], [ -101.092813345556607, 41.692790129164223 ], [ -101.092655972558603, 41.692833425424638 ], [ -101.092496637880288, 41.692872483774181 ], [ -101.092335544597617, 41.692907254431297 ], [ -101.092172898029077, 41.692937693079259 ], [ -101.092008905473833, 41.692963760922552 ], [ -101.091843775947368, 41.692985424736435 ], [ -101.091677719914998, 41.693002656909293 ], [ -101.091510949023501, 41.693015435477861 ], [ -101.091343675831197, 41.69302374415517 ], [ -101.09117611353696, 41.693027572351383 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 729, "AREA": 5250033.07, "PERIMETER": 8122.856, "ACRES": 120.524, "HECTARES": 48.775 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.093373895150492, 41.666682720015125 ], [ -101.093205882274361, 41.666682077016581 ], [ -101.093038005700407, 41.666676962986571 ], [ -101.092870476986292, 41.666667384369802 ], [ -101.09270350725113, 41.666653353237152 ], [ -101.092537306909236, 41.666634887270611 ], [ -101.092372085404875, 41.666612009740838 ], [ -101.092208050948187, 41.666584749477927 ], [ -101.092045410252695, 41.666553140834992 ], [ -101.091884368274648, 41.666517223644874 ], [ -101.09172512795466, 41.666477043169976 ], [ -101.091567889961865, 41.666432650045088 ], [ -101.091412852440897, 41.666384100213648 ], [ -101.091260210762144, 41.666331454857136 ], [ -101.091110157275438, 41.666274780318041 ], [ -101.090962881067554, 41.666214148016103 ], [ -101.090818567723915, 41.666149634358312 ], [ -101.090677399094616, 41.666081320642647 ], [ -101.090539553065241, 41.666009292955522 ], [ -101.090405203332665, 41.665933642063194 ], [ -101.090274519186067, 41.665854463297528 ], [ -101.090147665293642, 41.665771856435626 ], [ -101.090024801495105, 41.665685925574117 ], [ -101.08990608260018, 41.665596778998001 ], [ -101.089791658193633, 41.665504529044028 ], [ -101.089681672446716, 41.665409291959136 ], [ -101.08957626393557, 41.665311187753971 ], [ -101.0894755654666, 41.665210340051516 ], [ -101.089379703909245, 41.665106875931379 ], [ -101.089288800036115, 41.665000925769426 ], [ -101.089202968370941, 41.664892623073726 ], [ -101.089122317044229, 41.664782104315954 ], [ -101.089046947657266, 41.664669508759673 ], [ -101.088976955154038, 41.664554978284578 ], [ -101.088912427701842, 41.664438657207839 ], [ -101.088853446580217, 41.664320692102102 ], [ -101.088800086078663, 41.664201231610839 ], [ -101.088752413403242, 41.664080426260995 ], [ -101.088710488591957, 41.663958428273261 ], [ -101.088674364439299, 41.663835391370256 ], [ -101.088644086429852, 41.663711470582832 ], [ -101.088619692681149, 41.66358682205464 ], [ -101.088601213895842, 41.663461602845494 ], [ -101.08858867332313, 41.663335970733328 ], [ -101.088582086729673, 41.663210084015397 ], [ -101.088581462379864, 41.663084101308947 ], [ -101.088586801025656, 41.662958181351193 ], [ -101.088598095905709, 41.662832482799381 ], [ -101.088615332754159, 41.662707164030877 ], [ -101.088638489818706, 41.662582382943675 ], [ -101.088667537888213, 41.662458296757336 ], [ -101.088702440329698, 41.662335061815057 ], [ -101.088743153134644, 41.662212833386548 ], [ -101.088789624974595, 41.662091765472589 ], [ -101.088841797266014, 41.661972010610896 ], [ -101.088899604244205, 41.66185371968394 ], [ -101.088962973046364, 41.661737041729033 ], [ -101.089031823803481, 41.661622123750398 ], [ -101.089106069741121, 41.661509110534105 ], [ -101.089185617288848, 41.661398144465714 ], [ -101.089270366198321, 41.661289365350754 ], [ -101.089360209669522, 41.661182910238814 ], [ -101.089455034485582, 41.661078913250833 ], [ -101.089554721155466, 41.660977505410145 ], [ -101.089659144064541, 41.66087881447752 ], [ -101.089768171632926, 41.660782964790158 ], [ -101.089881666481347, 41.660690077105194 ], [ -101.089999485604238, 41.66060026844751 ], [ -101.090121480549925, 41.660513651962411 ], [ -101.090247497607749, 41.660430336773118 ], [ -101.090377378001619, 41.660350427843298 ], [ -101.090510958090164, 41.660274025844963 ], [ -101.090648069572794, 41.660201227031557 ], [ -101.090788539701748, 41.660132123116888 ], [ -101.090932191499718, 41.660066801159495 ], [ -101.0910788439827, 41.660005343453122 ], [ -101.09122831238804, 41.659947827422997 ], [ -101.09138040840709, 41.659894325528406 ], [ -101.091534940422378, 41.659844905171404 ], [ -101.091691713748943, 41.659799628611971 ], [ -101.091850530879469, 41.659758552889542 ], [ -101.092011191733121, 41.65972172975129 ], [ -101.092173493907367, 41.659689205586844 ], [ -101.092337232933005, 41.659661021370006 ], [ -101.092502202531477, 41.659637212607024 ], [ -101.092668194874804, 41.659617809291987 ], [ -101.092835000847117, 41.659602835868974 ], [ -101.093002410308102, 41.659592311201358 ], [ -101.093170212357492, 41.65958624854801 ], [ -101.093338195600737, 41.659584655546553 ], [ -101.093506148415102, 41.659587534203858 ], [ -101.093673859216196, 41.659594880893401 ], [ -101.093841116724363, 41.659606686359922 ], [ -101.09400771023067, 41.659622935731043 ], [ -101.094173429862323, 41.659643608535958 ], [ -101.094338066846859, 41.659668678731286 ], [ -101.094501413775092, 41.659698114733786 ], [ -101.094663264862248, 41.65973187946021 ], [ -101.094823416207049, 41.659769930373876 ], [ -101.094981666048611, 41.659812219538381 ], [ -101.095137815020379, 41.65985869367784 ], [ -101.095291666401266, 41.659909294244066 ], [ -101.095443026363398, 41.65996395749022 ], [ -101.095591704216176, 41.660022614551096 ], [ -101.095737512646437, 41.660085191529888 ], [ -101.095880267954414, 41.660151609591196 ], [ -101.096019790285055, 41.660221785060365 ], [ -101.096155903854637, 41.660295629528768 ], [ -101.096288437172063, 41.660373049965187 ], [ -101.096417223255017, 41.660453948832995 ], [ -101.096542099840192, 41.660538224212928 ], [ -101.096662909587849, 41.660625769931535 ], [ -101.096779500279879, 41.660716475694777 ], [ -101.096891725011773, 41.660810227226982 ], [ -101.096999442377594, 41.660906906414802 ], [ -101.097102516648164, 41.661006391455913 ], [ -101.097200817942237, 41.661108557012447 ], [ -101.097294222390062, 41.661213274368883 ], [ -101.097382612289579, 41.661320411594104 ], [ -101.097465876254731, 41.661429833707587 ], [ -101.097543909355991, 41.661541402849501 ], [ -101.097616613252555, 41.661654978454202 ], [ -101.097683896316411, 41.661770417427455 ], [ -101.09774567374788, 41.661887574326528 ], [ -101.097801867682563, 41.662006301543535 ], [ -101.097852407289636, 41.662126449491289 ], [ -101.097897228861143, 41.662247866791738 ], [ -101.097936275892522, 41.662370400466777 ], [ -101.097969499153834, 41.662493896130776 ], [ -101.097996856752047, 41.662618198185264 ], [ -101.098018314183903, 41.662743150014833 ], [ -101.0980338443796, 41.662868594184495 ], [ -101.098043427737124, 41.662994372638025 ], [ -101.098047052146953, 41.663120326897143 ], [ -101.098044713007667, 41.663246298261043 ], [ -101.098036413231824, 41.6633721280066 ], [ -101.098022163242518, 41.663497657588117 ], [ -101.098001980960348, 41.663622728837197 ], [ -101.097975891781076, 41.663747184162119 ], [ -101.097943928543785, 41.663870866746244 ], [ -101.097906131489623, 41.663993620745806 ], [ -101.097862548211367, 41.664115291486212 ], [ -101.097813233593456, 41.66423572565688 ], [ -101.097758249743151, 41.66435477150462 ], [ -101.097697665912349, 41.664472279024722 ], [ -101.097631558410413, 41.664588100150098 ], [ -101.097560010508246, 41.66470208893778 ], [ -101.097483112333478, 41.664814101753024 ], [ -101.097400960756929, 41.664923997450209 ], [ -101.097313659270768, 41.665031637550683 ], [ -101.097221317858114, 41.665136886417464 ], [ -101.097124052854639, 41.665239611426102 ], [ -101.09702198680192, 41.665339683131826 ], [ -101.096915248293243, 41.665436975432755 ], [ -101.096803971811482, 41.665531365728803 ], [ -101.096688297559808, 41.665622735076298 ], [ -101.096568371285002, 41.66571096833782 ], [ -101.096444344093754, 41.665795954327329 ], [ -101.096316372262436, 41.665877585950454 ], [ -101.096184617040009, 41.665955760339386 ], [ -101.096049244444913, 41.666030378982519 ], [ -101.095910425055834, 41.666101347848794 ], [ -101.095768333796698, 41.666168577506077 ], [ -101.095623149716275, 41.666231983233956 ], [ -101.09547505576235, 41.666291485130643 ], [ -101.095324238551328, 41.666347008213542 ], [ -101.095170888132841, 41.666398482513863 ], [ -101.095015197750271, 41.666445843164873 ], [ -101.094857363597058, 41.666489030483589 ], [ -101.094697584569502, 41.666527990046141 ], [ -101.094536062015905, 41.6665626727562 ], [ -101.094372999482772, 41.666593034907073 ], [ -101.094208602458238, 41.666619038236703 ], [ -101.094043078112932, 41.666640649975939 ], [ -101.093876635038811, 41.66665784288984 ], [ -101.093709482986185, 41.666670595312013 ], [ -101.093541832599229, 41.666678891171912 ], [ -101.093373895150492, 41.666682720015125 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 730, "AREA": 5555421.276, "PERIMETER": 8355.751, "ACRES": 127.535, "HECTARES": 51.612 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.053446719493977, 41.713052995259162 ], [ -101.053276648430568, 41.713052323701795 ], [ -101.053106712269866, 41.713047204970984 ], [ -101.052937118087783, 41.713037645304148 ], [ -101.05276807254333, 41.713023656350167 ], [ -101.052599781626611, 41.713005255155295 ], [ -101.052432450407778, 41.7129824641422 ], [ -101.052266282786888, 41.712955311082794 ], [ -101.052101481245444, 41.712923829064273 ], [ -101.051938246599462, 41.712888056448811 ], [ -101.051776777754739, 41.71284803682677 ], [ -101.051617271464266, 41.7128038189636 ], [ -101.051459922088483, 41.71275545674041 ], [ -101.051304921358295, 41.712703009088123 ], [ -101.051152458141374, 41.712646539915866 ], [ -101.051002718211905, 41.71258611803286 ], [ -101.05085588402423, 41.712521817064648 ], [ -101.05071213449034, 41.712453715363317 ], [ -101.050571644761916, 41.712381895911967 ], [ -101.050434586016848, 41.712306446223572 ], [ -101.05030112525057, 41.71222745823426 ], [ -101.050171425072548, 41.712145028191294 ], [ -101.050045643508199, 41.712059256535738 ], [ -101.049923933806255, 41.711970247780016 ], [ -101.049806444252113, 41.711878110380482 ], [ -101.049693317987092, 41.711782956605269 ], [ -101.049584692834102, 41.711684902397408 ], [ -101.049480701129696, 41.711584067233588 ], [ -101.049381469562931, 41.711480573978378 ], [ -101.049287119020988, 41.711374548734625 ], [ -101.049197764442027, 41.711266120689679 ], [ -101.049113514675142, 41.711155421957983 ], [ -101.049034472347898, 41.711042587419954 ], [ -101.048960733741282, 41.710927754557744 ], [ -101.04889238867257, 41.710811063287636 ], [ -101.048829520386022, 41.710692655789472 ], [ -101.048772205451499, 41.710572676333378 ], [ -101.04872051367137, 41.710451271104063 ], [ -101.048674507995571, 41.710328588022584 ], [ -101.04863424444504, 41.710204776566073 ], [ -101.048599772043616, 41.710079987585701 ], [ -101.048571132758468, 41.709954373122727 ], [ -101.048548361449164, 41.709828086223347 ], [ -101.048531485825265, 41.709701280752057 ], [ -101.048520526412773, 41.709574111204368 ], [ -101.048515496529376, 41.709446732518487 ], [ -101.048516402268206, 41.709319299886445 ], [ -101.048523242490802, 41.709191968565143 ], [ -101.048536008828478, 41.70906489368717 ], [ -101.048554685692821, 41.708938230071709 ], [ -101.048579250294793, 41.708812132036087 ], [ -101.04860967267264, 41.708686753207651 ], [ -101.048645915728642, 41.708562246336605 ], [ -101.048687935274359, 41.708438763110017 ], [ -101.048735680084718, 41.708316453967022 ], [ -101.048789091960558, 41.70819546791553 ], [ -101.048848105799621, 41.708075952350647 ], [ -101.048912649676069, 41.707958052875306 ], [ -101.048982644928188, 41.70784191312277 ], [ -101.049058006254427, 41.707727674581783 ], [ -101.049138641817351, 41.707615476424124 ], [ -101.049224453355663, 41.70750545533518 ], [ -101.049315336304076, 41.707397745347443 ], [ -101.049411179920696, 41.707292477677299 ], [ -101.049511867422069, 41.707189780565137 ], [ -101.049617276125517, 41.707089779119272 ], [ -101.049727277598663, 41.706992595163449 ], [ -101.049841737815967, 41.706898347088668 ], [ -101.049960517321978, 41.70680714970878 ], [ -101.050083471401322, 41.706719114120872 ], [ -101.050210450254994, 41.706634347569825 ], [ -101.050341299182833, 41.706552953317797 ], [ -101.050475858772032, 41.706475030518469 ], [ -101.050613965091301, 41.70640067409623 ], [ -101.050755449890502, 41.706329974630734 ], [ -101.05090014080568, 41.706263018246439 ], [ -101.051047861568918, 41.706199886507825 ], [ -101.051198432223032, 41.706140656320088 ], [ -101.051351669340789, 41.706085399835487 ], [ -101.051507386248161, 41.706034184365429 ], [ -101.051665393251795, 41.705987072298548 ], [ -101.051825497869956, 41.705944121024764 ], [ -101.051987505066862, 41.705905382865438 ], [ -101.052151217490234, 41.705870905009519 ], [ -101.052316435711575, 41.705840729456284 ], [ -101.052482958469028, 41.705814892963978 ], [ -101.052650582912378, 41.705793427005354 ], [ -101.052819104850073, 41.705776357729007 ], [ -101.052988318997862, 41.705763705927843 ], [ -101.053158019228661, 41.705755487013555 ], [ -101.05332799882359, 41.705751710997959 ], [ -101.053498050723675, 41.70575238248081 ], [ -101.053667967781834, 41.705757500644125 ], [ -101.053837543015206, 41.705767059253262 ], [ -101.054006569857108, 41.705781046664441 ], [ -101.054174842408528, 41.705799445838977 ], [ -101.054342155688801, 41.705822234364014 ], [ -101.054508305885278, 41.705849384479784 ], [ -101.054673090601341, 41.705880863113414 ], [ -101.054836309102924, 41.705916631919237 ], [ -101.054997762562934, 41.705956647325436 ], [ -101.055157254303268, 41.706000860587096 ], [ -101.055314590034428, 41.706049217845575 ], [ -101.055469578091945, 41.706101660194058 ], [ -101.055622029669905, 41.706158123749354 ], [ -101.055771759050813, 41.706218539729512 ], [ -101.055918583831755, 41.706282834537802 ], [ -101.056062325146527, 41.706350929852121 ], [ -101.056202807883508, 41.706422742720513 ], [ -101.056339860898859, 41.706498185662056 ], [ -101.056473317225098, 41.706577166773492 ], [ -101.056603014274359, 41.706659589841074 ], [ -101.056728794036474, 41.706745354457709 ], [ -101.056850503271463, 41.706834356145293 ], [ -101.056967993696233, 41.706926486481876 ], [ -101.057081122165229, 41.707021633233772 ], [ -101.057189750844799, 41.707119680492113 ], [ -101.057293747381209, 41.707220508814132 ], [ -101.057392985061853, 41.707323995368526 ], [ -101.057487342969765, 41.707430014085141 ], [ -101.057576706130902, 41.707538435808402 ], [ -101.05766096565435, 41.707649128454705 ], [ -101.057740018865033, 41.707761957173219 ], [ -101.057813769428932, 41.707876784510169 ], [ -101.057882127470492, 41.707993470576206 ], [ -101.057945009682285, 41.708111873216879 ], [ -101.058002339426579, 41.708231848185605 ], [ -101.058054046828872, 41.708353249319664 ], [ -101.058100068863126, 41.708475928717903 ], [ -101.058140349428669, 41.708599736921094 ], [ -101.058174839418811, 41.708724523093949 ], [ -101.058203496780649, 41.708850135208905 ], [ -101.058226286566594, 41.708976420231238 ], [ -101.058243180977044, 41.709103224305501 ], [ -101.058254159394451, 41.709230392943027 ], [ -101.0582592084086, 41.709357771210072 ], [ -101.058258321833065, 41.709485203916635 ], [ -101.058251500713041, 41.709612535805419 ], [ -101.058238753324062, 41.709739611741128 ], [ -101.058220095162284, 41.709866276899369 ], [ -101.05819554892561, 41.709992376955341 ], [ -101.05816514448631, 41.710117758271828 ], [ -101.058128918854734, 41.710242268086525 ], [ -101.0580869161344, 41.710365754697982 ], [ -101.05803918746841, 41.710488067650608 ], [ -101.057985790977298, 41.710609057917949 ], [ -101.057926791688374, 41.710728578084343 ], [ -101.057862261456563, 41.710846482524403 ], [ -101.057792278877116, 41.710962627580699 ], [ -101.057716929189823, 41.711076871738712 ], [ -101.05763630417546, 41.711189075799204 ], [ -101.057550502043881, 41.71129910304807 ], [ -101.057459627314586, 41.711406819422812 ], [ -101.057363790689408, 41.711512093675921 ], [ -101.057263108917752, 41.711614797534935 ], [ -101.057157704654358, 41.711714805858676 ], [ -101.057047706309973, 41.711811996789862 ], [ -101.056933247894918, 41.711906251903571 ], [ -101.056814468855848, 41.71199745635159 ], [ -101.056691513905861, 41.712085499002448 ], [ -101.056564532848213, 41.712170272576834 ], [ -101.056433680393795, 41.712251673778347 ], [ -101.056299115972593, 41.712329603419505 ], [ -101.056161003539458, 41.712403966542553 ], [ -101.056019511374288, 41.712474672535194 ], [ -101.055874811876933, 41.71254163524118 ], [ -101.055727081357119, 41.712604773065188 ], [ -101.055576499819566, 41.712664009072419 ], [ -101.055423250744553, 41.712719271082278 ], [ -101.055267520864305, 41.712770491756402 ], [ -101.05510949993544, 41.712817608680808 ], [ -101.054949380507495, 41.712860564441932 ], [ -101.05478735768844, 41.712899306696528 ], [ -101.054623628906626, 41.712933788235695 ], [ -101.054458393670245, 41.712963967042256 ], [ -101.054291853324088, 41.712989806342044 ], [ -101.054124210804034, 41.713011274648693 ], [ -101.053955670389698, 41.71302834580213 ], [ -101.053786437455372, 41.713040999000299 ], [ -101.053616718219644, 41.713049218824736 ], [ -101.053446719493977, 41.713052995259162 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 759, "AREA": 5628503.107, "PERIMETER": 8410.962, "ACRES": 129.213, "HECTARES": 52.291 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.02986150942003, 41.753320763387563 ], [ -101.029618736775561, 41.753318431460016 ], [ -101.029376415257985, 41.753307111572269 ], [ -101.029135137968922, 41.753286831430636 ], [ -101.0288954954529, 41.753257640672238 ], [ -101.028658074251169, 41.753219610743585 ], [ -101.028423455465443, 41.753172834725504 ], [ -101.02819221333489, 41.753117427105281 ], [ -101.027964913830047, 41.753053523496206 ], [ -101.027742113266996, 41.752981280305683 ], [ -101.027524356945193, 41.752900874352044 ], [ -101.027312177812405, 41.752812502431638 ], [ -101.027106095159809, 41.752716380837029 ], [ -101.026906613350775, 41.752612744827267 ], [ -101.026714220586101, 41.752501848051921 ], [ -101.026529387708976, 41.752383961929972 ], [ -101.026352567052498, 41.75225937498525 ], [ -101.02618419133259, 41.752128392140079 ], [ -101.026024672589017, 41.751991333968618 ], [ -101.025874401177035, 41.75184853591206 ], [ -101.025733744812371, 41.751700347457387 ], [ -101.025603047671453, 41.751547131281775 ], [ -101.025482629549629, 41.751389262364597 ], [ -101.025372785078858, 41.751227127069669 ], [ -101.025273783007265, 41.75106112219926 ], [ -101.025185865542056, 41.750891654022801 ], [ -101.025109247757442, 41.750719137282502 ], [ -101.025044117069058, 41.750543994178003 ], [ -101.024990632776081, 41.750366653333082 ], [ -101.024948925672291, 41.75018754874651 ], [ -101.024919097726837, 41.750007118729819 ], [ -101.024901221835705, 41.749825804834586 ], [ -101.024895341644239, 41.749644050771778 ], [ -101.024901471441297, 41.749462301325806 ], [ -101.024919596125301, 41.749281001266191 ], [ -101.024949671242197, 41.749100594258984 ], [ -101.024991623095175, 41.748921521781199 ], [ -101.025045348926, 41.748744222040585 ], [ -101.025110717167394, 41.748569128903192 ], [ -101.025187567765926, 41.74839667083198 ], [ -101.025275712574498, 41.748227269838416 ], [ -101.025374935813559, 41.74806134044988 ], [ -101.025484994599992, 41.747899288695649 ], [ -101.025605619541921, 41.747741511113439 ], [ -101.025736515398776, 41.747588393779317 ], [ -101.025877361804163, 41.747440311363249 ], [ -101.026027814050309, 41.747297626212536 ], [ -101.026187503931908, 41.747160687465453 ], [ -101.026356040647471, 41.747029830197135 ], [ -101.026533011755774, 41.746905374600097 ], [ -101.026717984185197, 41.746787625200838 ], [ -101.0269105052935, 41.746676870115124 ], [ -101.027110103975289, 41.746573380343264 ], [ -101.027316291814742, 41.746477409107207 ], [ -101.027528564280402, 41.746389191231316 ], [ -101.027746401959419, 41.746308942567843 ], [ -101.027969271828184, 41.746236859469292 ], [ -101.028196628556032, 41.746173118307951 ], [ -101.028427915839188, 41.746117875044682 ], [ -101.028662567761288, 41.746071264847444 ], [ -101.028900010177509, 41.746033401760762 ], [ -101.029139662118766, 41.746004378426797 ], [ -101.029380937212494, 41.745984265858766 ], [ -101.029623245116696, 41.745973113267269 ], [ -101.029865992963565, 41.745970947940087 ], [ -101.03010858680949, 41.745977775175191 ], [ -101.030350433087435, 41.745993578267985 ], [ -101.030590940058559, 41.746018318552146 ], [ -101.030829519259285, 41.746051935494044 ], [ -101.031065586940471, 41.746094346840955 ], [ -101.031298565494993, 41.746145448822062 ], [ -101.031527884870385, 41.746205116402379 ], [ -101.03175298396296, 41.746273203588366 ], [ -101.031973311990214, 41.746349543785186 ], [ -101.032188329837993, 41.746433950203922 ], [ -101.032397511379074, 41.746526216318536 ], [ -101.032600344760155, 41.746626116370997 ], [ -101.032796333654019, 41.746733405923251 ], [ -101.032984998473651, 41.746847822455287 ], [ -101.033165877545628, 41.746969086007084 ], [ -101.03333852823971, 41.747096899863443 ], [ -101.033502528051883, 41.747230951279619 ], [ -101.033657475638279, 41.74737091224646 ], [ -101.033802991797515, 41.7475164402926 ], [ -101.033938720398694, 41.747667179322242 ], [ -101.034064329253326, 41.74782276048623 ], [ -101.034179510928539, 41.747982803084348 ], [ -101.034283983499918, 41.748146915496669 ], [ -101.034377491241955, 41.748314696141506 ], [ -101.034459805254457, 41.748485734457994 ], [ -101.03453072402344, 41.748659611910433 ], [ -101.03459007391497, 41.748835903012377 ], [ -101.034637709600943, 41.749014176367631 ], [ -101.034673514415573, 41.749193995725712 ], [ -101.034697400641832, 41.749374921049352 ], [ -101.034709309727035, 41.749556509591351 ], [ -101.034709212427046, 41.749738316977663 ], [ -101.034697108878916, 41.749919898295182 ], [ -101.034673028601532, 41.750100809180225 ], [ -101.034637030424278, 41.750280606906259 ], [ -101.034589202344094, 41.750458851467179 ], [ -101.034529661311083, 41.750635106654258 ], [ -101.034458552943249, 41.750808941123822 ], [ -101.034376051170938, 41.750979929452981 ], [ -101.034282357812089, 41.751147653180794 ], [ -101.034177702079077, 41.751311701832734 ], [ -101.034062340018508, 41.751471673925217 ], [ -101.033936553885269, 41.751627177948656 ], [ -101.033800651452282, 41.75177783332564 ], [ -101.03365496525781, 41.751923271342662 ], [ -101.033499851792129, 41.752063136052797 ], [ -101.033335690625293, 41.752197085147046 ], [ -101.033162883478568, 41.752324790792429 ], [ -101.032981853241267, 41.752445940434605 ], [ -101.032793042936092, 41.752560237563124 ], [ -101.032596914634624, 41.752667402437325 ], [ -101.032393948326543, 41.752767172771364 ], [ -101.032184640744617, 41.752859304376344 ], [ -101.031969504148734, 41.75294357175828 ], [ -101.031749065071807, 41.753019768670157 ], [ -101.031523863030799, 41.753087708617038 ], [ -101.031294449205674, 41.753147225312667 ], [ -101.031061385089899, 41.753198173086709 ], [ -101.03082524111565, 41.75324042724138 ], [ -101.030586595256949, 41.753273884356865 ], [ -101.0303460316144, 41.753298462544471 ], [ -101.030104138984981, 41.753314101647341 ], [ -101.02986150942003, 41.753320763387563 ] ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 760, "AREA": 5453408.859, "PERIMETER": 8279.116, "ACRES": 125.193, "HECTARES": 50.664 }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.016621281545525, 41.751606983733346 ], [ -101.016380425397784, 41.751604607113471 ], [ -101.016140026919231, 41.751593242642009 ], [ -101.015900683877803, 41.751572918577466 ], [ -101.015662991415752, 41.75154368545693 ], [ -101.015427540569007, 41.751505615970402 ], [ -101.015194916796801, 41.751458804779809 ], [ -101.014965698525245, 41.751403368283711 ], [ -101.01474045570842, 41.751339444327542 ], [ -101.014519748410535, 41.75126719186084 ], [ -101.014304125412821, 41.751186790541702 ], [ -101.014094122848434, 41.751098440290036 ], [ -101.013890262868998, 41.751002360789911 ], [ -101.0136930523459, 41.750898790943502 ], [ -101.013502981609747, 41.750787988276457 ], [ -101.013320523230945, 41.750670228297523 ], [ -101.013146130844518, 41.750545803813012 ], [ -101.012980238022308, 41.750415024198745 ], [ -101.012823257194853, 41.750278214630342 ], [ -101.012675578626101, 41.750135715274467 ], [ -101.012537569443381, 41.749987880442745 ], [ -101.012409572724806, 41.749835077710564 ], [ -101.012291906646752, 41.749677687002823 ], [ -101.012184863693221, 41.749516099649121 ], [ -101.012088709929188, 41.749350717410493 ], [ -101.012003684339746, 41.74918195148031 ], [ -101.011929998236624, 41.749010221461646 ], [ -101.011867834733607, 41.748835954323887 ], [ -101.011817348292027, 41.748659583341031 ], [ -101.011778664337683, 41.748481547014286 ], [ -101.011751878949894, 41.748302287981687 ], [ -101.011737058623567, 41.74812225191765 ], [ -101.011734240104872, 41.747941886424719 ], [ -101.011743430300854, 41.747761639920789 ], [ -101.011764606263284, 41.747581960524229 ], [ -101.011797715246658, 41.7474032949399 ], [ -101.011842674840366, 41.747226087348501 ], [ -101.011899373174515, 41.747050778302516 ], [ -101.011967669198938, 41.746877803630937 ], [ -101.012047393034862, 41.746707593355985 ], [ -101.012138346397975, 41.746540570624127 ], [ -101.012240303092213, 41.746377150654375 ], [ -101.012353009572848, 41.746217739706168 ], [ -101.012476185577484, 41.746062734069717 ], [ -101.012609524823347, 41.745912519080996 ], [ -101.012752695769251, 41.745767468164075 ], [ -101.012905342440291, 41.745627941903059 ], [ -101.013067085313054, 41.745494287146016 ], [ -101.013237522259445, 41.745366836142971 ], [ -101.013416229546536, 41.74524590572026 ], [ -101.01360276288996, 41.745131796493204 ], [ -101.013796658558448, 41.745024792119175 ], [ -101.01399743452653, 41.744925158592601 ], [ -101.014204591672595, 41.744833143584096 ], [ -101.014417615019383, 41.744748975825068 ], [ -101.014635975013903, 41.744672864539375 ], [ -101.014859128843355, 41.744604998923343 ], [ -101.015086521784028, 41.744545547675898 ], [ -101.015317588579691, 41.744494658579171 ], [ -101.015551754846186, 41.744452458131498 ], [ -101.015788438498546, 41.744419051233052 ], [ -101.016027051197284, 41.744394520925191 ], [ -101.016266999810185, 41.744378928184155 ], [ -101.016507687885905, 41.744372311769617 ], [ -101.016748517135966, 41.744374688128303 ], [ -101.016988888921134, 41.744386051353217 ], [ -101.017228205738675, 41.744406373198188 ], [ -101.017465872707007, 41.744435603148197 ], [ -101.01770129904358, 41.744473668544806 ], [ -101.017933899532736, 41.744520474766688 ], [ -101.018163095979759, 41.744575905464657 ], [ -101.018388318647467, 41.744639822850928 ], [ -101.018609007671927, 41.74471206804126 ], [ -101.018824614453507, 41.74479246144984 ], [ -101.019034603020188, 41.744880803235475 ], [ -101.019238451359499, 41.744976873798095 ], [ -101.0194356527157, 41.745080434324422 ], [ -101.019625716849319, 41.74519122738144 ], [ -101.01980817125559, 41.745308977555943 ], [ -101.019982562338896, 41.74543339213897 ], [ -101.020148456540397, 41.745564161853139 ], [ -101.020305441415843, 41.745700961621274 ], [ -101.020453126661053, 41.74584345137405 ], [ -101.020591145082349, 41.745991276895332 ], [ -101.020719153509802, 41.746144070702229 ], [ -101.020836833650634, 41.746301452958541 ], [ -101.020943892881121, 41.746463032418667 ], [ -101.021040064974514, 41.746628407400024 ], [ -101.021125110763535, 41.746797166781406 ], [ -101.021198818735726, 41.746968891024792 ], [ -101.021261005559936, 41.747143153218161 ], [ -101.021311516543079, 41.747319520136685 ], [ -101.021350226015429, 41.747497553319583 ], [ -101.021377037644072, 41.747676810159994 ], [ -101.021391884673307, 41.747856845005337 ], [ -101.021394730091544, 41.748037210265188 ], [ -101.021385566724462, 41.748217457523957 ], [ -101.021364417253608, 41.74839713865574 ], [ -101.021331334161204, 41.748575806938483 ], [ -101.021286399600555, 41.748753018164599 ], [ -101.021229725192782, 41.74892833174556 ], [ -101.021161451750217, 41.749101311807237 ], [ -101.021081748927216, 41.749271528273901 ], [ -101.020990814799291, 41.749438557937509 ], [ -101.020888875371313, 41.749601985510182 ], [ -101.020776184016384, 41.74976140465688 ], [ -101.020653020846609, 41.749916419005928 ], [ -101.020519692017217, 41.75006664313478 ], [ -101.020376528965841, 41.750211703528542 ], [ -101.020223887588926, 41.75035123950888 ], [ -101.02006214735728, 41.750484904131163 ], [ -101.019891710372747, 41.750612365047324 ], [ -101.01971300036864, 41.750733305332439 ], [ -101.019526461656312, 41.750847424273239 ], [ -101.019332558020395, 41.750954438115841 ], [ -101.019131771565554, 41.751054080771638 ], [ -101.018924601517639, 41.751146104479297 ], [ -101.018711562982091, 41.75123028042097 ], [ -101.018493185662876, 41.751306399291529 ], [ -101.018270012544974, 41.751374271819181 ], [ -101.018042598543815, 41.751433729236368 ], [ -101.017811509124883, 41.751484623699596 ], [ -101.017577318897239, 41.751526828657212 ], [ -101.017340610183936, 41.751560239164242 ], [ -101.017101971573553, 41.751584772143467 ], [ -101.016861996455845, 41.751600366592022 ], [ -101.016621281545525, 41.751606983733346 ] ] ] ] } } +] +} diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.003_41.774.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.003_41.774.tif new file mode 100644 index 00000000..fa3742d9 Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.003_41.774.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.691.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.691.tif new file mode 100644 index 00000000..75a7fbd4 Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.691.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.732.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.732.tif new file mode 100644 index 00000000..7a8b0f12 Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.732.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.774.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.774.tif new file mode 100644 index 00000000..a6d3bc9e Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.774.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.691.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.691.tif new file mode 100644 index 00000000..ce461694 Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.691.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.732.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.732.tif new file mode 100644 index 00000000..9b8c2fe1 Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.732.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.774.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.774.tif new file mode 100644 index 00000000..41e84e29 Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.774.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.691.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.691.tif new file mode 100644 index 00000000..f9bcefb2 Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.691.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.732.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.732.tif new file mode 100644 index 00000000..8def1a5c Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.732.tif differ diff --git a/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.774.tif b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.774.tif new file mode 100644 index 00000000..033d472b Binary files /dev/null and b/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.774.tif differ diff --git a/solaris/data/restrict_aoi_test.geojson b/solaris/data/restrict_aoi_test.geojson new file mode 100644 index 00000000..a8adb683 --- /dev/null +++ b/solaris/data/restrict_aoi_test.geojson @@ -0,0 +1,8 @@ +{ +"type": "FeatureCollection", +"name": "restrict_aoi_test", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "id": null }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -101.122733978747405, 41.737200029527671 ], [ -101.064449359873706, 41.767397042817478 ], [ -101.002339286354697, 41.751349690809022 ], [ -101.047567608320904, 41.677423309487807 ], [ -101.096527512847558, 41.649695858211281 ], [ -101.125247881319964, 41.674698280229421 ], [ -101.126670019207381, 41.707062031182794 ], [ -101.122733978747405, 41.737200029527671 ] ] ] ] } } +] +} diff --git a/solaris/data/split_multi_grouped_result.json b/solaris/data/split_multi_grouped_result.json index b533d49a..c33a7d7a 100644 --- a/solaris/data/split_multi_grouped_result.json +++ b/solaris/data/split_multi_grouped_result.json @@ -1 +1,16 @@ -{"type": "FeatureCollection", "features": [{"id": "0", "type": "Feature", "properties": {"field_1": 1, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8086", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "137.5869833444336", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[742959.5157261142, 3739469.858595584], [742964.2412947685, 3739469.934550551], [742964.2835617226, 3739467.18306186], [742968.7404872194, 3739467.252177057], [742968.7827553968, 3739464.50068832], [742970.1818431471, 3739464.5252224], [742970.3714329029, 3739451.621851874], [742963.6070103869, 3739451.527265817], [742963.4608848467, 3739461.268512606], [742959.6434285438, 3739461.204586885], [742959.5157261142, 3739469.858595584]]]}}, {"id": "1", "type": "Feature", "properties": {"field_1": 2, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8229", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "232.75674536334253", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[743020.5285401859, 3739472.034202539], [743027.7523358399, 3739473.017358276], [743027.9560968133, 3739471.568572332], [743030.4316793848, 3739471.909114651], [743031.0890603127, 3739467.208761358], [743031.6330556386, 3739464.048288816], [743033.5432770674, 3739464.385528093], [743035.4323498101, 3739453.545475867], [743022.4840836683, 3739451.306581199], [743020.9414738066, 3739460.1909273], [743022.0743392245, 3739460.841333462], [743020.5285401859, 3739472.034202539]]]}}, {"id": "2", "type": "Feature", "properties": {"field_1": 3, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8228", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "115.83593626400437", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[743003.1399996518, 3739467.617796136], [743015.3542409713, 3739467.740245839], [743015.3977939934, 3739462.391609387], [743017.5941185456, 3739462.414260812], [743017.6373293742, 3739457.442983567], [743011.2706792641, 3739457.380694342], [743011.2414975561, 3739460.709668207], [743005.2546582168, 3739460.657057802], [743005.2795396517, 3739457.860729276], [743003.231432164, 3739457.841856197], [743003.1399996518, 3739467.617796136]]]}}, {"id": "3", "type": "Feature", "properties": {"field_1": 4, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7812", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "1117.803722432596", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[742737.216587933, 3739529.428720969], [742737.2726519796, 3739527.953976202], [742741.2542792484, 3739528.121883995], [742741.9995199341, 3739510.127116858], [742744.0181279983, 3739510.211778471], [742744.1330298374, 3739507.517637256], [742742.058839861, 3739507.431561362], [742742.5669390478, 3739495.113465066], [742744.3449797556, 3739495.180906138], [742745.0815230057, 3739477.163720175], [742722.4685948562, 3739476.244281095], [742720.3770908483, 3739527.479686408], [742728.5166346187, 3739527.808876015], [742728.4659341584, 3739529.072875594], [742737.216587933, 3739529.428720969]]]}}, {"id": "4", "type": "Feature", "properties": {"field_1": 5, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120819", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "868.6465770175508", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[742779.0589662758, 3739517.785098479], [742785.7264630584, 3739518.043576586], [742785.7797116076, 3739516.679750225], [742787.9002177101, 3739516.767014552], [742788.018007018, 3739513.595687717], [742789.4963797061, 3739512.689894631], [742794.7850222825, 3739512.85779129], [742794.7384953512, 3739514.321680113], [742800.8142568704, 3739514.520712196], [742800.8579616819, 3739513.167741883], [742804.8404431387, 3739513.302400339], [742806.719179487, 3739511.962838294], [742809.5193322457, 3739513.754459812], [742810.8216116317, 3739515.39696687], [742810.8425385487, 3739518.216655498], [742815.6076734723, 3739518.193654652], [742817.1555002977, 3739514.559269692], [742818.4727785089, 3739513.427399684], [742820.7698578427, 3739513.496967576], [742821.0155526869, 3739505.30103076], [742818.8296341306, 3739505.234292389], [742818.9082965751, 3739502.872199133], [742817.049548522, 3739503.79050431], [742814.6007570606, 3739498.755805385], [742814.9873573856, 3739494.492515358], [742817.0303021728, 3739493.257025897], [742819.6744798073, 3739492.436405651], [742805.5144255088, 3739491.920608293], [742805.3067322085, 3739497.531435517], [742789.7855063399, 3739496.958818469], [742787.9062348148, 3739496.134058065], [742787.21331656, 3739494.95102441], [742788.1948983755, 3739493.533130954], [742788.6153025262, 3739492.311837214], [742788.6233625122, 3739490.902464679], [742775.3039837473, 3739490.86316813], [742776.4324709803, 3739492.778722805], [742776.4256696098, 3739495.231436581], [742779.1062013684, 3739497.352975133], [742778.8313719494, 3739499.41040163], [742777.2480186591, 3739502.255856039], [742776.2833758653, 3739503.008239368], [742773.9964049477, 3739502.905642527], [742773.7390761343, 3739508.282126087], [742779.373780194, 3739510.878410715], [742779.8477320484, 3739514.109192995], [742779.1370028395, 3739515.811456004], [742779.0589662758, 3739517.785098479]]]}}, {"id": "5", "type": "Feature", "properties": {"field_1": 1, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7813", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "446.8580438238858", "origlen": "0", "partialDec": "0.4599659863913662", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[742693.3122179032, 3739539.0], [742694.5911374168, 3739534.692852943], [742701.8596583691, 3739536.831200783], [742703.3902353786, 3739531.686894269], [742687.859493556, 3739527.118546354], [742687.4643547137, 3739528.440377403], [742683.2411743457, 3739527.200840465], [742681.172764875, 3739530.167156974], [742679.1856038158, 3739536.498545914], [742677.5853192207, 3739536.002776217], [742676.6595880231, 3739539.0], [742693.3122179032, 3739539.0]]]}}, {"id": "6", "type": "Feature", "properties": {"field_1": 2, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1"}, "geometry": {"type": "MultiPolygon", "coordinates": [[[[742820.9164519846, 3739539.0], [742819.2061650158, 3739537.419993884], [742819.3015388706, 3739534.037214165], [742810.5031569091, 3739533.735573504], [742810.4563450023, 3739535.210554277], [742808.8447725036, 3739535.158436355], [742808.7962669341, 3739536.699968245], [742807.3359817594, 3739538.716122539], [742806.6252731845, 3739539.0], [742820.9164519846, 3739539.0]]], [[[742784.7538719983, 3739539.0], [742786.5276360018, 3739535.73363368], [742785.0281770587, 3739534.918539529], [742785.0537910719, 3739532.455205162], [742775.2400383659, 3739532.349736623], [742775.1763434813, 3739538.130713525], [742775.8829740167, 3739539.0], [742784.7538719983, 3739539.0]]]]}}, {"id": "7", "type": "Feature", "properties": {"field_1": 3, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122421", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "628.0617074431335", "origlen": "0", "partialDec": "0.6854550148892067", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[743051.0, 3739240.429075356], [743019.7339072112, 3739241.220183459], [743020.0951837152, 3739255.058807612], [743051.0, 3739254.279686034], [743051.0, 3739240.429075356]]]}}, {"id": "8", "type": "Feature", "properties": {"field_1": 4, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122449", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "164.34510745720252", "origlen": "0", "partialDec": "0.3268898818394317", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[743046.4084919207, 3739315.608520228], [743051.0, 3739315.560417519], [743051.0, 3739304.00325697], [743046.2950427994, 3739304.051510714], [743046.4084919207, 3739315.608520228]]]}}, {"id": "9", "type": "Feature", "properties": {"field_1": 6, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "84910", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "67.0691122589702", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[741360.3983888365, 3743875.358136298], [741367.4885894872, 3743871.975018986], [741362.9199707231, 3743862.502813682], [741357.5458472944, 3743865.074794827], [741360.0725632336, 3743870.299843532], [741360.3983888365, 3743875.358136298]]]}}, {"id": "10", "type": "Feature", "properties": {"field_1": 5, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[742820.9164519846, 3739539.0], [742819.2061650158, 3739537.419993884], [742819.3015388706, 3739534.037214165], [742810.5031569091, 3739533.735573504], [742810.4563450023, 3739535.210554277], [742808.8447725036, 3739535.158436355], [742808.7962669341, 3739536.699968245], [742807.3359817594, 3739538.716122539], [742806.6252731845, 3739539.0], [742820.9164519846, 3739539.0]]]}}, {"id": "11", "type": "Feature", "properties": {"field_1": 6, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[742784.7538719983, 3739539.0], [742786.5276360018, 3739535.73363368], [742785.0281770587, 3739534.918539529], [742785.0537910719, 3739532.455205162], [742775.2400383659, 3739532.349736623], [742775.1763434813, 3739538.130713525], [742775.8829740167, 3739539.0], [742784.7538719983, 3739539.0]]]}}]} \ No newline at end of file +{ +"type": "FeatureCollection", +"features": [ +{ "type": "Feature", "properties": { "field_1": 1, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8086", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "137.5869833444336", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742959.515726114157587, 3739469.858595584053546 ], [ 742964.241294768522494, 3739469.934550551231951 ], [ 742964.283561722608283, 3739467.183061860036105 ], [ 742968.740487219416536, 3739467.252177056856453 ], [ 742968.782755396794528, 3739464.500688320025802 ], [ 742970.181843147147447, 3739464.525222400203347 ], [ 742970.371432902873494, 3739451.621851874049753 ], [ 742963.607010386884212, 3739451.527265816926956 ], [ 742963.460884846746922, 3739461.268512606155127 ], [ 742959.643428543815389, 3739461.20458688493818 ], [ 742959.515726114157587, 3739469.858595584053546 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 2, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8229", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "232.75674536334253", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743020.528540185885504, 3739472.034202538896352 ], [ 743027.752335839904845, 3739473.017358276061714 ], [ 743027.956096813315526, 3739471.568572332151234 ], [ 743030.43167938478291, 3739471.909114650916308 ], [ 743031.089060312719084, 3739467.208761358167976 ], [ 743031.633055638638325, 3739464.048288816120476 ], [ 743033.543277067365125, 3739464.385528093203902 ], [ 743035.432349810143933, 3739453.545475867111236 ], [ 743022.484083668328822, 3739451.306581199169159 ], [ 743020.941473806626163, 3739460.190927300136536 ], [ 743022.074339224491268, 3739460.841333461925387 ], [ 743020.528540185885504, 3739472.034202538896352 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 3, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8228", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "115.83593626400437", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743003.139999651815742, 3739467.617796136066318 ], [ 743015.354240971268155, 3739467.740245839115232 ], [ 743015.397793993353844, 3739462.391609387006611 ], [ 743017.594118545646779, 3739462.414260812103748 ], [ 743017.637329374207184, 3739457.442983566783369 ], [ 743011.270679264096543, 3739457.38069434184581 ], [ 743011.241497556096874, 3739460.709668206982315 ], [ 743005.254658216843382, 3739460.657057802192867 ], [ 743005.279539651703089, 3739457.860729276202619 ], [ 743003.231432163971476, 3739457.841856196988374 ], [ 743003.139999651815742, 3739467.617796136066318 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 4, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7812", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "1117.803722432596", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742737.216587933013216, 3739529.428720968775451 ], [ 742737.272651979583316, 3739527.953976201824844 ], [ 742741.254279248416424, 3739528.12188399489969 ], [ 742741.999519934062846, 3739510.127116858027875 ], [ 742744.01812799833715, 3739510.2117784707807 ], [ 742744.133029837394133, 3739507.517637256067246 ], [ 742742.058839860954322, 3739507.43156136199832 ], [ 742742.566939047770575, 3739495.113465066067874 ], [ 742744.344979755580425, 3739495.180906137917191 ], [ 742745.081523005734198, 3739477.163720175158232 ], [ 742722.468594856210984, 3739476.244281094986945 ], [ 742720.377090848283842, 3739527.479686407838017 ], [ 742728.516634618747048, 3739527.808876014780253 ], [ 742728.465934158419259, 3739529.072875593788922 ], [ 742737.216587933013216, 3739529.428720968775451 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 5, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120819", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "868.6465770175508", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742779.058966275770217, 3739517.785098479129374 ], [ 742785.726463058381341, 3739518.043576586060226 ], [ 742785.779711607610807, 3739516.679750225041062 ], [ 742787.900217710062861, 3739516.767014551907778 ], [ 742788.018007018021308, 3739513.595687717199326 ], [ 742789.496379706077278, 3739512.689894631039351 ], [ 742794.785022282507271, 3739512.857791290152818 ], [ 742794.738495351164602, 3739514.321680113207549 ], [ 742800.81425687042065, 3739514.520712195895612 ], [ 742800.857961681904271, 3739513.167741883080453 ], [ 742804.840443138731644, 3739513.302400338929147 ], [ 742806.71917948697228, 3739511.962838293984532 ], [ 742809.519332245690748, 3739513.754459811840206 ], [ 742810.821611631661654, 3739515.396966869942844 ], [ 742810.842538548749872, 3739518.216655497904867 ], [ 742815.607673472259194, 3739518.193654652219266 ], [ 742817.155500297667459, 3739514.559269691817462 ], [ 742818.472778508905321, 3739513.427399684209377 ], [ 742820.769857842708007, 3739513.496967575978488 ], [ 742821.015552686876617, 3739505.301030760165304 ], [ 742818.829634130583145, 3739505.234292388893664 ], [ 742818.90829657507129, 3739502.872199133038521 ], [ 742817.049548521987163, 3739503.790504309814423 ], [ 742814.600757060572505, 3739498.755805384833366 ], [ 742814.987357385572977, 3739494.492515358142555 ], [ 742817.030302172759548, 3739493.257025897037238 ], [ 742819.674479807261378, 3739492.436405650805682 ], [ 742805.514425508794375, 3739491.920608292799443 ], [ 742805.30673220846802, 3739497.531435517128557 ], [ 742789.785506339860149, 3739496.958818469196558 ], [ 742787.906234814785421, 3739496.134058064781129 ], [ 742787.213316560024396, 3739494.951024409849197 ], [ 742788.194898375542834, 3739493.533130954019725 ], [ 742788.615302526159212, 3739492.311837214045227 ], [ 742788.623362512211315, 3739490.902464678976685 ], [ 742775.303983747260645, 3739490.863168130163103 ], [ 742776.432470980333164, 3739492.778722804971039 ], [ 742776.425669609801844, 3739495.231436580885202 ], [ 742779.106201368384063, 3739497.352975132875144 ], [ 742778.831371949403547, 3739499.410401630215347 ], [ 742777.248018659069203, 3739502.255856039002538 ], [ 742776.283375865314156, 3739503.008239367976785 ], [ 742773.996404947713017, 3739502.905642527155578 ], [ 742773.739076134283096, 3739508.282126087229699 ], [ 742779.37378019397147, 3739510.878410715144128 ], [ 742779.847732048365287, 3739514.109192994888872 ], [ 742779.137002839474007, 3739515.811456004157662 ], [ 742779.058966275770217, 3739517.785098479129374 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 1, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7813", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "446.8580438238858", "origlen": "0", "partialDec": "0.4599659863913662", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742693.312217903207056, 3739539.0 ], [ 742694.591137416777201, 3739534.692852943204343 ], [ 742701.859658369095996, 3739536.831200783140957 ], [ 742703.390235378639773, 3739531.686894269194454 ], [ 742687.859493555966765, 3739527.118546354118735 ], [ 742687.464354713680223, 3739528.440377403050661 ], [ 742683.241174345719628, 3739527.200840464793146 ], [ 742681.172764874994755, 3739530.167156973853707 ], [ 742679.185603815829381, 3739536.498545913957059 ], [ 742677.585319220670499, 3739536.002776217181236 ], [ 742676.659588023088872, 3739539.0 ], [ 742693.312217903207056, 3739539.0 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 2, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122421", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "628.0617074431335", "origlen": "0", "partialDec": "0.6854550148892067", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743051.0, 3739240.429075356107205 ], [ 743019.733907211222686, 3739241.220183459110558 ], [ 743020.095183715224266, 3739255.058807611931115 ], [ 743051.0, 3739254.2796860341914 ], [ 743051.0, 3739240.429075356107205 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 3, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122449", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "164.34510745720252", "origlen": "0", "partialDec": "0.3268898818394317", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743046.408491920679808, 3739315.608520227950066 ], [ 743051.0, 3739315.560417518950999 ], [ 743051.0, 3739304.003256970085204 ], [ 743046.295042799436487, 3739304.051510713994503 ], [ 743046.408491920679808, 3739315.608520227950066 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 6, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "84910", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "67.0691122589702", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 741360.398388836532831, 3743875.358136298134923 ], [ 741367.488589487154968, 3743871.975018986035138 ], [ 741362.919970723101869, 3743862.502813681960106 ], [ 741357.545847294386476, 3743865.074794827029109 ], [ 741360.072563233552501, 3743870.299843532033265 ], [ 741360.398388836532831, 3743875.358136298134923 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 4, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742820.916451984550804, 3739539.0 ], [ 742819.206165015813895, 3739537.419993883930147 ], [ 742819.301538870553486, 3739534.037214165087789 ], [ 742810.503156909137033, 3739533.735573504120111 ], [ 742810.456345002283342, 3739535.210554277058691 ], [ 742808.844772503594868, 3739535.158436355181038 ], [ 742808.796266934135929, 3739536.699968244880438 ], [ 742807.335981759359129, 3739538.716122538782656 ], [ 742806.625273184501566, 3739539.0 ], [ 742820.916451984550804, 3739539.0 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": 5, "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742784.753871998284012, 3739539.0 ], [ 742786.527636001817882, 3739535.733633679803461 ], [ 742785.028177058673464, 3739534.918539529200643 ], [ 742785.053791071870364, 3739532.45520516205579 ], [ 742775.240038365940563, 3739532.349736623000354 ], [ 742775.176343481289223, 3739538.130713525228202 ], [ 742775.882974016712978, 3739539.0 ], [ 742784.753871998284012, 3739539.0 ] ] ] } } +] +} diff --git a/solaris/data/split_multi_result.json b/solaris/data/split_multi_result.json index 4ff57979..f55a4972 100644 --- a/solaris/data/split_multi_result.json +++ b/solaris/data/split_multi_result.json @@ -1 +1,16 @@ -{"type": "FeatureCollection", "features": [{"id": "0", "type": "Feature", "properties": {"field_1": "660", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8086", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "137.5869833444336", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[742959.5157261142, 3739469.858595584], [742964.2412947685, 3739469.934550551], [742964.2835617226, 3739467.18306186], [742968.7404872194, 3739467.252177057], [742968.7827553968, 3739464.50068832], [742970.1818431471, 3739464.5252224], [742970.3714329029, 3739451.621851874], [742963.6070103869, 3739451.527265817], [742963.4608848467, 3739461.268512606], [742959.6434285438, 3739461.204586885], [742959.5157261142, 3739469.858595584]]]}}, {"id": "1", "type": "Feature", "properties": {"field_1": "661", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8229", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "232.75674536334253", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[743020.5285401859, 3739472.034202539], [743027.7523358399, 3739473.017358276], [743027.9560968133, 3739471.568572332], [743030.4316793848, 3739471.909114651], [743031.0890603127, 3739467.208761358], [743031.6330556386, 3739464.048288816], [743033.5432770674, 3739464.385528093], [743035.4323498101, 3739453.545475867], [743022.4840836683, 3739451.306581199], [743020.9414738066, 3739460.1909273], [743022.0743392245, 3739460.841333462], [743020.5285401859, 3739472.034202539]]]}}, {"id": "2", "type": "Feature", "properties": {"field_1": "662", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8228", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "115.83593626400437", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[743003.1399996518, 3739467.617796136], [743015.3542409713, 3739467.740245839], [743015.3977939934, 3739462.391609387], [743017.5941185456, 3739462.414260812], [743017.6373293742, 3739457.442983567], [743011.2706792641, 3739457.380694342], [743011.2414975561, 3739460.709668207], [743005.2546582168, 3739460.657057802], [743005.2795396517, 3739457.860729276], [743003.231432164, 3739457.841856197], [743003.1399996518, 3739467.617796136]]]}}, {"id": "3", "type": "Feature", "properties": {"field_1": "663", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7812", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "1117.803722432596", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[742737.216587933, 3739529.428720969], [742737.2726519796, 3739527.953976202], [742741.2542792484, 3739528.121883995], [742741.9995199341, 3739510.127116858], [742744.0181279983, 3739510.211778471], [742744.1330298374, 3739507.517637256], [742742.058839861, 3739507.431561362], [742742.5669390478, 3739495.113465066], [742744.3449797556, 3739495.180906138], [742745.0815230057, 3739477.163720175], [742722.4685948562, 3739476.244281095], [742720.3770908483, 3739527.479686408], [742728.5166346187, 3739527.808876015], [742728.4659341584, 3739529.072875594], [742737.216587933, 3739529.428720969]]]}}, {"id": "4", "type": "Feature", "properties": {"field_1": "664", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120819", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "868.6465770175508", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[742779.0589662758, 3739517.785098479], [742785.7264630584, 3739518.043576586], [742785.7797116076, 3739516.679750225], [742787.9002177101, 3739516.767014552], [742788.018007018, 3739513.595687717], [742789.4963797061, 3739512.689894631], [742794.7850222825, 3739512.85779129], [742794.7384953512, 3739514.321680113], [742800.8142568704, 3739514.520712196], [742800.8579616819, 3739513.167741883], [742804.8404431387, 3739513.302400339], [742806.719179487, 3739511.962838294], [742809.5193322457, 3739513.754459812], [742810.8216116317, 3739515.39696687], [742810.8425385487, 3739518.216655498], [742815.6076734723, 3739518.193654652], [742817.1555002977, 3739514.559269692], [742818.4727785089, 3739513.427399684], [742820.7698578427, 3739513.496967576], [742821.0155526869, 3739505.30103076], [742818.8296341306, 3739505.234292389], [742818.9082965751, 3739502.872199133], [742817.049548522, 3739503.79050431], [742814.6007570606, 3739498.755805385], [742814.9873573856, 3739494.492515358], [742817.0303021728, 3739493.257025897], [742819.6744798073, 3739492.436405651], [742805.5144255088, 3739491.920608293], [742805.3067322085, 3739497.531435517], [742789.7855063399, 3739496.958818469], [742787.9062348148, 3739496.134058065], [742787.21331656, 3739494.95102441], [742788.1948983755, 3739493.533130954], [742788.6153025262, 3739492.311837214], [742788.6233625122, 3739490.902464679], [742775.3039837473, 3739490.86316813], [742776.4324709803, 3739492.778722805], [742776.4256696098, 3739495.231436581], [742779.1062013684, 3739497.352975133], [742778.8313719494, 3739499.41040163], [742777.2480186591, 3739502.255856039], [742776.2833758653, 3739503.008239368], [742773.9964049477, 3739502.905642527], [742773.7390761343, 3739508.282126087], [742779.373780194, 3739510.878410715], [742779.8477320484, 3739514.109192995], [742779.1370028395, 3739515.811456004], [742779.0589662758, 3739517.785098479]]]}}, {"id": "5", "type": "Feature", "properties": {"field_1": "665", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7813", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "446.8580438238858", "origlen": "0", "partialDec": "0.4599659863913662", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[742693.3122179032, 3739539.0], [742694.5911374168, 3739534.692852943], [742701.8596583691, 3739536.831200783], [742703.3902353786, 3739531.686894269], [742687.859493556, 3739527.118546354], [742687.4643547137, 3739528.440377403], [742683.2411743457, 3739527.200840465], [742681.172764875, 3739530.167156974], [742679.1856038158, 3739536.498545914], [742677.5853192207, 3739536.002776217], [742676.6595880231, 3739539.0], [742693.3122179032, 3739539.0]]]}}, {"id": "6", "type": "Feature", "properties": {"field_1": "666", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1"}, "geometry": {"type": "MultiPolygon", "coordinates": [[[[742820.9164519846, 3739539.0], [742819.2061650158, 3739537.419993884], [742819.3015388706, 3739534.037214165], [742810.5031569091, 3739533.735573504], [742810.4563450023, 3739535.210554277], [742808.8447725036, 3739535.158436355], [742808.7962669341, 3739536.699968245], [742807.3359817594, 3739538.716122539], [742806.6252731845, 3739539.0], [742820.9164519846, 3739539.0]]], [[[742784.7538719983, 3739539.0], [742786.5276360018, 3739535.73363368], [742785.0281770587, 3739534.918539529], [742785.0537910719, 3739532.455205162], [742775.2400383659, 3739532.349736623], [742775.1763434813, 3739538.130713525], [742775.8829740167, 3739539.0], [742784.7538719983, 3739539.0]]]]}}, {"id": "7", "type": "Feature", "properties": {"field_1": "667", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122421", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "628.0617074431335", "origlen": "0", "partialDec": "0.6854550148892067", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[743051.0, 3739240.429075356], [743019.7339072112, 3739241.220183459], [743020.0951837152, 3739255.058807612], [743051.0, 3739254.279686034], [743051.0, 3739240.429075356]]]}}, {"id": "8", "type": "Feature", "properties": {"field_1": "668", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122449", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "164.34510745720252", "origlen": "0", "partialDec": "0.3268898818394317", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[743046.4084919207, 3739315.608520228], [743051.0, 3739315.560417519], [743051.0, 3739304.00325697], [743046.2950427994, 3739304.051510714], [743046.4084919207, 3739315.608520228]]]}}, {"id": "9", "type": "Feature", "properties": {"field_1": "669", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "84910", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "67.0691122589702", "origlen": "0", "partialDec": "1.0", "truncated": "0"}, "geometry": {"type": "Polygon", "coordinates": [[[741360.3983888365, 3743875.358136298], [741367.4885894872, 3743871.975018986], [741362.9199707231, 3743862.502813682], [741357.5458472944, 3743865.074794827], [741360.0725632336, 3743870.299843532], [741360.3983888365, 3743875.358136298]]]}}, {"id": "10", "type": "Feature", "properties": {"field_1": "666", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[742820.9164519846, 3739539.0], [742819.2061650158, 3739537.419993884], [742819.3015388706, 3739534.037214165], [742810.5031569091, 3739533.735573504], [742810.4563450023, 3739535.210554277], [742808.8447725036, 3739535.158436355], [742808.7962669341, 3739536.699968245], [742807.3359817594, 3739538.716122539], [742806.6252731845, 3739539.0], [742820.9164519846, 3739539.0]]]}}, {"id": "11", "type": "Feature", "properties": {"field_1": "666", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1"}, "geometry": {"type": "Polygon", "coordinates": [[[742784.7538719983, 3739539.0], [742786.5276360018, 3739535.73363368], [742785.0281770587, 3739534.918539529], [742785.0537910719, 3739532.455205162], [742775.2400383659, 3739532.349736623], [742775.1763434813, 3739538.130713525], [742775.8829740167, 3739539.0], [742784.7538719983, 3739539.0]]]}}]} \ No newline at end of file +{ +"type": "FeatureCollection", +"features": [ +{ "type": "Feature", "properties": { "field_1": "660", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8086", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "137.5869833444336", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742959.515726114157587, 3739469.858595584053546 ], [ 742964.241294768522494, 3739469.934550551231951 ], [ 742964.283561722608283, 3739467.183061860036105 ], [ 742968.740487219416536, 3739467.252177056856453 ], [ 742968.782755396794528, 3739464.500688320025802 ], [ 742970.181843147147447, 3739464.525222400203347 ], [ 742970.371432902873494, 3739451.621851874049753 ], [ 742963.607010386884212, 3739451.527265816926956 ], [ 742963.460884846746922, 3739461.268512606155127 ], [ 742959.643428543815389, 3739461.20458688493818 ], [ 742959.515726114157587, 3739469.858595584053546 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "661", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8229", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "232.75674536334253", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743020.528540185885504, 3739472.034202538896352 ], [ 743027.752335839904845, 3739473.017358276061714 ], [ 743027.956096813315526, 3739471.568572332151234 ], [ 743030.43167938478291, 3739471.909114650916308 ], [ 743031.089060312719084, 3739467.208761358167976 ], [ 743031.633055638638325, 3739464.048288816120476 ], [ 743033.543277067365125, 3739464.385528093203902 ], [ 743035.432349810143933, 3739453.545475867111236 ], [ 743022.484083668328822, 3739451.306581199169159 ], [ 743020.941473806626163, 3739460.190927300136536 ], [ 743022.074339224491268, 3739460.841333461925387 ], [ 743020.528540185885504, 3739472.034202538896352 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "662", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "8228", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "115.83593626400437", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743003.139999651815742, 3739467.617796136066318 ], [ 743015.354240971268155, 3739467.740245839115232 ], [ 743015.397793993353844, 3739462.391609387006611 ], [ 743017.594118545646779, 3739462.414260812103748 ], [ 743017.637329374207184, 3739457.442983566783369 ], [ 743011.270679264096543, 3739457.38069434184581 ], [ 743011.241497556096874, 3739460.709668206982315 ], [ 743005.254658216843382, 3739460.657057802192867 ], [ 743005.279539651703089, 3739457.860729276202619 ], [ 743003.231432163971476, 3739457.841856196988374 ], [ 743003.139999651815742, 3739467.617796136066318 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "663", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7812", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "1117.803722432596", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742737.216587933013216, 3739529.428720968775451 ], [ 742737.272651979583316, 3739527.953976201824844 ], [ 742741.254279248416424, 3739528.12188399489969 ], [ 742741.999519934062846, 3739510.127116858027875 ], [ 742744.01812799833715, 3739510.2117784707807 ], [ 742744.133029837394133, 3739507.517637256067246 ], [ 742742.058839860954322, 3739507.43156136199832 ], [ 742742.566939047770575, 3739495.113465066067874 ], [ 742744.344979755580425, 3739495.180906137917191 ], [ 742745.081523005734198, 3739477.163720175158232 ], [ 742722.468594856210984, 3739476.244281094986945 ], [ 742720.377090848283842, 3739527.479686407838017 ], [ 742728.516634618747048, 3739527.808876014780253 ], [ 742728.465934158419259, 3739529.072875593788922 ], [ 742737.216587933013216, 3739529.428720968775451 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "664", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120819", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "868.6465770175508", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742779.058966275770217, 3739517.785098479129374 ], [ 742785.726463058381341, 3739518.043576586060226 ], [ 742785.779711607610807, 3739516.679750225041062 ], [ 742787.900217710062861, 3739516.767014551907778 ], [ 742788.018007018021308, 3739513.595687717199326 ], [ 742789.496379706077278, 3739512.689894631039351 ], [ 742794.785022282507271, 3739512.857791290152818 ], [ 742794.738495351164602, 3739514.321680113207549 ], [ 742800.81425687042065, 3739514.520712195895612 ], [ 742800.857961681904271, 3739513.167741883080453 ], [ 742804.840443138731644, 3739513.302400338929147 ], [ 742806.71917948697228, 3739511.962838293984532 ], [ 742809.519332245690748, 3739513.754459811840206 ], [ 742810.821611631661654, 3739515.396966869942844 ], [ 742810.842538548749872, 3739518.216655497904867 ], [ 742815.607673472259194, 3739518.193654652219266 ], [ 742817.155500297667459, 3739514.559269691817462 ], [ 742818.472778508905321, 3739513.427399684209377 ], [ 742820.769857842708007, 3739513.496967575978488 ], [ 742821.015552686876617, 3739505.301030760165304 ], [ 742818.829634130583145, 3739505.234292388893664 ], [ 742818.90829657507129, 3739502.872199133038521 ], [ 742817.049548521987163, 3739503.790504309814423 ], [ 742814.600757060572505, 3739498.755805384833366 ], [ 742814.987357385572977, 3739494.492515358142555 ], [ 742817.030302172759548, 3739493.257025897037238 ], [ 742819.674479807261378, 3739492.436405650805682 ], [ 742805.514425508794375, 3739491.920608292799443 ], [ 742805.30673220846802, 3739497.531435517128557 ], [ 742789.785506339860149, 3739496.958818469196558 ], [ 742787.906234814785421, 3739496.134058064781129 ], [ 742787.213316560024396, 3739494.951024409849197 ], [ 742788.194898375542834, 3739493.533130954019725 ], [ 742788.615302526159212, 3739492.311837214045227 ], [ 742788.623362512211315, 3739490.902464678976685 ], [ 742775.303983747260645, 3739490.863168130163103 ], [ 742776.432470980333164, 3739492.778722804971039 ], [ 742776.425669609801844, 3739495.231436580885202 ], [ 742779.106201368384063, 3739497.352975132875144 ], [ 742778.831371949403547, 3739499.410401630215347 ], [ 742777.248018659069203, 3739502.255856039002538 ], [ 742776.283375865314156, 3739503.008239367976785 ], [ 742773.996404947713017, 3739502.905642527155578 ], [ 742773.739076134283096, 3739508.282126087229699 ], [ 742779.37378019397147, 3739510.878410715144128 ], [ 742779.847732048365287, 3739514.109192994888872 ], [ 742779.137002839474007, 3739515.811456004157662 ], [ 742779.058966275770217, 3739517.785098479129374 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "665", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "7813", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "446.8580438238858", "origlen": "0", "partialDec": "0.4599659863913662", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742693.312217903207056, 3739539.0 ], [ 742694.591137416777201, 3739534.692852943204343 ], [ 742701.859658369095996, 3739536.831200783140957 ], [ 742703.390235378639773, 3739531.686894269194454 ], [ 742687.859493555966765, 3739527.118546354118735 ], [ 742687.464354713680223, 3739528.440377403050661 ], [ 742683.241174345719628, 3739527.200840464793146 ], [ 742681.172764874994755, 3739530.167156973853707 ], [ 742679.185603815829381, 3739536.498545913957059 ], [ 742677.585319220670499, 3739536.002776217181236 ], [ 742676.659588023088872, 3739539.0 ], [ 742693.312217903207056, 3739539.0 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "667", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122421", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "628.0617074431335", "origlen": "0", "partialDec": "0.6854550148892067", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743051.0, 3739240.429075356107205 ], [ 743019.733907211222686, 3739241.220183459110558 ], [ 743020.095183715224266, 3739255.058807611931115 ], [ 743051.0, 3739254.2796860341914 ], [ 743051.0, 3739240.429075356107205 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "668", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "122449", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "164.34510745720252", "origlen": "0", "partialDec": "0.3268898818394317", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 743046.408491920679808, 3739315.608520227950066 ], [ 743051.0, 3739315.560417518950999 ], [ 743051.0, 3739304.003256970085204 ], [ 743046.295042799436487, 3739304.051510713994503 ], [ 743046.408491920679808, 3739315.608520227950066 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "669", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "84910", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "67.0691122589702", "origlen": "0", "partialDec": "1.0", "truncated": "0" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 741360.398388836532831, 3743875.358136298134923 ], [ 741367.488589487154968, 3743871.975018986035138 ], [ 741362.919970723101869, 3743862.502813681960106 ], [ 741357.545847294386476, 3743865.074794827029109 ], [ 741360.072563233552501, 3743870.299843532033265 ], [ 741360.398388836532831, 3743875.358136298134923 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "666", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742820.916451984550804, 3739539.0 ], [ 742819.206165015813895, 3739537.419993883930147 ], [ 742819.301538870553486, 3739534.037214165087789 ], [ 742810.503156909137033, 3739533.735573504120111 ], [ 742810.456345002283342, 3739535.210554277058691 ], [ 742808.844772503594868, 3739535.158436355181038 ], [ 742808.796266934135929, 3739536.699968244880438 ], [ 742807.335981759359129, 3739538.716122538782656 ], [ 742806.625273184501566, 3739539.0 ], [ 742820.916451984550804, 3739539.0 ] ] ] } }, +{ "type": "Feature", "properties": { "field_1": "666", "access": "", "addr_house": "", "addr_hou_1": "", "addr_inter": "", "admin_leve": "", "aerialway": "", "aeroway": "", "amenity": "", "area": "", "barrier": "", "bicycle": "", "boundary": "", "brand": "", "bridge": "", "building": "yes", "constructi": "", "covered": "", "culvert": "", "cutting": "", "denominati": "", "disused": "", "embankment": "", "foot": "", "generator_": "", "harbour": "", "highway": "", "historic": "", "horse": "", "intermitte": "", "junction": "", "landuse": "", "layer": "", "leisure": "", "lock": "", "man_made": "", "military": "", "motorcar": "", "name": "Occlusion", "natural": "", "office": "", "oneway": "", "operator": "", "osm_id": "120818", "place": "", "population": "", "power": "", "power_sour": "", "public_tra": "", "railway": "", "ref": "", "religion": "", "route": "", "service": "", "shop": "", "sport": "", "surface": "", "tags": "\"security:classification\"=>\"UNCLASSIFIED\",\"source\"=>\"Unknown\"", "toll": "", "tourism": "", "tower_type": "", "tunnel": "", "water": "", "waterway": "", "wetland": "", "width": "", "wood": "", "z_order": "-999999", "tracktype": "", "way_area": "-999999.0", "origarea": "921.0009706238087", "origlen": "0", "partialDec": "0.13212004440894673", "truncated": "1" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 742784.753871998284012, 3739539.0 ], [ 742786.527636001817882, 3739535.733633679803461 ], [ 742785.028177058673464, 3739534.918539529200643 ], [ 742785.053791071870364, 3739532.45520516205579 ], [ 742775.240038365940563, 3739532.349736623000354 ], [ 742775.176343481289223, 3739538.130713525228202 ], [ 742775.882974016712978, 3739539.0 ], [ 742784.753871998284012, 3739539.0 ] ] ] } } +] +} diff --git a/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.003_41.774.tif b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.003_41.774.tif new file mode 100644 index 00000000..58d64807 Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.003_41.774.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.691.tif b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.691.tif new file mode 100644 index 00000000..f6083891 Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.691.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.732.tif b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.732.tif new file mode 100644 index 00000000..1de2442a Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.732.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.085_41.774.tif b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.085_41.774.tif new file mode 100644 index 00000000..dac29923 Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.085_41.774.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.127_41.774.tif b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.127_41.774.tif new file mode 100644 index 00000000..e3940cf6 Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.127_41.774.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/geoms_-101.044_41.774.tif b/solaris/data/vectortile_test_filled_expected/geoms_-101.044_41.774.tif new file mode 100644 index 00000000..fd85dc37 Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/geoms_-101.044_41.774.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.691.tif b/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.691.tif new file mode 100644 index 00000000..4363ec64 Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.691.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.732.tif b/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.732.tif new file mode 100644 index 00000000..28e95d8c Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.732.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.691.tif b/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.691.tif new file mode 100644 index 00000000..97606a70 Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.691.tif differ diff --git a/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.732.tif b/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.732.tif new file mode 100644 index 00000000..20c0ce4d Binary files /dev/null and b/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.732.tif differ diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.003_41.774.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.003_41.774.geojson new file mode 100644 index 00000000..b1286b1e --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.003_41.774.geojson @@ -0,0 +1 @@ +{"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} \ No newline at end of file diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.691.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.691.geojson new file mode 100644 index 00000000..b1286b1e --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.691.geojson @@ -0,0 +1 @@ +{"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} \ No newline at end of file diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.732.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.732.geojson new file mode 100644 index 00000000..b1286b1e --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.732.geojson @@ -0,0 +1 @@ +{"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} \ No newline at end of file diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.774.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.774.geojson new file mode 100644 index 00000000..17d4c000 --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.774.geojson @@ -0,0 +1,8 @@ +{ +"type": "FeatureCollection", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "ID": 759, "AREA": 5628503.107, "PERIMETER": 8410.962, "ACRES": 129.213, "HECTARES": 52.291, "origarea": 5.6641060016761724e-05, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.02986150942003, 41.753320763387563 ], [ -101.029618736775561, 41.753318431460016 ], [ -101.029376415257985, 41.753307111572269 ], [ -101.029135137968922, 41.753286831430636 ], [ -101.0288954954529, 41.753257640672238 ], [ -101.028658074251169, 41.753219610743585 ], [ -101.028423455465443, 41.753172834725504 ], [ -101.02819221333489, 41.753117427105281 ], [ -101.027964913830047, 41.753053523496206 ], [ -101.027742113266996, 41.752981280305683 ], [ -101.027524356945193, 41.752900874352044 ], [ -101.027312177812405, 41.752812502431638 ], [ -101.027106095159809, 41.752716380837029 ], [ -101.026906613350775, 41.752612744827267 ], [ -101.026714220586101, 41.752501848051921 ], [ -101.026529387708976, 41.752383961929972 ], [ -101.026352567052498, 41.75225937498525 ], [ -101.02618419133259, 41.752128392140079 ], [ -101.026024672589017, 41.751991333968618 ], [ -101.025874401177035, 41.75184853591206 ], [ -101.025733744812371, 41.751700347457387 ], [ -101.025603047671453, 41.751547131281775 ], [ -101.025482629549629, 41.751389262364597 ], [ -101.025372785078858, 41.751227127069669 ], [ -101.025273783007265, 41.75106112219926 ], [ -101.025185865542056, 41.750891654022801 ], [ -101.025109247757442, 41.750719137282502 ], [ -101.025044117069058, 41.750543994178003 ], [ -101.024990632776081, 41.750366653333082 ], [ -101.024948925672291, 41.75018754874651 ], [ -101.024919097726837, 41.750007118729819 ], [ -101.024901221835705, 41.749825804834586 ], [ -101.024895341644239, 41.749644050771778 ], [ -101.024901471441297, 41.749462301325806 ], [ -101.024919596125301, 41.749281001266191 ], [ -101.024949671242197, 41.749100594258984 ], [ -101.024991623095175, 41.748921521781199 ], [ -101.025045348926, 41.748744222040585 ], [ -101.025110717167394, 41.748569128903192 ], [ -101.025187567765926, 41.74839667083198 ], [ -101.025275712574498, 41.748227269838416 ], [ -101.025374935813559, 41.74806134044988 ], [ -101.025484994599992, 41.747899288695649 ], [ -101.025605619541921, 41.747741511113439 ], [ -101.025736515398776, 41.747588393779317 ], [ -101.025877361804163, 41.747440311363249 ], [ -101.026027814050309, 41.747297626212536 ], [ -101.026187503931908, 41.747160687465453 ], [ -101.026356040647471, 41.747029830197135 ], [ -101.026533011755774, 41.746905374600097 ], [ -101.026717984185197, 41.746787625200838 ], [ -101.0269105052935, 41.746676870115124 ], [ -101.027110103975289, 41.746573380343264 ], [ -101.027316291814742, 41.746477409107207 ], [ -101.027528564280402, 41.746389191231316 ], [ -101.027746401959419, 41.746308942567843 ], [ -101.027969271828184, 41.746236859469292 ], [ -101.028196628556032, 41.746173118307951 ], [ -101.028427915839188, 41.746117875044682 ], [ -101.028662567761288, 41.746071264847444 ], [ -101.028900010177509, 41.746033401760762 ], [ -101.029139662118766, 41.746004378426797 ], [ -101.029380937212494, 41.745984265858766 ], [ -101.029623245116696, 41.745973113267269 ], [ -101.029865992963565, 41.745970947940087 ], [ -101.03010858680949, 41.745977775175191 ], [ -101.030350433087435, 41.745993578267985 ], [ -101.030590940058559, 41.746018318552146 ], [ -101.030829519259285, 41.746051935494044 ], [ -101.031065586940471, 41.746094346840955 ], [ -101.031298565494993, 41.746145448822062 ], [ -101.031527884870385, 41.746205116402379 ], [ -101.03175298396296, 41.746273203588366 ], [ -101.031973311990214, 41.746349543785186 ], [ -101.032188329837993, 41.746433950203922 ], [ -101.032397511379074, 41.746526216318536 ], [ -101.032600344760155, 41.746626116370997 ], [ -101.032796333654019, 41.746733405923251 ], [ -101.032984998473651, 41.746847822455287 ], [ -101.033165877545628, 41.746969086007084 ], [ -101.03333852823971, 41.747096899863443 ], [ -101.033502528051883, 41.747230951279619 ], [ -101.033657475638279, 41.74737091224646 ], [ -101.033802991797515, 41.7475164402926 ], [ -101.033938720398694, 41.747667179322242 ], [ -101.034064329253326, 41.74782276048623 ], [ -101.034179510928539, 41.747982803084348 ], [ -101.034283983499918, 41.748146915496669 ], [ -101.034377491241955, 41.748314696141506 ], [ -101.034459805254457, 41.748485734457994 ], [ -101.03453072402344, 41.748659611910433 ], [ -101.03459007391497, 41.748835903012377 ], [ -101.034637709600943, 41.749014176367631 ], [ -101.034673514415573, 41.749193995725712 ], [ -101.034697400641832, 41.749374921049352 ], [ -101.034709309727035, 41.749556509591351 ], [ -101.034709212427046, 41.749738316977663 ], [ -101.034697108878916, 41.749919898295182 ], [ -101.034673028601532, 41.750100809180225 ], [ -101.034637030424278, 41.750280606906259 ], [ -101.034589202344094, 41.750458851467179 ], [ -101.034529661311083, 41.750635106654258 ], [ -101.034458552943249, 41.750808941123822 ], [ -101.034376051170938, 41.750979929452981 ], [ -101.034282357812089, 41.751147653180794 ], [ -101.034177702079077, 41.751311701832734 ], [ -101.034062340018508, 41.751471673925217 ], [ -101.033936553885269, 41.751627177948656 ], [ -101.033800651452282, 41.75177783332564 ], [ -101.03365496525781, 41.751923271342662 ], [ -101.033499851792129, 41.752063136052797 ], [ -101.033335690625293, 41.752197085147046 ], [ -101.033162883478568, 41.752324790792429 ], [ -101.032981853241267, 41.752445940434605 ], [ -101.032793042936092, 41.752560237563124 ], [ -101.032596914634624, 41.752667402437325 ], [ -101.032393948326543, 41.752767172771364 ], [ -101.032184640744617, 41.752859304376344 ], [ -101.031969504148734, 41.75294357175828 ], [ -101.031749065071807, 41.753019768670157 ], [ -101.031523863030799, 41.753087708617038 ], [ -101.031294449205674, 41.753147225312667 ], [ -101.031061385089899, 41.753198173086709 ], [ -101.03082524111565, 41.75324042724138 ], [ -101.030586595256949, 41.753273884356865 ], [ -101.0303460316144, 41.753298462544471 ], [ -101.030104138984981, 41.753314101647341 ], [ -101.02986150942003, 41.753320763387563 ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 760, "AREA": 5453408.859, "PERIMETER": 8279.116, "ACRES": 125.193, "HECTARES": 50.664, "origarea": 5.4877660828143003e-05, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.016621281545525, 41.751606983733346 ], [ -101.016380425397784, 41.751604607113471 ], [ -101.016140026919231, 41.751593242642009 ], [ -101.015900683877803, 41.751572918577466 ], [ -101.015662991415752, 41.75154368545693 ], [ -101.015427540569007, 41.751505615970402 ], [ -101.015194916796801, 41.751458804779809 ], [ -101.014965698525245, 41.751403368283711 ], [ -101.01474045570842, 41.751339444327542 ], [ -101.014519748410535, 41.75126719186084 ], [ -101.014304125412821, 41.751186790541702 ], [ -101.014094122848434, 41.751098440290036 ], [ -101.013890262868998, 41.751002360789911 ], [ -101.0136930523459, 41.750898790943502 ], [ -101.013502981609747, 41.750787988276457 ], [ -101.013320523230945, 41.750670228297523 ], [ -101.013146130844518, 41.750545803813012 ], [ -101.012980238022308, 41.750415024198745 ], [ -101.012823257194853, 41.750278214630342 ], [ -101.012675578626101, 41.750135715274467 ], [ -101.012537569443381, 41.749987880442745 ], [ -101.012409572724806, 41.749835077710564 ], [ -101.012291906646752, 41.749677687002823 ], [ -101.012184863693221, 41.749516099649121 ], [ -101.012088709929188, 41.749350717410493 ], [ -101.012003684339746, 41.74918195148031 ], [ -101.011929998236624, 41.749010221461646 ], [ -101.011867834733607, 41.748835954323887 ], [ -101.011817348292027, 41.748659583341031 ], [ -101.011778664337683, 41.748481547014286 ], [ -101.011751878949894, 41.748302287981687 ], [ -101.011737058623567, 41.74812225191765 ], [ -101.011734240104872, 41.747941886424719 ], [ -101.011743430300854, 41.747761639920789 ], [ -101.011764606263284, 41.747581960524229 ], [ -101.011797715246658, 41.7474032949399 ], [ -101.011842674840366, 41.747226087348501 ], [ -101.011899373174515, 41.747050778302516 ], [ -101.011967669198938, 41.746877803630937 ], [ -101.012047393034862, 41.746707593355985 ], [ -101.012138346397975, 41.746540570624127 ], [ -101.012240303092213, 41.746377150654375 ], [ -101.012353009572848, 41.746217739706168 ], [ -101.012476185577484, 41.746062734069717 ], [ -101.012609524823347, 41.745912519080996 ], [ -101.012752695769251, 41.745767468164075 ], [ -101.012905342440291, 41.745627941903059 ], [ -101.013067085313054, 41.745494287146016 ], [ -101.013237522259445, 41.745366836142971 ], [ -101.013416229546536, 41.74524590572026 ], [ -101.01360276288996, 41.745131796493204 ], [ -101.013796658558448, 41.745024792119175 ], [ -101.01399743452653, 41.744925158592601 ], [ -101.014204591672595, 41.744833143584096 ], [ -101.014417615019383, 41.744748975825068 ], [ -101.014635975013903, 41.744672864539375 ], [ -101.014859128843355, 41.744604998923343 ], [ -101.015086521784028, 41.744545547675898 ], [ -101.015317588579691, 41.744494658579171 ], [ -101.015551754846186, 41.744452458131498 ], [ -101.015788438498546, 41.744419051233052 ], [ -101.016027051197284, 41.744394520925191 ], [ -101.016266999810185, 41.744378928184155 ], [ -101.016507687885905, 41.744372311769617 ], [ -101.016748517135966, 41.744374688128303 ], [ -101.016988888921134, 41.744386051353217 ], [ -101.017228205738675, 41.744406373198188 ], [ -101.017465872707007, 41.744435603148197 ], [ -101.01770129904358, 41.744473668544806 ], [ -101.017933899532736, 41.744520474766688 ], [ -101.018163095979759, 41.744575905464657 ], [ -101.018388318647467, 41.744639822850928 ], [ -101.018609007671927, 41.74471206804126 ], [ -101.018824614453507, 41.74479246144984 ], [ -101.019034603020188, 41.744880803235475 ], [ -101.019238451359499, 41.744976873798095 ], [ -101.0194356527157, 41.745080434324422 ], [ -101.019625716849319, 41.74519122738144 ], [ -101.01980817125559, 41.745308977555943 ], [ -101.019982562338896, 41.74543339213897 ], [ -101.020148456540397, 41.745564161853139 ], [ -101.020305441415843, 41.745700961621274 ], [ -101.020453126661053, 41.74584345137405 ], [ -101.020591145082349, 41.745991276895332 ], [ -101.020719153509802, 41.746144070702229 ], [ -101.020836833650634, 41.746301452958541 ], [ -101.020943892881121, 41.746463032418667 ], [ -101.021040064974514, 41.746628407400024 ], [ -101.021125110763535, 41.746797166781406 ], [ -101.021198818735726, 41.746968891024792 ], [ -101.021261005559936, 41.747143153218161 ], [ -101.021311516543079, 41.747319520136685 ], [ -101.021350226015429, 41.747497553319583 ], [ -101.021377037644072, 41.747676810159994 ], [ -101.021391884673307, 41.747856845005337 ], [ -101.021394730091544, 41.748037210265188 ], [ -101.021385566724462, 41.748217457523957 ], [ -101.021364417253608, 41.74839713865574 ], [ -101.021331334161204, 41.748575806938483 ], [ -101.021286399600555, 41.748753018164599 ], [ -101.021229725192782, 41.74892833174556 ], [ -101.021161451750217, 41.749101311807237 ], [ -101.021081748927216, 41.749271528273901 ], [ -101.020990814799291, 41.749438557937509 ], [ -101.020888875371313, 41.749601985510182 ], [ -101.020776184016384, 41.74976140465688 ], [ -101.020653020846609, 41.749916419005928 ], [ -101.020519692017217, 41.75006664313478 ], [ -101.020376528965841, 41.750211703528542 ], [ -101.020223887588926, 41.75035123950888 ], [ -101.02006214735728, 41.750484904131163 ], [ -101.019891710372747, 41.750612365047324 ], [ -101.01971300036864, 41.750733305332439 ], [ -101.019526461656312, 41.750847424273239 ], [ -101.019332558020395, 41.750954438115841 ], [ -101.019131771565554, 41.751054080771638 ], [ -101.018924601517639, 41.751146104479297 ], [ -101.018711562982091, 41.75123028042097 ], [ -101.018493185662876, 41.751306399291529 ], [ -101.018270012544974, 41.751374271819181 ], [ -101.018042598543815, 41.751433729236368 ], [ -101.017811509124883, 41.751484623699596 ], [ -101.017577318897239, 41.751526828657212 ], [ -101.017340610183936, 41.751560239164242 ], [ -101.017101971573553, 41.751584772143467 ], [ -101.016861996455845, 41.751600366592022 ], [ -101.016621281545525, 41.751606983733346 ] ] ] } } +] +} diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.691.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.691.geojson new file mode 100644 index 00000000..5ee99a78 --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.691.geojson @@ -0,0 +1,7 @@ +{ +"type": "FeatureCollection", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "ID": 727, "AREA": 5539022.672, "PERIMETER": 8343.414, "ACRES": 127.158, "HECTARES": 51.459, "origarea": 5.5689275881359236e-05, "origlen": 0, "partialDec": 0.82056769297408683, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.06911307861499, 41.6909693625486 ], [ -101.069042650681794, 41.690882808136045 ], [ -101.068958931292116, 41.690771294146259 ], [ -101.068880484897363, 41.690657646549361 ], [ -101.068807408122595, 41.690542005369387 ], [ -101.068739790975613, 41.69042451308588 ], [ -101.06867771673609, 41.690305314458278 ], [ -101.068621261853082, 41.69018455634766 ], [ -101.068570495851063, 41.690062387535598 ], [ -101.068525481244308, 41.689938958540971 ], [ -101.068486273460039, 41.689814421434356 ], [ -101.068452920770355, 41.689688929650806 ], [ -101.068425464232845, 41.689562637800577 ], [ -101.068403937640213, 41.689435701478864 ], [ -101.068388367478761, 41.689308277073842 ], [ -101.068378772895969, 41.689180521574237 ], [ -101.068375165677082, 41.689052592375667 ], [ -101.068377550230736, 41.688924647086871 ], [ -101.068385923583733, 41.688796843335489 ], [ -101.068400275384803, 41.688669338573895 ], [ -101.068420587917643, 41.688542289885135 ], [ -101.068446836122845, 41.688415853789529 ], [ -101.068478987628936, 41.688290186051809 ], [ -101.068517002792476, 41.68816544148919 ], [ -101.068560834746989, 41.688041773780682 ], [ -101.068610429460904, 41.687919335277876 ], [ -101.068665725804323, 41.687798276817155 ], [ -101.068726655624332, 41.68767874753393 ], [ -101.068793143829282, 41.687560894679017 ], [ -101.068865108481276, 41.687444863437193 ], [ -101.068942460897361, 41.687330796748384 ], [ -101.069025105758797, 41.687218835131674 ], [ -101.069112941228639, 41.687109116512147 ], [ -101.069205859077357, 41.687001776051098 ], [ -101.069303744816096, 41.68689694597947 ], [ -101.069406477837944, 41.686794755435187 ], [ -101.069513931566533, 41.68669533030392 ], [ -101.069625973611991, 41.686598793064128 ], [ -101.069742465934127, 41.686505262636317 ], [ -101.069863265012515, 41.686414854236453 ], [ -101.069988222023298, 41.686327679234218 ], [ -101.070117183022575, 41.686243845015703 ], [ -101.070249989136002, 41.686163454851297 ], [ -101.070386476754507, 41.686086607768587 ], [ -101.070526477735882, 41.68601339843017 ], [ -101.070669819611808, 41.68594391701739 ], [ -101.070816325800294, 41.685878249119028 ], [ -101.070965815823186, 41.685816475626126 ], [ -101.071118105528413, 41.685758672632261 ], [ -101.071273007316734, 41.685704911339911 ], [ -101.07143033037282, 41.685655257972755 ], [ -101.071589880900163, 41.685609773694118 ], [ -101.071751462359757, 41.685568514531738 ], [ -101.071914875712082, 41.68553153130874 ], [ -101.072079919662201, 41.685498869581011 ], [ -101.072246390907537, 41.68547056958117 ], [ -101.072414084388313, 41.685446666169092 ], [ -101.072582793539894, 41.685427188788786 ], [ -101.07275231054723, 41.685412161432431 ], [ -101.072922426600655, 41.685401602610568 ], [ -101.073092932152903, 41.685395525329469 ], [ -101.07326361717729, 41.685393937075077 ], [ -101.073434271426052, 41.685396839803779 ], [ -101.0736046846894, 41.685404229940048 ], [ -101.073774647054222, 41.685416098380735 ], [ -101.073943949162484, 41.685432430506424 ], [ -101.07411238246911, 41.685453206199327 ], [ -101.074279739498635, 41.685478399868067 ], [ -101.074445814100685, 41.685507980479251 ], [ -101.074610401703779, 41.685541911595543 ], [ -101.074773299567269, 41.685580151420709 ], [ -101.074934307030816, 41.685622652850896 ], [ -101.075093225761634, 41.68566936353276 ], [ -101.075249859998593, 41.685720225927831 ], [ -101.075404016793314, 41.685775177383483 ], [ -101.075555506247682, 41.685834150209857 ], [ -101.075704141747821, 41.685897071763492 ], [ -101.075849740193775, 41.685963864536483 ], [ -101.075992122225074, 41.68603444625213 ], [ -101.076131112441601, 41.686108729966108 ], [ -101.076266539619624, 41.686186624173644 ], [ -101.076398236922657, 41.686268032922051 ], [ -101.076526042106977, 41.686352855928973 ], [ -101.076649797721473, 41.686440988705897 ], [ -101.07676935130165, 41.686532322686702 ], [ -101.076884555557356, 41.686626745361444 ], [ -101.076995268554313, 41.686724140414839 ], [ -101.07710135388902, 41.686824387869578 ], [ -101.077202680856743, 41.686927364234052 ], [ -101.077299124612637, 41.687032942654291 ], [ -101.077390566325661, 41.687140993070422 ], [ -101.077476893324885, 41.687251382376694 ], [ -101.07755799923855, 41.687363974585374 ], [ -101.077633784125069, 41.687478630994356 ], [ -101.077704154596361, 41.687595210357891 ], [ -101.077769023932859, 41.687713569060556 ], [ -101.077828312190675, 41.687833561294198 ], [ -101.07788194630001, 41.687955039237458 ], [ -101.077929860155422, 41.6880778532379 ], [ -101.077971994697378, 41.688201851996276 ], [ -101.078008297985164, 41.688326882752968 ], [ -101.078038725261052, 41.688452791476102 ], [ -101.078063239005559, 41.688579423051294 ], [ -101.078081808983839, 41.688706621472754 ], [ -101.078094412283178, 41.688834230035432 ], [ -101.078101033341227, 41.688962091528126 ], [ -101.078101663965555, 41.689090048427047 ], [ -101.078096303343742, 41.689217943090007 ], [ -101.078084958044656, 41.689345617950543 ], [ -101.078067642010467, 41.689472915712081 ], [ -101.078044376539765, 41.689599679541693 ], [ -101.078015190261283, 41.68972575326341 ], [ -101.077980119099024, 41.689850981550599 ], [ -101.077939206228024, 41.689975210117275 ], [ -101.077892502021314, 41.690098285908356 ], [ -101.077840063988134, 41.690220057288123 ], [ -101.07778195670312, 41.690340374227162 ], [ -101.077718251726893, 41.690459088487152 ], [ -101.077649027518106, 41.690576053803596 ], [ -101.077574369336887, 41.690691126066127 ], [ -101.077494369139828, 41.690804163495827 ], [ -101.077409125466929, 41.690915026820363 ], [ -101.077363884923301, 41.6909693625486 ], [ -101.06911307861499, 41.6909693625486 ] ] ] } } +] +} diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.732.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.732.geojson new file mode 100644 index 00000000..ce506193 --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.732.geojson @@ -0,0 +1,8 @@ +{ +"type": "FeatureCollection", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "ID": 727, "AREA": 5539022.672, "PERIMETER": 8343.414, "ACRES": 127.158, "HECTARES": 51.459, "origarea": 5.5689275881359236e-05, "origlen": 0, "partialDec": 0.1794323070259046, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.07329900677108, 41.692684692434021 ], [ -101.073128291648388, 41.692684035022793 ], [ -101.072957712488247, 41.692678887227785 ], [ -101.072787479478762, 41.692669255392126 ], [ -101.072617802381302, 41.692655151384095 ], [ -101.072448890271886, 41.692636592582694 ], [ -101.072280951283432, 41.69261360185601 ], [ -101.072114192349176, 41.692586207533154 ], [ -101.071948818947575, 41.692554443369303 ], [ -101.071785034849043, 41.692518348504017 ], [ -101.071623041864626, 41.692477967413105 ], [ -101.071463039597361, 41.692433349853751 ], [ -101.071305225196141, 41.692384550803112 ], [ -101.071149793112752, 41.69233163039064 ], [ -101.070996934862123, 41.692274653823908 ], [ -101.070846838786338, 41.69221369130824 ], [ -101.070699689822433, 41.692148817960096 ], [ -101.070555669274512, 41.692080113714638 ], [ -101.07041495459022, 41.692007663227024 ], [ -101.070277719142126, 41.691931555768157 ], [ -101.07014413201405, 41.691851885114559 ], [ -101.070014357792715, 41.69176874943291 ], [ -101.069888556364845, 41.691682251158944 ], [ -101.069766882720302, 41.691592496871138 ], [ -101.069649486761008, 41.691499597159456 ], [ -101.069536513116319, 41.691403666489002 ], [ -101.069428100964842, 41.691304823058928 ], [ -101.069324383862991, 41.691203188656701 ], [ -101.069225489580447, 41.69109888850813 ], [ -101.069131539942887, 41.690992051122848 ], [ -101.06911307861499, 41.6909693625486 ], [ -101.077363884923301, 41.6909693625486 ], [ -101.07731874332022, 41.691023579445243 ], [ -101.0772233340345, 41.691129687622386 ], [ -101.077123015140231, 41.691233220614876 ], [ -101.077017910218885, 41.691334050858067 ], [ -101.076908148750633, 41.691432054116888 ], [ -101.076793865954969, 41.691527109638855 ], [ -101.076675202624088, 41.691619100302972 ], [ -101.076552304949459, 41.691707912764109 ], [ -101.07642532434177, 41.691793437592594 ], [ -101.076294417244284, 41.691875569409227 ], [ -101.076159744940227, 41.691954207015115 ], [ -101.076021473353904, 41.692029253516381 ], [ -101.075879772846349, 41.692100616443625 ], [ -101.075734818005358, 41.692168207865947 ], [ -101.075586787430282, 41.692231944499234 ], [ -101.07543586351197, 41.692291747808994 ], [ -101.075282232207996, 41.69234754410698 ], [ -101.075126082813398, 41.692399264642113 ], [ -101.074967607727388, 41.692446845685254 ], [ -101.074807002216204, 41.69249022860776 ], [ -101.074644464172437, 41.692529359953703 ], [ -101.074480193871011, 41.692564191505788 ], [ -101.074314393722418, 41.692594680344918 ], [ -101.074147268023125, 41.692620788902836 ], [ -101.073979022703753, 41.69264248500874 ], [ -101.073809865075177, 41.69265974192875 ], [ -101.073640003573033, 41.692672538398888 ], [ -101.073469647500644, 41.692680858651386 ], [ -101.07329900677108, 41.692684692434021 ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 730, "AREA": 5555421.276, "PERIMETER": 8355.751, "ACRES": 127.535, "HECTARES": 51.612, "origarea": 5.5871437204791753e-05, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.053446719493977, 41.713052995259162 ], [ -101.053276648430568, 41.713052323701795 ], [ -101.053106712269866, 41.713047204970984 ], [ -101.052937118087783, 41.713037645304148 ], [ -101.05276807254333, 41.713023656350167 ], [ -101.052599781626611, 41.713005255155295 ], [ -101.052432450407778, 41.7129824641422 ], [ -101.052266282786888, 41.712955311082794 ], [ -101.052101481245444, 41.712923829064273 ], [ -101.051938246599462, 41.712888056448811 ], [ -101.051776777754739, 41.71284803682677 ], [ -101.051617271464266, 41.7128038189636 ], [ -101.051459922088483, 41.71275545674041 ], [ -101.051304921358295, 41.712703009088123 ], [ -101.051152458141374, 41.712646539915866 ], [ -101.051002718211905, 41.71258611803286 ], [ -101.05085588402423, 41.712521817064648 ], [ -101.05071213449034, 41.712453715363317 ], [ -101.050571644761916, 41.712381895911967 ], [ -101.050434586016848, 41.712306446223572 ], [ -101.05030112525057, 41.71222745823426 ], [ -101.050171425072548, 41.712145028191294 ], [ -101.050045643508199, 41.712059256535738 ], [ -101.049923933806255, 41.711970247780016 ], [ -101.049806444252113, 41.711878110380482 ], [ -101.049693317987092, 41.711782956605269 ], [ -101.049584692834102, 41.711684902397408 ], [ -101.049480701129696, 41.711584067233588 ], [ -101.049381469562931, 41.711480573978378 ], [ -101.049287119020988, 41.711374548734625 ], [ -101.049197764442027, 41.711266120689679 ], [ -101.049113514675142, 41.711155421957983 ], [ -101.049034472347898, 41.711042587419954 ], [ -101.048960733741282, 41.710927754557744 ], [ -101.04889238867257, 41.710811063287636 ], [ -101.048829520386022, 41.710692655789472 ], [ -101.048772205451499, 41.710572676333378 ], [ -101.04872051367137, 41.710451271104063 ], [ -101.048674507995571, 41.710328588022584 ], [ -101.04863424444504, 41.710204776566073 ], [ -101.048599772043616, 41.710079987585701 ], [ -101.048571132758468, 41.709954373122727 ], [ -101.048548361449164, 41.709828086223347 ], [ -101.048531485825265, 41.709701280752057 ], [ -101.048520526412773, 41.709574111204368 ], [ -101.048515496529376, 41.709446732518487 ], [ -101.048516402268206, 41.709319299886445 ], [ -101.048523242490802, 41.709191968565143 ], [ -101.048536008828478, 41.70906489368717 ], [ -101.048554685692821, 41.708938230071709 ], [ -101.048579250294793, 41.708812132036087 ], [ -101.04860967267264, 41.708686753207651 ], [ -101.048645915728642, 41.708562246336605 ], [ -101.048687935274359, 41.708438763110017 ], [ -101.048735680084718, 41.708316453967022 ], [ -101.048789091960558, 41.70819546791553 ], [ -101.048848105799621, 41.708075952350647 ], [ -101.048912649676069, 41.707958052875306 ], [ -101.048982644928188, 41.70784191312277 ], [ -101.049058006254427, 41.707727674581783 ], [ -101.049138641817351, 41.707615476424124 ], [ -101.049224453355663, 41.70750545533518 ], [ -101.049315336304076, 41.707397745347443 ], [ -101.049411179920696, 41.707292477677299 ], [ -101.049511867422069, 41.707189780565137 ], [ -101.049617276125517, 41.707089779119272 ], [ -101.049727277598663, 41.706992595163449 ], [ -101.049841737815967, 41.706898347088668 ], [ -101.049960517321978, 41.70680714970878 ], [ -101.050083471401322, 41.706719114120872 ], [ -101.050210450254994, 41.706634347569825 ], [ -101.050341299182833, 41.706552953317797 ], [ -101.050475858772032, 41.706475030518469 ], [ -101.050613965091301, 41.70640067409623 ], [ -101.050755449890502, 41.706329974630734 ], [ -101.05090014080568, 41.706263018246439 ], [ -101.051047861568918, 41.706199886507825 ], [ -101.051198432223032, 41.706140656320088 ], [ -101.051351669340789, 41.706085399835487 ], [ -101.051507386248161, 41.706034184365429 ], [ -101.051665393251795, 41.705987072298548 ], [ -101.051825497869956, 41.705944121024764 ], [ -101.051987505066862, 41.705905382865438 ], [ -101.052151217490234, 41.705870905009519 ], [ -101.052316435711575, 41.705840729456284 ], [ -101.052482958469028, 41.705814892963978 ], [ -101.052650582912378, 41.705793427005354 ], [ -101.052819104850073, 41.705776357729007 ], [ -101.052988318997862, 41.705763705927843 ], [ -101.053158019228661, 41.705755487013555 ], [ -101.05332799882359, 41.705751710997959 ], [ -101.053498050723675, 41.70575238248081 ], [ -101.053667967781834, 41.705757500644125 ], [ -101.053837543015206, 41.705767059253262 ], [ -101.054006569857108, 41.705781046664441 ], [ -101.054174842408528, 41.705799445838977 ], [ -101.054342155688801, 41.705822234364014 ], [ -101.054508305885278, 41.705849384479784 ], [ -101.054673090601341, 41.705880863113414 ], [ -101.054836309102924, 41.705916631919237 ], [ -101.054997762562934, 41.705956647325436 ], [ -101.055157254303268, 41.706000860587096 ], [ -101.055314590034428, 41.706049217845575 ], [ -101.055469578091945, 41.706101660194058 ], [ -101.055622029669905, 41.706158123749354 ], [ -101.055771759050813, 41.706218539729512 ], [ -101.055918583831755, 41.706282834537802 ], [ -101.056062325146527, 41.706350929852121 ], [ -101.056202807883508, 41.706422742720513 ], [ -101.056339860898859, 41.706498185662056 ], [ -101.056473317225098, 41.706577166773492 ], [ -101.056603014274359, 41.706659589841074 ], [ -101.056728794036474, 41.706745354457709 ], [ -101.056850503271463, 41.706834356145293 ], [ -101.056967993696233, 41.706926486481876 ], [ -101.057081122165229, 41.707021633233772 ], [ -101.057189750844799, 41.707119680492113 ], [ -101.057293747381209, 41.707220508814132 ], [ -101.057392985061853, 41.707323995368526 ], [ -101.057487342969765, 41.707430014085141 ], [ -101.057576706130902, 41.707538435808402 ], [ -101.05766096565435, 41.707649128454705 ], [ -101.057740018865033, 41.707761957173219 ], [ -101.057813769428932, 41.707876784510169 ], [ -101.057882127470492, 41.707993470576206 ], [ -101.057945009682285, 41.708111873216879 ], [ -101.058002339426579, 41.708231848185605 ], [ -101.058054046828872, 41.708353249319664 ], [ -101.058100068863126, 41.708475928717903 ], [ -101.058140349428669, 41.708599736921094 ], [ -101.058174839418811, 41.708724523093949 ], [ -101.058203496780649, 41.708850135208905 ], [ -101.058226286566594, 41.708976420231238 ], [ -101.058243180977044, 41.709103224305501 ], [ -101.058254159394451, 41.709230392943027 ], [ -101.0582592084086, 41.709357771210072 ], [ -101.058258321833065, 41.709485203916635 ], [ -101.058251500713041, 41.709612535805419 ], [ -101.058238753324062, 41.709739611741128 ], [ -101.058220095162284, 41.709866276899369 ], [ -101.05819554892561, 41.709992376955341 ], [ -101.05816514448631, 41.710117758271828 ], [ -101.058128918854734, 41.710242268086525 ], [ -101.0580869161344, 41.710365754697982 ], [ -101.05803918746841, 41.710488067650608 ], [ -101.057985790977298, 41.710609057917949 ], [ -101.057926791688374, 41.710728578084343 ], [ -101.057862261456563, 41.710846482524403 ], [ -101.057792278877116, 41.710962627580699 ], [ -101.057716929189823, 41.711076871738712 ], [ -101.05763630417546, 41.711189075799204 ], [ -101.057550502043881, 41.71129910304807 ], [ -101.057459627314586, 41.711406819422812 ], [ -101.057363790689408, 41.711512093675921 ], [ -101.057263108917752, 41.711614797534935 ], [ -101.057157704654358, 41.711714805858676 ], [ -101.057047706309973, 41.711811996789862 ], [ -101.056933247894918, 41.711906251903571 ], [ -101.056814468855848, 41.71199745635159 ], [ -101.056691513905861, 41.712085499002448 ], [ -101.056564532848213, 41.712170272576834 ], [ -101.056433680393795, 41.712251673778347 ], [ -101.056299115972593, 41.712329603419505 ], [ -101.056161003539458, 41.712403966542553 ], [ -101.056019511374288, 41.712474672535194 ], [ -101.055874811876933, 41.71254163524118 ], [ -101.055727081357119, 41.712604773065188 ], [ -101.055576499819566, 41.712664009072419 ], [ -101.055423250744553, 41.712719271082278 ], [ -101.055267520864305, 41.712770491756402 ], [ -101.05510949993544, 41.712817608680808 ], [ -101.054949380507495, 41.712860564441932 ], [ -101.05478735768844, 41.712899306696528 ], [ -101.054623628906626, 41.712933788235695 ], [ -101.054458393670245, 41.712963967042256 ], [ -101.054291853324088, 41.712989806342044 ], [ -101.054124210804034, 41.713011274648693 ], [ -101.053955670389698, 41.71302834580213 ], [ -101.053786437455372, 41.713040999000299 ], [ -101.053616718219644, 41.713049218824736 ], [ -101.053446719493977, 41.713052995259162 ] ] ] } } +] +} diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.774.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.774.geojson new file mode 100644 index 00000000..b1286b1e --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.774.geojson @@ -0,0 +1 @@ +{"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} \ No newline at end of file diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.691.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.691.geojson new file mode 100644 index 00000000..eb094b12 --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.691.geojson @@ -0,0 +1,8 @@ +{ +"type": "FeatureCollection", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "ID": 729, "AREA": 5250033.07, "PERIMETER": 8122.856, "ACRES": 120.524, "HECTARES": 48.775, "origarea": 5.2762995726160596e-05, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.093373895150492, 41.666682720015125 ], [ -101.093205882274361, 41.666682077016581 ], [ -101.093038005700407, 41.666676962986571 ], [ -101.092870476986292, 41.666667384369802 ], [ -101.09270350725113, 41.666653353237152 ], [ -101.092537306909236, 41.666634887270611 ], [ -101.092372085404875, 41.666612009740838 ], [ -101.092208050948187, 41.666584749477927 ], [ -101.092045410252695, 41.666553140834992 ], [ -101.091884368274648, 41.666517223644874 ], [ -101.09172512795466, 41.666477043169976 ], [ -101.091567889961865, 41.666432650045088 ], [ -101.091412852440897, 41.666384100213648 ], [ -101.091260210762144, 41.666331454857136 ], [ -101.091110157275438, 41.666274780318041 ], [ -101.090962881067554, 41.666214148016103 ], [ -101.090818567723915, 41.666149634358312 ], [ -101.090677399094616, 41.666081320642647 ], [ -101.090539553065241, 41.666009292955522 ], [ -101.090405203332665, 41.665933642063194 ], [ -101.090274519186067, 41.665854463297528 ], [ -101.090147665293642, 41.665771856435626 ], [ -101.090024801495105, 41.665685925574117 ], [ -101.08990608260018, 41.665596778998001 ], [ -101.089791658193633, 41.665504529044028 ], [ -101.089681672446716, 41.665409291959136 ], [ -101.08957626393557, 41.665311187753971 ], [ -101.0894755654666, 41.665210340051516 ], [ -101.089379703909245, 41.665106875931379 ], [ -101.089288800036115, 41.665000925769426 ], [ -101.089202968370941, 41.664892623073726 ], [ -101.089122317044229, 41.664782104315954 ], [ -101.089046947657266, 41.664669508759673 ], [ -101.088976955154038, 41.664554978284578 ], [ -101.088912427701842, 41.664438657207839 ], [ -101.088853446580217, 41.664320692102102 ], [ -101.088800086078663, 41.664201231610839 ], [ -101.088752413403242, 41.664080426260995 ], [ -101.088710488591957, 41.663958428273261 ], [ -101.088674364439299, 41.663835391370256 ], [ -101.088644086429852, 41.663711470582832 ], [ -101.088619692681149, 41.66358682205464 ], [ -101.088601213895842, 41.663461602845494 ], [ -101.08858867332313, 41.663335970733328 ], [ -101.088582086729673, 41.663210084015397 ], [ -101.088581462379864, 41.663084101308947 ], [ -101.088586801025656, 41.662958181351193 ], [ -101.088598095905709, 41.662832482799381 ], [ -101.088615332754159, 41.662707164030877 ], [ -101.088638489818706, 41.662582382943675 ], [ -101.088667537888213, 41.662458296757336 ], [ -101.088702440329698, 41.662335061815057 ], [ -101.088743153134644, 41.662212833386548 ], [ -101.088789624974595, 41.662091765472589 ], [ -101.088841797266014, 41.661972010610896 ], [ -101.088899604244205, 41.66185371968394 ], [ -101.088962973046364, 41.661737041729033 ], [ -101.089031823803481, 41.661622123750398 ], [ -101.089106069741121, 41.661509110534105 ], [ -101.089185617288848, 41.661398144465714 ], [ -101.089270366198321, 41.661289365350754 ], [ -101.089360209669522, 41.661182910238814 ], [ -101.089455034485582, 41.661078913250833 ], [ -101.089554721155466, 41.660977505410145 ], [ -101.089659144064541, 41.66087881447752 ], [ -101.089768171632926, 41.660782964790158 ], [ -101.089881666481347, 41.660690077105194 ], [ -101.089999485604238, 41.66060026844751 ], [ -101.090121480549925, 41.660513651962411 ], [ -101.090247497607749, 41.660430336773118 ], [ -101.090377378001619, 41.660350427843298 ], [ -101.090510958090164, 41.660274025844963 ], [ -101.090648069572794, 41.660201227031557 ], [ -101.090788539701748, 41.660132123116888 ], [ -101.090932191499718, 41.660066801159495 ], [ -101.0910788439827, 41.660005343453122 ], [ -101.09122831238804, 41.659947827422997 ], [ -101.09138040840709, 41.659894325528406 ], [ -101.091534940422378, 41.659844905171404 ], [ -101.091691713748943, 41.659799628611971 ], [ -101.091850530879469, 41.659758552889542 ], [ -101.092011191733121, 41.65972172975129 ], [ -101.092173493907367, 41.659689205586844 ], [ -101.092337232933005, 41.659661021370006 ], [ -101.092502202531477, 41.659637212607024 ], [ -101.092668194874804, 41.659617809291987 ], [ -101.092835000847117, 41.659602835868974 ], [ -101.093002410308102, 41.659592311201358 ], [ -101.093170212357492, 41.65958624854801 ], [ -101.093338195600737, 41.659584655546553 ], [ -101.093506148415102, 41.659587534203858 ], [ -101.093673859216196, 41.659594880893401 ], [ -101.093841116724363, 41.659606686359922 ], [ -101.09400771023067, 41.659622935731043 ], [ -101.094173429862323, 41.659643608535958 ], [ -101.094338066846859, 41.659668678731286 ], [ -101.094501413775092, 41.659698114733786 ], [ -101.094663264862248, 41.65973187946021 ], [ -101.094823416207049, 41.659769930373876 ], [ -101.094981666048611, 41.659812219538381 ], [ -101.095137815020379, 41.65985869367784 ], [ -101.095291666401266, 41.659909294244066 ], [ -101.095443026363398, 41.65996395749022 ], [ -101.095591704216176, 41.660022614551096 ], [ -101.095737512646437, 41.660085191529888 ], [ -101.095880267954414, 41.660151609591196 ], [ -101.096019790285055, 41.660221785060365 ], [ -101.096155903854637, 41.660295629528768 ], [ -101.096288437172063, 41.660373049965187 ], [ -101.096417223255017, 41.660453948832995 ], [ -101.096542099840192, 41.660538224212928 ], [ -101.096662909587849, 41.660625769931535 ], [ -101.096779500279879, 41.660716475694777 ], [ -101.096891725011773, 41.660810227226982 ], [ -101.096999442377594, 41.660906906414802 ], [ -101.097102516648164, 41.661006391455913 ], [ -101.097200817942237, 41.661108557012447 ], [ -101.097294222390062, 41.661213274368883 ], [ -101.097382612289579, 41.661320411594104 ], [ -101.097465876254731, 41.661429833707587 ], [ -101.097543909355991, 41.661541402849501 ], [ -101.097616613252555, 41.661654978454202 ], [ -101.097683896316411, 41.661770417427455 ], [ -101.09774567374788, 41.661887574326528 ], [ -101.097801867682563, 41.662006301543535 ], [ -101.097852407289636, 41.662126449491289 ], [ -101.097897228861143, 41.662247866791738 ], [ -101.097936275892522, 41.662370400466777 ], [ -101.097969499153834, 41.662493896130776 ], [ -101.097996856752047, 41.662618198185264 ], [ -101.098018314183903, 41.662743150014833 ], [ -101.0980338443796, 41.662868594184495 ], [ -101.098043427737124, 41.662994372638025 ], [ -101.098047052146953, 41.663120326897143 ], [ -101.098044713007667, 41.663246298261043 ], [ -101.098036413231824, 41.6633721280066 ], [ -101.098022163242518, 41.663497657588117 ], [ -101.098001980960348, 41.663622728837197 ], [ -101.097975891781076, 41.663747184162119 ], [ -101.097943928543785, 41.663870866746244 ], [ -101.097906131489623, 41.663993620745806 ], [ -101.097862548211367, 41.664115291486212 ], [ -101.097813233593456, 41.66423572565688 ], [ -101.097758249743151, 41.66435477150462 ], [ -101.097697665912349, 41.664472279024722 ], [ -101.097631558410413, 41.664588100150098 ], [ -101.097560010508246, 41.66470208893778 ], [ -101.097483112333478, 41.664814101753024 ], [ -101.097400960756929, 41.664923997450209 ], [ -101.097313659270768, 41.665031637550683 ], [ -101.097221317858114, 41.665136886417464 ], [ -101.097124052854639, 41.665239611426102 ], [ -101.09702198680192, 41.665339683131826 ], [ -101.096915248293243, 41.665436975432755 ], [ -101.096803971811482, 41.665531365728803 ], [ -101.096688297559808, 41.665622735076298 ], [ -101.096568371285002, 41.66571096833782 ], [ -101.096444344093754, 41.665795954327329 ], [ -101.096316372262436, 41.665877585950454 ], [ -101.096184617040009, 41.665955760339386 ], [ -101.096049244444913, 41.666030378982519 ], [ -101.095910425055834, 41.666101347848794 ], [ -101.095768333796698, 41.666168577506077 ], [ -101.095623149716275, 41.666231983233956 ], [ -101.09547505576235, 41.666291485130643 ], [ -101.095324238551328, 41.666347008213542 ], [ -101.095170888132841, 41.666398482513863 ], [ -101.095015197750271, 41.666445843164873 ], [ -101.094857363597058, 41.666489030483589 ], [ -101.094697584569502, 41.666527990046141 ], [ -101.094536062015905, 41.6665626727562 ], [ -101.094372999482772, 41.666593034907073 ], [ -101.094208602458238, 41.666619038236703 ], [ -101.094043078112932, 41.666640649975939 ], [ -101.093876635038811, 41.66665784288984 ], [ -101.093709482986185, 41.666670595312013 ], [ -101.093541832599229, 41.666678891171912 ], [ -101.093373895150492, 41.666682720015125 ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 728, "AREA": 5163530.754, "PERIMETER": 8055.665, "ACRES": 118.538, "HECTARES": 47.971, "origarea": 5.1914453844142963e-05, "origlen": 0, "partialDec": 0.75652517021531696, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.08684557989308, 41.6909693625486 ], [ -101.086801421108277, 41.690895860973342 ], [ -101.086738088821946, 41.690779522720376 ], [ -101.086680336932773, 41.690661564219006 ], [ -101.086628239010238, 41.690542135797756 ], [ -101.086581861417201, 41.690421389657686 ], [ -101.086541263225456, 41.690299479678309 ], [ -101.086506496140515, 41.690176561221499 ], [ -101.08647760443597, 41.6900527909334 ], [ -101.086454624897215, 41.68992832654493 ], [ -101.086437586774707, 41.689803326670564 ], [ -101.086426511746893, 41.689677950606338 ], [ -101.086421413892751, 41.689552358126782 ], [ -101.08642229967397, 41.689426709281257 ], [ -101.086429167927008, 41.68930116419012 ], [ -101.086442009864612, 41.689175882840487 ], [ -101.086460809087313, 41.689051024882573 ], [ -101.086485541604446, 41.688926749426038 ], [ -101.086516175864872, 41.688803214837449 ], [ -101.08655267279741, 41.688680578538282 ], [ -101.086594985860742, 41.688558996804524 ], [ -101.086643061102933, 41.688438624567418 ], [ -101.086696837230306, 41.688319615216081 ], [ -101.086756245685677, 41.688202120402188 ], [ -101.086821210735934, 41.688086289846488 ], [ -101.086891649568599, 41.687972271148418 ], [ -101.086967472397546, 41.687860209597709 ], [ -101.087048582577495, 41.687750247989499 ], [ -101.087134876727319, 41.687642526442353 ], [ -101.08722624486181, 41.687537182219735 ], [ -101.087322570532024, 41.687434349555197 ], [ -101.08742373097364, 41.687334159481303 ], [ -101.087529597263526, 41.687236739662815 ], [ -101.087640034484096, 41.687142214233944 ], [ -101.087754901895238, 41.687050703640352 ], [ -101.08787405311368, 41.686962324485577 ], [ -101.087997336299622, 41.686877189382663 ], [ -101.088124594350134, 41.686795406810617 ], [ -101.088255665099396, 41.686717080976273 ], [ -101.088390381525329, 41.686642311681524 ], [ -101.088528571962371, 41.68657119419624 ], [ -101.088670060320226, 41.686503819136888 ], [ -101.088814666308181, 41.686440272351213 ], [ -101.088962205664757, 41.686380634808714 ], [ -101.089112490392495, 41.68632498249773 ], [ -101.089265328997385, 41.68627338632848 ], [ -101.089420526732781, 41.686225912042893 ], [ -101.089577885847547, 41.686182620130744 ], [ -101.089737205837793, 41.686143565752715 ], [ -101.089898283702368, 41.686108798670148 ], [ -101.090060914201374, 41.686078363181572 ], [ -101.09022489011754, 41.686052298066386 ], [ -101.090390002520166, 41.686030636535399 ], [ -101.090556041031192, 41.686013406188628 ], [ -101.090722794093111, 41.686000628980047 ], [ -101.090890049238467, 41.685992321189666 ], [ -101.091057593360361, 41.685988493402803 ], [ -101.091225212983872, 41.685989150496631 ], [ -101.09139269453793, 41.685994291633918 ], [ -101.091559824627296, 41.686003910264098 ], [ -101.091726390304359, 41.686017994131639 ], [ -101.091892179340249, 41.686036525291676 ], [ -101.092056980495215, 41.686059480132762 ], [ -101.092220583787565, 41.686086829407053 ], [ -101.092382780761156, 41.686118538267472 ], [ -101.092543364750838, 41.686154566312183 ], [ -101.092702131145657, 41.686194867635948 ], [ -101.092858877649533, 41.686239390888581 ], [ -101.093013404538766, 41.686288079340507 ], [ -101.093165514916606, 41.686340870954801 ], [ -101.093315014963849, 41.686397698466344 ], [ -101.093461714185892, 41.686458489467398 ], [ -101.093605425655255, 41.686523166499974 ], [ -101.093745966249756, 41.686591647154238 ], [ -101.093883156885838, 41.686663844173751 ], [ -101.094016822746568, 41.686739665566407 ], [ -101.094146793504507, 41.686819014721635 ], [ -101.094272903538624, 41.686901790533575 ], [ -101.094394992145354, 41.686987887529661 ], [ -101.09451290374335, 41.68707719600512 ], [ -101.094626488071796, 41.687169602162712 ], [ -101.094735600381782, 41.687264988257496 ], [ -101.094840101620903, 41.687363232747067 ], [ -101.09493985861036, 41.687464210446208 ], [ -101.095034744214843, 41.687567792686401 ], [ -101.095124637504512, 41.687673847479701 ], [ -101.095209423909182, 41.68778223968701 ], [ -101.095288995364456, 41.687892831190005 ], [ -101.095363250449395, 41.688005481067307 ], [ -101.095432094516056, 41.688120045773935 ], [ -101.095495439810009, 41.688236379324053 ], [ -101.095553205582419, 41.688354333477179 ], [ -101.095605318193037, 41.688473757926893 ], [ -101.095651711204155, 41.688594500492407 ], [ -101.095692325465436, 41.688716407312405 ], [ -101.095727109189468, 41.68883932304113 ], [ -101.095756018017852, 41.688963091046304 ], [ -101.095779015077966, 41.68908755360868 ], [ -101.095796071030037, 41.689212552123067 ], [ -101.095807164104784, 41.689337927300379 ], [ -101.09581228013127, 41.689463519370577 ], [ -101.095811412555179, 41.689589168286389 ], [ -101.095804562447327, 41.689714713927145 ], [ -101.095791738502456, 41.689839996302872 ], [ -101.095772957028359, 41.68996485575817 ], [ -101.095748241925278, 41.690089133175704 ], [ -101.095717624655606, 41.690212670178958 ], [ -101.095681144203937, 41.69033530933411 ], [ -101.095638847027615, 41.690456894350646 ], [ -101.09559078699759, 41.690577270280606 ], [ -101.095537025330088, 41.690696283716008 ], [ -101.095477630508526, 41.690813782984449 ], [ -101.09541267819661, 41.690929618342359 ], [ -101.095388130103927, 41.6909693625486 ], [ -101.08684557989308, 41.6909693625486 ] ] ] } } +] +} diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.732.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.732.geojson new file mode 100644 index 00000000..3d12cbbf --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.732.geojson @@ -0,0 +1,10 @@ +{ +"type": "FeatureCollection", +"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, +"features": [ +{ "type": "Feature", "properties": { "ID": 725, "AREA": 5476760.938, "PERIMETER": 8296.389, "ACRES": 125.729, "HECTARES": 50.881, "origarea": 5.5082270675977609e-05, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.111815161434677, 41.715330608692398 ], [ -101.111645348776378, 41.715330011671831 ], [ -101.111475668706532, 41.715324949556383 ], [ -101.111306330305197, 41.715315428583601 ], [ -101.111137542231177, 41.715301460485222 ], [ -101.110969512464891, 41.715283062472679 ], [ -101.110802448051842, 41.715260257215945 ], [ -101.110636554847488, 41.715233072815579 ], [ -101.110472037263392, 41.715201542768014 ], [ -101.110309098015222, 41.715165705924363 ], [ -101.110147937872952, 41.715125606442449 ], [ -101.109988755413227, 41.715081293732354 ], [ -101.109831746774702, 41.715032822395649 ], [ -101.109677105416225, 41.714980252157872 ], [ -101.109525021878326, 41.714923647795082 ], [ -101.10937568354845, 41.714863079053906 ], [ -101.109229274429907, 41.714798620565595 ], [ -101.10908597491516, 41.714730351754014 ], [ -101.108945961563435, 41.714658356737743 ], [ -101.10880940688314, 41.714582724226396 ], [ -101.108676479119325, 41.714503547411276 ], [ -101.108547342046307, 41.71442092385044 ], [ -101.108422154765819, 41.714334955348527 ], [ -101.108301071511121, 41.714245747831271 ], [ -101.108184241456769, 41.714153411214831 ], [ -101.108071808535001, 41.714058059270407 ], [ -101.107963911258338, 41.713959809484038 ], [ -101.107860682548946, 41.713858782911707 ], [ -101.107762249574989, 41.71375510403017 ], [ -101.107668733593897, 41.713648900583593 ], [ -101.107580249803121, 41.713540303425994 ], [ -101.107496907198254, 41.713429446360102 ], [ -101.107418808438794, 41.713316465972412 ], [ -101.107346049721826, 41.713201501464795 ], [ -101.10727872066353, 41.713084694483008 ], [ -101.107216904188917, 41.712966188942154 ], [ -101.107160676429814, 41.712846130849293 ], [ -101.107110106631154, 41.712724668123528 ], [ -101.107065257065827, 41.712601950413763 ], [ -101.107026182958094, 41.712478128914221 ], [ -101.106992932415665, 41.712353356178205 ], [ -101.106965546370688, 41.712227785930153 ], [ -101.106944058529336, 41.712101572876158 ], [ -101.106928495330578, 41.711974872513345 ], [ -101.106918875913692, 41.711847840938361 ], [ -101.106915212094862, 41.711720634654966 ], [ -101.106917508352851, 41.711593410381283 ], [ -101.106925761823604, 41.711466324856708 ], [ -101.10693996230394, 41.711339534648729 ], [ -101.10696009226433, 41.711213195960148 ], [ -101.106986126870638, 41.711087464436595 ], [ -101.107018034014899, 41.710962494974829 ], [ -101.107055774355047, 41.710838441531855 ], [ -101.107099301363547, 41.710715456935318 ], [ -101.107148561384818, 41.710593692695284 ], [ -101.107203493701547, 41.710473298817526 ], [ -101.107264030609656, 41.710354423618845 ], [ -101.107330097501773, 41.710237213544289 ], [ -101.107401612959293, 41.710121812986877 ], [ -101.107478488852891, 41.71000836410964 ], [ -101.107560630451104, 41.709897006670623 ], [ -101.107647936537191, 41.709787877850744 ], [ -101.107740299533901, 41.709681112084745 ], [ -101.107837605636163, 41.709576840895771 ], [ -101.107939734951231, 41.709475192733279 ], [ -101.108046561646574, 41.709376292814902 ], [ -101.108157954104868, 41.709280262972193 ], [ -101.108273775086246, 41.709187221500699 ], [ -101.108393881897371, 41.709097283014117 ], [ -101.108518126567191, 41.709010558303333 ], [ -101.108646356029368, 41.708927154199849 ], [ -101.108778412310727, 41.708847173444362 ], [ -101.108914132725872, 41.708770714560117 ], [ -101.109053350077659, 41.708697871731651 ], [ -101.109195892863013, 41.708628734688858 ], [ -101.109341585484259, 41.708563388596453 ], [ -101.109490248465363, 41.708501913949078 ], [ -101.109641698672917, 41.708444386472266 ], [ -101.109795749541689, 41.708390877029188 ], [ -101.109952211304403, 41.70834145153335 ], [ -101.110110891225432, 41.708296170867435 ], [ -101.110271593837993, 41.708255090808414 ], [ -101.110434121185023, 41.708218261958834 ], [ -101.110598273062763, 41.708185729684502 ], [ -101.110763847267393, 41.708157534058593 ], [ -101.110930639843858, 41.708133709812429 ], [ -101.111098445337163, 41.708114286292584 ], [ -101.111267057045112, 41.708099287424837 ], [ -101.111436267273021, 41.708088731684711 ], [ -101.111605867589262, 41.708082632074685 ], [ -101.111775649081949, 41.708080996108187 ], [ -101.111945402616143, 41.708083825800429 ], [ -101.112114919091354, 41.708091117665759 ], [ -101.112283989698909, 41.708102862722193 ], [ -101.112452406179102, 41.708119046502198 ], [ -101.112619961077556, 41.708139649070709 ], [ -101.112786448000676, 41.708164645049592 ], [ -101.112951661869701, 41.70819400364892 ], [ -101.113115399173267, 41.708227688704831 ], [ -101.113277458217965, 41.708265658724109 ], [ -101.113437639376613, 41.708307866935243 ], [ -101.113595745334152, 41.708354261346031 ], [ -101.113751581330533, 41.70840478480752 ], [ -101.113904955400542, 41.708459375084509 ], [ -101.1140556786102, 41.708517964932064 ], [ -101.114203565289429, 41.708580482178313 ], [ -101.114348433260673, 41.708646849813434 ], [ -101.11449010406325, 41.708716986084276 ], [ -101.114628403173171, 41.70879080459521 ], [ -101.114763160218004, 41.708868214414437 ], [ -101.114894209186829, 41.708949120185849 ], [ -101.115021388634631, 41.709033422246669 ], [ -101.115144541881222, 41.709121016750004 ], [ -101.115263517204156, 41.709211795792719 ], [ -101.115378168025785, 41.709305647548412 ], [ -101.115488353093724, 41.70940245640503 ], [ -101.115593936654932, 41.70950210310734 ], [ -101.115694788623003, 41.709604464903656 ], [ -101.115790784738422, 41.709709415697063 ], [ -101.115881806721802, 41.709816826200765 ], [ -101.115967742419514, 41.709926564097266 ], [ -101.116048485942073, 41.7100384942012 ], [ -101.116123937794612, 41.710152478626107 ], [ -101.116194004999556, 41.710268376953955 ], [ -101.116258601211285, 41.71038604640831 ], [ -101.116317646822651, 41.710505342030032 ], [ -101.116371069063106, 41.710626116855934 ], [ -101.11641880208856, 41.710748222099681 ], [ -101.116460787062579, 41.710871507335192 ], [ -101.116496972229058, 41.710995820681809 ], [ -101.116527312976174, 41.711121008991476 ], [ -101.11655177189138, 41.71124691803729 ], [ -101.11657031880776, 41.711373392703607 ], [ -101.116582930841361, 41.711500277177016 ], [ -101.116589592419501, 41.711627415138381 ], [ -101.116590295300142, 41.711754649955296 ], [ -101.116585038582258, 41.711881824875135 ], [ -101.116573828707047, 41.712008783218288 ], [ -101.116556679450269, 41.71213536857082 ], [ -101.116533611905325, 41.712261424977655 ], [ -101.116504654457515, 41.712386797134364 ], [ -101.116469842749254, 41.712511330578664 ], [ -101.116429219636217, 41.712634871880752 ], [ -101.116382835134829, 41.712757268832299 ], [ -101.116330746360745, 41.712878370634002 ], [ -101.116273017458553, 41.712998028081429 ], [ -101.116209719523042, 41.713116093748908 ], [ -101.116140930511605, 41.713232422171096 ], [ -101.116066735148436, 41.713346870022356 ], [ -101.115987224820145, 41.713459296293259 ], [ -101.115902497463424, 41.713569562464443 ], [ -101.115812657444323, 41.713677532677295 ], [ -101.115717815429917, 41.713783073901403 ], [ -101.115618088251892, 41.713886056098438 ], [ -101.115513598762789, 41.713986352382555 ], [ -101.11540447568467, 41.714083839176588 ], [ -101.115290853450546, 41.714178396364495 ], [ -101.115172872038812, 41.714269907439416 ], [ -101.115050676800806, 41.71435825964717 ], [ -101.11492441828176, 41.7144433441253 ], [ -101.114794252035281, 41.714525056037239 ], [ -101.114660338431733, 41.714603294701583 ], [ -101.114522842460616, 41.714677963716056 ], [ -101.11438193352727, 41.71474897107651 ], [ -101.114237785244043, 41.714816229290165 ], [ -101.114090575216508, 41.714879655483628 ], [ -101.113940484824326, 41.714939171504938 ], [ -101.113787698997953, 41.714994704019894 ], [ -101.113632405990529, 41.715046184602535 ], [ -101.113474797145955, 41.715093549819443 ], [ -101.113315066662963, 41.715136741307923 ], [ -101.113153411355782, 41.71517570584804 ], [ -101.112990030411495, 41.715210395428066 ], [ -101.11282512514461, 41.715240767303833 ], [ -101.112658898748705, 41.715266784051316 ], [ -101.112491556046137, 41.715288413612804 ], [ -101.112323303235414, 41.715305629336449 ], [ -101.112154347637031, 41.715318410009111 ], [ -101.111984897437893, 41.715326739882457 ], [ -101.111815161434677, 41.715330608692398 ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 724, "AREA": 6975423.905, "PERIMETER": 9362.892, "ACRES": 160.134, "HECTARES": 64.804, "origarea": 7.0168311314344295e-05, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.105563544642948, 41.728275581313468 ], [ -101.105382960788944, 41.728275074220257 ], [ -101.105202498070824, 41.728270094395427 ], [ -101.105022353859226, 41.728260647285339 ], [ -101.104842725176226, 41.728246743222186 ], [ -101.104663808479785, 41.728228397412693 ], [ -101.104485799448696, 41.728205629921433 ], [ -101.104308892768501, 41.728178465648881 ], [ -101.104133281918436, 41.72814693430422 ], [ -101.103959158959753, 41.728111070372762 ], [ -101.103786714325466, 41.72807091307822 ], [ -101.103616136612061, 41.72802650633983 ], [ -101.103447612373103, 41.727977898724284 ], [ -101.103281325915148, 41.727925143392511 ], [ -101.103117459095969, 41.727868298041606 ], [ -101.102956191125756, 41.727807424841664 ], [ -101.102797698370921, 41.727742590367683 ], [ -101.102642154161146, 41.727673865526825 ], [ -101.102489728599892, 41.727601325480784 ], [ -101.102340588378112, 41.727525049563468 ], [ -101.102194896592096, 41.727445121194364 ], [ -101.102052812564949, 41.727361627787076 ], [ -101.101914491672375, 41.72727466065384 ], [ -101.10178008517272, 41.727184314905514 ], [ -101.101649740041566, 41.727090689347555 ], [ -101.101523598810971, 41.726993886371901 ], [ -101.101401799413608, 41.72689401184499 ], [ -101.101284475031946, 41.72679117499186 ], [ -101.10117175395267, 41.726685488276757 ], [ -101.101063759426353, 41.726577067279969 ], [ -101.100960609532791, 41.726466030571515 ], [ -101.100862417051857, 41.726352499581296 ], [ -101.100769289340334, 41.726236598466365 ], [ -101.100681328214478, 41.726118453975133 ], [ -101.100598629838856, 41.725998195308549 ], [ -101.100521284621195, 41.725875953978949 ], [ -101.100449377113691, 41.72575186366609 ], [ -101.100382985920604, 41.725626060071001 ], [ -101.100322183612462, 41.725498680767473 ], [ -101.100267036646741, 41.725369865051682 ], [ -101.100217605295441, 41.725239753789722 ], [ -101.100173943579236, 41.725108489263597 ], [ -101.100136099208513, 41.724976215015616 ], [ -101.100104113531444, 41.724843075691396 ], [ -101.100078021488841, 41.724709216881621 ], [ -101.100057851576153, 41.724574784962911 ], [ -101.100043625812404, 41.724439926937606 ], [ -101.10003535971633, 41.724304790273187 ], [ -101.10003306228954, 41.724169522740858 ], [ -101.100036736006871, 41.724034272254002 ], [ -101.100046376813779, 41.723899186706561 ], [ -101.100061974131037, 41.723764413811033 ], [ -101.100083510866341, 41.723630100937285 ], [ -101.100110963433266, 41.723496394951219 ], [ -101.100144301777163, 41.723363442054179 ], [ -101.100183489408209, 41.72323138762323 ], [ -101.100228483441441, 41.723100376052102 ], [ -101.100279234643779, 41.722970550593374 ], [ -101.100335687488055, 41.722842053201845 ], [ -101.100397780213811, 41.722715024379333 ], [ -101.100465444895022, 41.722589603021106 ], [ -101.100538607514494, 41.722465926263936 ], [ -101.100617188044822, 41.722344129336413 ], [ -101.100701100536128, 41.722224345410815 ], [ -101.100790253210121, 41.722106705457811 ], [ -101.100884548560472, 41.721991338103066 ], [ -101.10098388345962, 41.721878369486845 ], [ -101.101088149271547, 41.721767923126016 ], [ -101.101197231970673, 41.721660119779024 ], [ -101.101311012266549, 41.72155507731398 ], [ -101.101429365734404, 41.721452910579792 ], [ -101.101552162951222, 41.721353731280622 ], [ -101.101679269637202, 41.721257647853804 ], [ -101.101810546802739, 41.721164765351439 ], [ -101.101945850900336, 41.721075185325354 ], [ -101.10208503398151, 41.720989005716312 ], [ -101.102227943858679, 41.720906320746941 ], [ -101.102374424271432, 41.720827220818684 ], [ -101.102524315057408, 41.720751792413054 ], [ -101.102677452327384, 41.720680117997162 ], [ -101.102833668644394, 41.72061227593354 ], [ -101.102992793206781, 41.720548340394501 ], [ -101.10315465203486, 41.720488381281157 ], [ -101.103319068161056, 41.720432464146946 ], [ -101.103485861823401, 41.720380650126074 ], [ -101.103654850661854, 41.720332995866649 ], [ -101.10382584991774, 41.720289553468788 ], [ -101.103998672635541, 41.720250370427756 ], [ -101.104173129867277, 41.720215489581967 ], [ -101.104349030878936, 41.720184949066265 ], [ -101.104526183358942, 41.720158782270182 ], [ -101.104704393628225, 41.72013701780147 ], [ -101.104883466851959, 41.720119679454939 ], [ -101.105063207252329, 41.720106786186236 ], [ -101.105243418322559, 41.720098352091412 ], [ -101.105423903041611, 41.720094386391253 ], [ -101.105604464089396, 41.720094893421411 ], [ -101.10578490406246, 41.72009987262755 ], [ -101.105965025689613, 41.720109318566031 ], [ -101.106144632047545, 41.720123220909734 ], [ -101.106323526775924, 41.720141564459503 ], [ -101.10650151429202, 41.720164329160603 ], [ -101.106678400004341, 41.720191490124776 ], [ -101.106853990525366, 41.720223017657318 ], [ -101.107028093882747, 41.720258877289588 ], [ -101.107200519729147, 41.720299029816644 ], [ -101.107371079550248, 41.720343431340126 ], [ -101.107539586870715, 41.720392033316124 ], [ -101.107705857458015, 41.720444782608389 ], [ -101.107869709523712, 41.720501621546227 ], [ -101.108030963922175, 41.7205624879876 ], [ -101.108189444346337, 41.72062731538702 ], [ -101.108344977520389, 41.720696032868304 ], [ -101.108497393389186, 41.720768565301952 ], [ -101.10864652530411, 41.720844833387268 ], [ -101.108792210205223, 41.720924753739091 ], [ -101.108934288799503, 41.721008238978818 ], [ -101.109072605735037, 41.72109519782996 ], [ -101.109207009770742, 41.72118553521787 ], [ -101.109337353941839, 41.721279152373668 ], [ -101.109463495720476, 41.721375946942096 ], [ -101.109585297171549, 41.721475813093548 ], [ -101.109702625103623, 41.721578641639539 ], [ -101.109815351214493, 41.721684320152235 ], [ -101.109923352231576, 41.721792733087149 ], [ -101.110026510046723, 41.721903761909573 ], [ -101.110124711845373, 41.722017285223998 ], [ -101.110217850230043, 41.722133178906986 ], [ -101.110305823337768, 41.722251316242641 ], [ -101.110388534951625, 41.722371568061291 ], [ -101.11046589460598, 41.72249380288055 ], [ -101.110537817685483, 41.72261788704909 ], [ -101.110604225517832, 41.722743684892812 ], [ -101.11066504545974, 41.722871058863028 ], [ -101.110720210976567, 41.722999869686916 ], [ -101.110769661715238, 41.723129976519743 ], [ -101.1108133435703, 41.723261237098882 ], [ -101.110851208743284, 41.723393507899267 ], [ -101.11088321579507, 41.723526644290395 ], [ -101.110909329691353, 41.723660500694386 ], [ -101.110929521841186, 41.723794930745164 ], [ -101.110943770128245, 41.72392978744849 ], [ -101.110952058935325, 41.724064923342745 ], [ -101.110954379161527, 41.724200190660035 ], [ -101.110950728232297, 41.724335441487924 ], [ -101.110941110102516, 41.724470527931039 ], [ -101.110925535252321, 41.72460530227287 ], [ -101.11090402067569, 41.724739617137288 ], [ -101.110876589862187, 41.724873325649696 ], [ -101.110843272771334, 41.725006281597665 ], [ -101.110804105800042, 41.725138339590806 ], [ -101.11075913174291, 41.725269355219801 ], [ -101.11070839974569, 41.725399185214336 ], [ -101.110651965251535, 41.725527687599801 ], [ -101.110589889940684, 41.7256547218525 ], [ -101.110522241663006, 41.725780149053463 ], [ -101.110449094364, 41.725903832040295 ], [ -101.110370528004012, 41.726025635557271 ], [ -101.110286628471016, 41.726145426403207 ], [ -101.110197487486602, 41.72626307357725 ], [ -101.110103202506011, 41.726378448422075 ], [ -101.110003876611444, 41.726491424764689 ], [ -101.109899618399552, 41.726601879054513 ], [ -101.109790541862679, 41.72670969049836 ], [ -101.109676766264329, 41.726814741192712 ], [ -101.109558416008724, 41.726916916252705 ], [ -101.10943562050484, 41.727016103937778 ], [ -101.109308514025003, 41.727112195773849 ], [ -101.109177235557866, 41.727205086672164 ], [ -101.10904192865668, 41.727294675044106 ], [ -101.108902741282151, 41.727380862912426 ], [ -101.108759825640647, 41.7274635560184 ], [ -101.108613338017776, 41.727542663924993 ], [ -101.108463438607444, 41.727618100115791 ], [ -101.108310291336565, 41.727689782089676 ], [ -101.108154063685845, 41.727757631451041 ], [ -101.107994926506507, 41.727821573995669 ], [ -101.107833053833403, 41.727881539791802 ], [ -101.107668622694646, 41.727937463256779 ], [ -101.10750181291786, 41.727989283228759 ], [ -101.107332806933528, 41.728036943033572 ], [ -101.107161789575315, 41.728080390546836 ], [ -101.10698894787788, 41.72811957825094 ], [ -101.106814470872237, 41.728154463287069 ], [ -101.106638549378815, 41.728185007502084 ], [ -101.106461375798773, 41.728211177490259 ], [ -101.106283143903468, 41.728232944629845 ], [ -101.106104048622271, 41.728250285114449 ], [ -101.105924285829431, 41.728263179978946 ], [ -101.105744052129666, 41.728271615120434 ], [ -101.105563544642948, 41.728275581313468 ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 726, "AREA": 5621916.146, "PERIMETER": 8405.609, "ACRES": 129.061, "HECTARES": 52.23, "origarea": 5.6539462652480083e-05, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.092358560362669, 41.712236645375988 ], [ -101.092187476272855, 41.712236027505718 ], [ -101.092016525201814, 41.712230935878544 ], [ -101.091845915462471, 41.71222137669892 ], [ -101.091675854951504, 41.712207361615128 ], [ -101.091506550896057, 41.712188907705233 ], [ -101.091338209600977, 41.712166037456207 ], [ -101.091171036197437, 41.712138778736531 ], [ -101.09100523439264, 41.712107164762187 ], [ -101.090841006221723, 41.712071234056168 ], [ -101.090678551801261, 41.712031030401548 ], [ -101.090518069085391, 41.711986602788066 ], [ -101.090359753624497, 41.711938005352415 ], [ -101.090203798326854, 41.711885297312257 ], [ -101.090050393223422, 41.71182854289404 ], [ -101.089899725236208, 41.711767811254639 ], [ -101.089751977950485, 41.711703176397116 ], [ -101.089607331390965, 41.711634717080472 ], [ -101.089465961802446, 41.711562516723617 ], [ -101.089328041434939, 41.711486663303752 ], [ -101.089193738333805, 41.711407249249085 ], [ -101.089063216134861, 41.711324371326086 ], [ -101.088936633865188, 41.711238130521629 ], [ -101.088814145749097, 41.711148631919848 ], [ -101.088695901020387, 41.711055984574088 ], [ -101.088582043740487, 41.710960301373937 ], [ -101.088472712622874, 41.710861698907621 ], [ -101.088368040864225, 41.710760297319908 ], [ -101.088268155981993, 41.710656220165646 ], [ -101.088173179659279, 41.710549594259213 ], [ -101.088083227596513, 41.710440549519916 ], [ -101.087998409370556, 41.710329218813698 ], [ -101.087918828301383, 41.710215737791096 ], [ -101.087844581326138, 41.710100244722028 ], [ -101.087775758881222, 41.709982880327225 ], [ -101.08771244479226, 41.709863787606778 ], [ -101.087654716171983, 41.709743111665787 ], [ -101.087602643326434, 41.709620999537606 ], [ -101.087556289669521, 41.709497600004646 ], [ -101.087515711645779, 41.709373063417026 ], [ -101.087480958661871, 41.709247541509406 ], [ -101.087452073026412, 41.709121187216155 ], [ -101.08742908989872, 41.708994154484792 ], [ -101.087412037246025, 41.708866598088676 ], [ -101.087400935809669, 41.708738673438191 ], [ -101.087395799079857, 41.708610536391518 ], [ -101.087396633279582, 41.708482343064702 ], [ -101.087403437357068, 41.70835424964141 ], [ -101.087416202987271, 41.708226412182761 ], [ -101.087434914582204, 41.708098986437001 ], [ -101.087459549310097, 41.70797212764996 ], [ -101.087490077123377, 41.707845990375809 ], [ -101.087526460795445, 41.707720728288791 ], [ -101.087568655966152, 41.70759649399605 ], [ -101.087616611196069, 41.707473438851657 ], [ -101.087670268029314, 41.707351712772336 ], [ -101.087729561064805, 41.707231464054779 ], [ -101.087794418036225, 41.707112839195005 ], [ -101.087864759900086, 41.706995982709998 ], [ -101.087940500932234, 41.706881036961569 ], [ -101.088021548832344, 41.706768141983048 ], [ -101.088107804836511, 41.706657435308621 ], [ -101.088199163837672, 41.706549051805972 ], [ -101.088295514513732, 41.706443123511917 ], [ -101.088396739463306, 41.70633977947157 ], [ -101.088502715348753, 41.706239145581264 ], [ -101.088613313046537, 41.706141344435196 ], [ -101.088728397804601, 41.706046495176075 ], [ -101.088847829406532, 41.705954713350145 ], [ -101.088971462342442, 41.705866110766308 ], [ -101.089099145986211, 41.705780795360148 ], [ -101.089230724779028, 41.705698871062339 ], [ -101.089366038418902, 41.705620437672188 ], [ -101.089504922055909, 41.705545590736023 ], [ -101.089647206492998, 41.705474421430935 ], [ -101.089792718392104, 41.705407016453698 ], [ -101.089941280485206, 41.70534345791517 ], [ -101.090092711790305, 41.705283823240414 ], [ -101.090246827831777, 41.705228185074311 ], [ -101.090403440865018, 41.705176611193181 ], [ -101.090562360105139, 41.705129164422253 ], [ -101.090723391959258, 41.705085902559084 ], [ -101.090886340262216, 41.705046878303285 ], [ -101.091051006515443, 41.70501213919237 ], [ -101.091217190128731, 41.704981727543725 ], [ -101.091384688664334, 41.704955680403259 ], [ -101.09155329808361, 41.704934029500201 ], [ -101.091722812995371, 41.704916801208455 ], [ -101.091893026905936, 41.704904016514604 ], [ -101.092063732470578, 41.704895690992224 ], [ -101.092234721745982, 41.704891834782991 ], [ -101.09240578644345, 41.704892452584275 ], [ -101.0925767181824, 41.704897543643568 ], [ -101.092747308744137, 41.704907101759176 ], [ -101.092917350325365, 41.704921115288009 ], [ -101.093086635791209, 41.704939567159542 ], [ -101.093254958927346, 41.704962434896757 ], [ -101.093422114691123, 41.704989690643394 ], [ -101.093587899461212, 41.705021301197988 ], [ -101.093752111285539, 41.705057228054173 ], [ -101.093914550127124, 41.705097427447669 ], [ -101.094075018107745, 41.705141850409454 ], [ -101.094233319748781, 41.705190442825504 ], [ -101.094389262209319, 41.705243145502642 ], [ -101.094542655520925, 41.705299894240532 ], [ -101.094693312819047, 41.705360619909953 ], [ -101.094841050570466, 41.705425248536955 ], [ -101.094985688796925, 41.705493701392903 ], [ -101.095127051294256, 41.705565895090309 ], [ -101.09526496584698, 41.70564174168446 ], [ -101.095399264438072, 41.705721148780405 ], [ -101.095529783453628, 41.705804019645576 ], [ -101.095656363882171, 41.705890253327446 ], [ -101.0957788515083, 41.70597974477662 ], [ -101.095897097100604, 41.706072384974561 ], [ -101.09601095659346, 41.706168061066549 ], [ -101.096120291262594, 41.706266656498968 ], [ -101.096224967894088, 41.706368051161334 ], [ -101.096324858946659, 41.706472121532485 ], [ -101.096419842707192, 41.706578740831169 ], [ -101.096509803439034, 41.706687779170217 ], [ -101.096594631523033, 41.706799103714886 ], [ -101.096674223591279, 41.706912578844658 ], [ -101.09674848265297, 41.707028066318294 ], [ -101.0968173182128, 41.70714542544237 ], [ -101.096880646381322, 41.707264513242443 ], [ -101.096938389977169, 41.707385184637403 ], [ -101.096990478621336, 41.707507292616043 ], [ -101.097036848822981, 41.707630688416138 ], [ -101.097077444056907, 41.707755221705803 ], [ -101.097112214832663, 41.707880740766385 ], [ -101.097141118754919, 41.708007092677434 ], [ -101.097164120575258, 41.708134123503022 ], [ -101.097181192235411, 41.70826167847909 ], [ -101.097192312901441, 41.708389602202139 ], [ -101.097197468989407, 41.708517738818522 ], [ -101.097196654182056, 41.708645932214303 ], [ -101.097189869436662, 41.708774026205475 ], [ -101.097177122984078, 41.708901864728148 ], [ -101.097158430318871, 41.709029292028895 ], [ -101.09713381418058, 41.709156152854284 ], [ -101.097103304526229, 41.709282292640246 ], [ -101.097066938493967, 41.709407557700274 ], [ -101.097024760357939, 41.709531795412786 ], [ -101.096976821474598, 41.709654854407006 ], [ -101.096923180220244, 41.70977658474748 ], [ -101.096863901920017, 41.70989683811672 ], [ -101.09679905876844, 41.710015467996087 ], [ -101.096728729741685, 41.710132329844114 ], [ -101.096653000501362, 41.710247281272878 ], [ -101.096571963290359, 41.710360182221379 ], [ -101.096485716820496, 41.710470895126313 ], [ -101.096394366152367, 41.710579285089665 ], [ -101.096298022567481, 41.710685220043167 ], [ -101.096196803432704, 41.710788570909223 ], [ -101.096090832057328, 41.710889211758257 ], [ -101.095980237542918, 41.710987019962168 ], [ -101.095865154625997, 41.711081876343876 ], [ -101.095745723514014, 41.711173665322434 ], [ -101.09562208971451, 41.711262275054047 ], [ -101.095494403857785, 41.71134759756837 ], [ -101.095362821513433, 41.711429528900069 ], [ -101.095227503000743, 41.711507969215589 ], [ -101.095088613193383, 41.711582822934844 ], [ -101.09494632131846, 41.711653998847709 ], [ -101.094800800750292, 41.711721410225188 ], [ -101.09465222879912, 41.711784974925266 ], [ -101.094500786494976, 41.711844615492851 ], [ -101.094346658367073, 41.711900259254385 ], [ -101.09419003221889, 41.711951838406229 ], [ -101.094031098899208, 41.711999290097545 ], [ -101.093870052069533, 41.712042556506759 ], [ -101.093707087967942, 41.71208158491207 ], [ -101.093542405169998, 41.712116327755865 ], [ -101.093376204346526, 41.71214674270248 ], [ -101.093208688019075, 41.712172792689977 ], [ -101.093040060312987, 41.712194445975236 ], [ -101.09287052670858, 41.712211676172728 ], [ -101.092700293790571, 41.712224462286642 ], [ -101.09252956899627, 41.712232788736458 ], [ -101.092358560362669, 41.712236645375988 ] ] ] } }, +{ "type": "Feature", "properties": { "ID": 728, "AREA": 5163530.754, "PERIMETER": 8055.665, "ACRES": 118.538, "HECTARES": 47.971, "origarea": 5.1914453844142963e-05, "origlen": 0, "partialDec": 0.24347482978467894, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -101.09117611353696, 41.693027572351383 ], [ -101.091008475708321, 41.693026915187247 ], [ -101.09084097600909, 41.693021773500362 ], [ -101.090673827926977, 41.693012153844087 ], [ -101.090507244501296, 41.69299806847917 ], [ -101.090341438051354, 41.692979535358141 ], [ -101.090176619905648, 41.692956578102397 ], [ -101.09001300013243, 41.692929225972108 ], [ -101.089850787271828, 41.692897513828903 ], [ -101.089690188069966, 41.692861482091345 ], [ -101.08953140721529, 41.692821176683502 ], [ -101.089374647077605, 41.692776648976348 ], [ -101.089220107450032, 41.692727955722169 ], [ -101.089067985294292, 41.692675158982375 ], [ -101.08891847448956, 41.692618326048212 ], [ -101.088771765585278, 41.692557529354964 ], [ -101.088628045558252, 41.692492846389754 ], [ -101.088487497574263, 41.692424359592536 ], [ -101.08835030075457, 41.692352156251133 ], [ -101.088216629947567, 41.692276328389845 ], [ -101.088086655505933, 41.692196972652141 ], [ -101.087960543069443, 41.69211419017752 ], [ -101.087838453353925, 41.692028086472455 ], [ -101.087720541946325, 41.691938771275879 ], [ -101.08760695910658, 41.69184635841934 ], [ -101.087497849575939, 41.691750965681869 ], [ -101.087393352392681, 41.69165271463973 ], [ -101.087293600714915, 41.691551730511556 ], [ -101.087198721650893, 41.691448141998599 ], [ -101.087108836097144, 41.691342081120787 ], [ -101.08702405858439, 41.691233683048196 ], [ -101.086944497131768, 41.691123085929064 ], [ -101.086870253109183, 41.691010430713369 ], [ -101.08684557989308, 41.6909693625486 ], [ -101.095388130103927, 41.6909693625486 ], [ -101.095342251141858, 41.691043642165944 ], [ -101.0952664390704, 41.691155709139295 ], [ -101.095185338572676, 41.69126567643967 ], [ -101.09509905298053, 41.691373403919485 ], [ -101.095007692235498, 41.691478754285022 ], [ -101.094911372748911, 41.691581593271465 ], [ -101.094810217253567, 41.69168178981402 ], [ -101.094704354647391, 41.691779216214968 ], [ -101.094593919829194, 41.691873748306499 ], [ -101.094479053526854, 41.69196526560912 ], [ -101.094359902117972, 41.692053651484976 ], [ -101.094236617443343, 41.692138793286837 ], [ -101.094109356613487, 41.692220582501562 ], [ -101.093978281808361, 41.692298914888482 ], [ -101.093843560070752, 41.692373690612264 ], [ -101.09370536309325, 41.692444814370319 ], [ -101.093563866999474, 41.692512195514162 ], [ -101.093419252119617, 41.692575748165147 ], [ -101.093271702760376, 41.692635391323755 ], [ -101.093121406970269, 41.692691048973138 ], [ -101.092968556299638, 41.692742650175802 ], [ -101.092813345556607, 41.692790129164223 ], [ -101.092655972558603, 41.692833425424638 ], [ -101.092496637880288, 41.692872483774181 ], [ -101.092335544597617, 41.692907254431297 ], [ -101.092172898029077, 41.692937693079259 ], [ -101.092008905473833, 41.692963760922552 ], [ -101.091843775947368, 41.692985424736435 ], [ -101.091677719914998, 41.693002656909293 ], [ -101.091510949023501, 41.693015435477861 ], [ -101.091343675831197, 41.69302374415517 ], [ -101.09117611353696, 41.693027572351383 ] ] ] } } +] +} diff --git a/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.774.geojson b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.774.geojson new file mode 100644 index 00000000..b1286b1e --- /dev/null +++ b/solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.774.geojson @@ -0,0 +1 @@ +{"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} \ No newline at end of file diff --git a/solaris/eval/challenges.py b/solaris/eval/challenges.py index 5d6dcfca..0ab01e85 100644 --- a/solaris/eval/challenges.py +++ b/solaris/eval/challenges.py @@ -3,10 +3,10 @@ import re -def spacenet_buildings_2(prop_csv, truth_csv, miniou=0.5, min_area=20): - """Evaluate a SpaceNet2 building footprint competition proposal csv. +def spacenet_buildings_2(prop_csv, truth_csv, miniou=0.5, min_area=20, challenge='spacenet_2'): + """Evaluate a SpaceNet building footprint competition proposal csv. - Uses :class:`Evaluator` to evaluate SpaceNet2 challenge proposals. + Uses :class:`Evaluator` to evaluate SpaceNet challenge proposals. Arguments --------- @@ -20,6 +20,12 @@ def spacenet_buildings_2(prop_csv, truth_csv, miniou=0.5, min_area=20): min_area : float or int, optional Minimum area of ground truth regions to include in scoring calculation. Defaults to ``20``. + challenge: str, optional + The challenge id for evaluation. + One of + ``['spacenet_2', 'spacenet_3', 'spacenet_off_nadir', 'spacenet_6']``. + The name of the challenge that `chip_name` came from. Defaults to + ``'spacenet_2'``. Returns ------- @@ -48,7 +54,7 @@ def spacenet_buildings_2(prop_csv, truth_csv, miniou=0.5, min_area=20): ) results_DF_Full = pd.DataFrame(results) - results_DF_Full['AOI'] = [get_chip_id(imageID, challenge='spacenet_2') + results_DF_Full['AOI'] = [get_chip_id(imageID, challenge=challenge) for imageID in results_DF_Full['imageID'].values] results_DF = results_DF_Full.groupby(['AOI']).sum() @@ -209,7 +215,7 @@ def get_chip_id(chip_name, challenge="spacenet_2"): The name of the chip to extract the identifier from. challenge: str, optional One of - ``['spacenet_buildings_2', 'spacenet_roads', 'spacenet_off_nadir']``. + ``['spacenet_2', 'spacenet_3', 'spacenet_off_nadir', 'spacenet_6']``. The name of the challenge that `chip_name` came from. Defaults to ``'spacenet_2'``. @@ -225,5 +231,7 @@ def get_chip_id(chip_name, challenge="spacenet_2"): elif challenge == 'spacenet_off_nadir': chip_id = re.findall('Atlanta_nadir[0-9]{1,2}_catid_[0-9A-Z]{16}', chip_name)[0] + elif challenge == 'spacenet_6': + chip_id = '_'.join(chip_name.split('_')[-4:]).split(".")[0] return chip_id diff --git a/solaris/nets/datagen.py b/solaris/nets/datagen.py index f44028ae..227da166 100644 --- a/solaris/nets/datagen.py +++ b/solaris/nets/datagen.py @@ -1,8 +1,10 @@ from tensorflow import keras import numpy as np +import rasterio from torch.utils.data import Dataset, DataLoader from .transform import _check_augs, process_aug_dict from ..utils.core import _check_df_load +from ..utils.geo import split_geom from ..utils.io import imread, _check_channel_order @@ -327,6 +329,9 @@ def __getitem__(self, idx): mask[mask != 0] = 1 if len(mask.shape) == 2: mask = mask[:, :, np.newaxis] + if len(image.shape) == 2: + image = image[:, :, np.newaxis] + sample = {'image': image, 'mask': mask} if self.aug: diff --git a/solaris/nets/train.py b/solaris/nets/train.py index fa998ffd..a8284fb1 100644 --- a/solaris/nets/train.py +++ b/solaris/nets/train.py @@ -32,7 +32,7 @@ def __init__(self, config, custom_model_dict=None, custom_losses=None): self.train_datagen = make_data_generator(self.framework, self.config, self.train_df, stage='train') self.val_datagen = make_data_generator(self.framework, self.config, - self.val_df, stage='train') + self.val_df, stage='validate') self.epochs = self.config['training']['epochs'] self.optimizer = get_optimizer(self.framework, self.config) self.lr = self.config['training']['lr'] diff --git a/solaris/raster/image.py b/solaris/raster/image.py index dade4781..858c902c 100644 --- a/solaris/raster/image.py +++ b/solaris/raster/image.py @@ -5,7 +5,6 @@ import logging from ..utils.raster import reorder_axes from ..utils.log import _get_logging_level -import pdb def get_geo_transform(raster_src): @@ -208,7 +207,6 @@ def get_tdigest(data_buffer, tdigest=None, scale_function=K1ScaleFunction, tdigest : :class:`TDigest`, optional An existing :class:`TDigest` object to merge with the new data. """ - pdb.set_trace() buffer_centroids = data_buffer.flatten().astype(np.float32) buffer_weights = np.ones(shape=buffer_centroids.shape, dtype=np.float32) if tdigest: diff --git a/solaris/tile/raster_tile.py b/solaris/tile/raster_tile.py index 1f3b6df9..dc90fa1a 100644 --- a/solaris/tile/raster_tile.py +++ b/solaris/tile/raster_tile.py @@ -2,14 +2,15 @@ import rasterio from rasterio.warp import Resampling, calculate_default_transform from rasterio.vrt import WarpedVRT -from rio_cogeo.cogeo import cog_validate, cog_translate +from rasterio.mask import mask as rasterio_mask +# from rio_cogeo.cogeo import cog_validate, cog_translate from ..utils.core import _check_crs, _check_rasterio_im_load # removing the following until COG functionality is implemented # from ..utils.tile import read_cog_tile -from ..utils.geo import reproject, split_geom -from tqdm import tqdm +from ..utils.geo import reproject, split_geom, raster_get_projection_unit import numpy as np - +from shapely.geometry import box +from tqdm import tqdm class RasterTiler(object): """An object to tile geospatial image strips into smaller pieces. @@ -149,24 +150,70 @@ def __init__(self, dest_dir=None, dest_crs=None, project_to_meters=False, print('Resampling is set to None') def tile(self, src, dest_dir=None, channel_idxs=None, nodata=None, - alpha=None, aoi_boundary=None, restrict_to_aoi=False, - dest_fname_base=None): + alpha=None, restrict_to_aoi=False, + dest_fname_base=None, nodata_threshold = None): + """An object to tile geospatial image strips into smaller pieces. + Arguments + --------- + src : :class:`rasterio.io.DatasetReader` or str + The source dataset to tile. + nodata_threshold : float, optional + Nodata percentages greater than this threshold will not be saved as tiles. + restrict_to_aoi : bool, optional + Requires aoi_boundary. Sets all pixel values outside the aoi_boundary to the nodata value of the src image. + """ + src = _check_rasterio_im_load(src) + restricted_im_path = os.path.join(self.dest_dir, "aoi_restricted_"+ os.path.basename(src.name)) + self.src_name = src.name # preserves original src name in case restrict is used + if restrict_to_aoi is True: + if self.aoi_boundary is None: + raise ValueError("aoi_boundary must be specified when RasterTiler is called.") + mask_geometry = self.aoi_boundary.intersection(box(*src.bounds)) # prevents enlarging raster to size of aoi_boundary + index_lst = list(np.arange(1,src.meta['count']+1)) + # no need to use transform t since we don't crop. cropping messes up transform of tiled outputs + arr, t = rasterio_mask(src, [mask_geometry], all_touched=False, invert=False, nodata=src.meta['nodata'], + filled=True, crop=False, pad=False, pad_width=0.5, indexes=list(index_lst)) + with rasterio.open(restricted_im_path, 'w', **src.profile) as dest: + dest.write(arr) + dest.close() + src.close() + src = _check_rasterio_im_load(restricted_im_path) #if restrict_to_aoi, we overwrite the src to be the masked raster + tile_gen = self.tile_generator(src, dest_dir, channel_idxs, nodata, - alpha, aoi_boundary, restrict_to_aoi) + alpha, self.aoi_boundary, restrict_to_aoi) if self.verbose: - print('Beginning tiling...') + print('Beginning tiling...') self.tile_paths = [] - for tile_data, mask, profile in tqdm(tile_gen): - dest_path = self.save_tile( - tile_data, mask, profile, dest_fname_base) - self.tile_paths.append(dest_path) + if nodata_threshold is not None: + if nodata_threshold > 1: + raise ValueError("nodata_threshold should be expressed as a float less than 1.") + print("nodata value threshold supplied, filtering based on this percentage.") + new_tile_bounds = [] + for tile_data, mask, profile, tb in tqdm(tile_gen): + nodata_count = np.logical_or.reduce((tile_data == profile['nodata']), axis=0).sum() + nodata_perc = nodata_count / (tile_data.shape[1] * tile_data.shape[2]) + if nodata_perc < nodata_threshold: + dest_path = self.save_tile( + tile_data, mask, profile, dest_fname_base) + self.tile_paths.append(dest_path) + new_tile_bounds.append(tb) + else: + print("{} of nodata is over the nodata_threshold, tile not saved.".format(nodata_perc)) + self.tile_bounds = new_tile_bounds # only keep the tile bounds that make it past the nodata threshold + else: + for tile_data, mask, profile, tb in tqdm(tile_gen): + dest_path = self.save_tile( + tile_data, mask, profile, dest_fname_base) + self.tile_paths.append(dest_path) if self.verbose: print('Tiling complete. Cleaning up...') self.src.close() if os.path.exists(os.path.join(self.dest_dir, 'tmp.tif')): os.remove(os.path.join(self.dest_dir, 'tmp.tif')) + if os.path.exists(restricted_im_path): + os.remove(restricted_im_path) if self.verbose: print("Done. CRS returned for vector tiling.") return _check_crs(profile['crs']) # returns the crs to be used for vector tiling @@ -227,17 +274,17 @@ def tile_generator(self, src, dest_dir=None, channel_idxs=None, # parse arguments if self.verbose: print("Checking input data...") - if isinstance(src, str): - self.is_cog = cog_validate(src) - else: - self.is_cog = cog_validate(src.name) - if self.verbose: - print('COG: {}'.format(self.is_cog)) + # if isinstance(src, str): + # self.is_cog = cog_validate(src) + # else: + # self.is_cog = cog_validate(src.name) + # if self.verbose: + # print('COG: {}'.format(self.is_cog)) self.src = _check_rasterio_im_load(src) if channel_idxs is None: # if not provided, include them all channel_idxs = list(range(1, self.src.count + 1)) print(channel_idxs) - self.src_crs = _check_crs(self.src.crs) + self.src_crs = _check_crs(self.src.crs, return_rasterio=True) # necessary to use rasterio crs for reproject if self.verbose: print('Source CRS: EPSG:{}'.format(self.src_crs.to_epsg())) if self.dest_crs is None: @@ -245,7 +292,7 @@ def tile_generator(self, src, dest_dir=None, channel_idxs=None, if self.verbose: print('Destination CRS: EPSG:{}'.format(self.dest_crs.to_epsg())) self.src_path = self.src.name - self.proj_unit = self.src_crs.linear_units # used for rounding in filename + self.proj_unit = raster_get_projection_unit(self.src) # for rounding if self.verbose: print("Inputs OK.") if self.use_src_metric_size: @@ -360,7 +407,7 @@ def tile_generator(self, src, dest_dir=None, channel_idxs=None, else: profile.update(count=tile_data.shape[0]) - yield tile_data, mask, profile + yield tile_data, mask, profile, tb def save_tile(self, tile_data, mask, profile, dest_fname_base=None): """Save a tile created by ``Tiler.tile_generator()``.""" @@ -404,6 +451,49 @@ def save_tile(self, tile_data, mask, profile, dest_fname_base=None): # self._create_cog(os.path.join(self.dest_dir, 'tmp.tif'), # os.path.join(self.dest_dir, dest_fname)) # os.remove(os.path.join(self.dest_dir, 'tmp.tif')) + + def fill_all_nodata(self, nodata_fill): + """ + Fills all tile nodata values with a fill value. + + The standard workflow is to run this function only after generating label masks and using the original output + from the raster tiler to filter out label pixels that overlap nodata pixels in a tile. For example, + solaris.vector.mask.instance_mask will filter out nodata pixels from a label mask if a reference_im is provided, + and after this step nodata pixels may be filled by calling this method. + + nodata_fill : int, float, or str, optional + Default is to not fill any nodata values. Otherwise, pixels outside of the aoi_boundary and pixels inside + the aoi_boundary with the nodata value will be filled. "mean" will fill pixels with the channel-wise mean. + Providing an int or float will fill pixels in all channels with the provided value. + + Returns: list + The fill values, in case the mean of the src image should be used for normalization later. + """ + src = _check_rasterio_im_load(self.src_name) + if nodata_fill == "mean": + arr = src.read() + arr_nan = np.where(arr!=src.nodata, arr, np.nan) + fill_values = np.nanmean(arr_nan, axis=tuple(range(1, arr_nan.ndim))) + print('Fill values set to {}'.format(fill_values)) + elif isinstance(nodata_fill, (float, int)): + fill_values = src.meta['count'] * [nodata_fill] + print('Fill values set to {}'.format(fill_values)) + else: + raise TypeError('nodata_fill must be "mean", int, or float. {} was supplied.'.format(nodata_fill)) + src.close() + for tile_path in self.tile_paths: + tile_src = rasterio.open(tile_path, "r+") + tile_data = tile_src.read() + for i in np.arange(tile_data.shape[0]): + tile_data[i,...][tile_data[i,...] == tile_src.nodata] = fill_values[i] # set fill value for each band + if tile_src.meta['count'] == 1: + tile_src.write(tile_data[0, :, :], 1) + else: + for band in range(1, tile_src.meta['count'] + 1): + # base-1 vs. base-0 indexing...bleh + tile_src.write(tile_data[band-1, :, :], band) + tile_src.close() + return fill_values def _create_cog(self, src_path, dest_path): """Overwrite non-cloud-optimized GeoTIFF with a COG.""" diff --git a/solaris/tile/vector_tile.py b/solaris/tile/vector_tile.py index 790bfff1..8477a528 100644 --- a/solaris/tile/vector_tile.py +++ b/solaris/tile/vector_tile.py @@ -4,7 +4,7 @@ import geopandas as gpd from ..utils.core import _check_gdf_load, _check_crs from ..utils.tile import save_empty_geojson -from ..utils.geo import gdf_get_projection_unit, split_multi_geometries +from ..utils.geo import get_projection_unit, split_multi_geometries from ..utils.geo import reproject_geometry from tqdm import tqdm @@ -83,6 +83,10 @@ def tile(self, src, tile_bounds, tile_bounds_crs=None, geom_type='Polygon', output_ext : str, optional, (default: geojson) Extension of output files, can be 'geojson' or 'json'. """ + + if isinstance(src, gpd.GeoDataFrame) and src.crs is None: + raise ValueError("If the src input is a geopandas.GeoDataFrame, it must have a crs attribute.") + tile_gen = self.tile_generator(src, tile_bounds, tile_bounds_crs, geom_type, split_multi_geoms, min_partial_perc, @@ -168,7 +172,7 @@ def tile_generator(self, src, tile_bounds, tile_bounds_crs=None, else: reproject_bounds = False - self.proj_unit = self.src_crs.linear_units + self.proj_unit = get_projection_unit(self.src_crs) if getattr(self, 'dest_crs', None) is None: self.dest_crs = self.src_crs for i, tb in enumerate(tile_bounds): @@ -209,7 +213,6 @@ def search_gdf_polygon(gdf, tile_polygon): :py:class:`geopandas.GeoDataFrame`. """ - sindex = gdf.sindex possible_matches_index = list(sindex.intersection(tile_polygon.bounds)) possible_matches = gdf.iloc[possible_matches_index] @@ -296,7 +299,7 @@ def clip_gdf(gdf, tile_bounds, min_partial_perc=0.0, geom_type="Polygon", gdf['origlen'] = 0 # TODO must implement different case for lines and for spatialIndex # (Assume RTree is already performed) - + cut_gdf = gdf.copy() cut_gdf.geometry = gdf.intersection(tb) diff --git a/solaris/utils/core.py b/solaris/utils/core.py index 0b613f01..871d766f 100644 --- a/solaris/utils/core.py +++ b/solaris/utils/core.py @@ -5,12 +5,13 @@ from shapely.geometry.base import BaseGeometry import pandas as pd import geopandas as gpd +import pyproj import rasterio +from distutils.version import LooseVersion import skimage from fiona._err import CPLE_OpenFailedError from fiona.errors import DriverError from warnings import warn -import pdb def _check_rasterio_im_load(im): @@ -84,34 +85,19 @@ def _check_geom(geom): return Point(geom) -def _check_crs(input_crs): - """Convert CRS to the integer format passed by ``solaris``.""" - if isinstance(input_crs, dict): - # assume it's an {'init': 'epsgxxxx'} dict - out_crs = int(input_crs['init'].lower().strip('epsg:')) - out_crs = rasterio.crs.CRS.from_epsg(out_crs) - elif isinstance(input_crs, str): - #pdb.set_trace() - # handle PROJ4 strings, epsg strings, wkt strings - # but FIRST, see if it's just a number represented as a string - try: - input_crs = int(input_crs) - out_crs = rasterio.crs.CRS.from_epsg(input_crs) - except ValueError: - try: - out_crs = rasterio.crs.CRS.from_string(input_crs) - except rasterio.errors.CRSError as e: - raise ValueError( - f"Solaris doesn't know how to parse {input_crs} as a " - "crs. Try re-formatting. If this is properly formatted, " - "open an issue in solaris's GitHub repository." - ) from e - elif isinstance(input_crs, rasterio.crs.CRS): - out_crs = input_crs - elif isinstance(input_crs, int): - out_crs = rasterio.crs.CRS.from_epsg(input_crs) - elif input_crs is None: +def _check_crs(input_crs, return_rasterio=False): + """Convert CRS to the ``pyproj.CRS`` object passed by ``solaris``.""" + if not isinstance(input_crs, pyproj.CRS) and input_crs is not None: + out_crs = pyproj.CRS(input_crs) + else: out_crs = input_crs + + if return_rasterio: + if LooseVersion(rasterio.__gdal_version__) >= LooseVersion("3.0.0"): + out_crs = rasterio.crs.CRS.from_wkt(out_crs.to_wkt()) + else: + out_crs = rasterio.crs.CRS.from_wkt(out_crs.to_wkt("WKT1_GDAL")) + return out_crs diff --git a/solaris/utils/geo.py b/solaris/utils/geo.py index e1f36808..711c4065 100644 --- a/solaris/utils/geo.py +++ b/solaris/utils/geo.py @@ -100,7 +100,7 @@ def _reproject(input_data, input_type, input_crs, target_crs, dest_path, input_crs = _check_crs(input_crs) target_crs = _check_crs(target_crs) if input_type == 'vector': - output = input_data.to_crs(crs=target_crs.to_wkt()) + output = input_data.to_crs(target_crs) if dest_path is not None: output.to_file(dest_path, driver='GeoJSON') @@ -108,11 +108,11 @@ def _reproject(input_data, input_type, input_crs, target_crs, dest_path, if isinstance(input_data, rasterio.DatasetReader): transform, width, height = calculate_default_transform( - input_crs, target_crs, + input_crs.to_wkt("WKT1_GDAL"), target_crs.to_wkt("WKT1_GDAL"), input_data.width, input_data.height, *input_data.bounds ) kwargs = input_data.meta.copy() - kwargs.update({'crs': target_crs, + kwargs.update({'crs': target_crs.to_wkt("WKT1_GDAL"), 'transform': transform, 'width': width, 'height': height}) @@ -126,7 +126,7 @@ def _reproject(input_data, input_type, input_crs, target_crs, dest_path, src_transform=input_data.transform, src_crs=input_data.crs, dst_transform=transform, - dst_crs=target_crs, + dst_crs=target_crs.to_wkt("WKT1_GDAL"), resampling=getattr(Resampling, resampling_method) ) output = rasterio.open(dest_path) @@ -218,9 +218,8 @@ def get_bounds(geo_obj, crs=None): crs = _check_crs(crs) src_crs = get_crs(input_data) # transform bounds to desired CRS - bounds = transform_bounds(src_crs, - crs, - *bounds) + bounds = transform_bounds(src_crs.to_wkt("WKT1_GDAL"), + crs.to_wkt("WKT1_GDAL"), *bounds) return bounds @@ -343,23 +342,8 @@ def gdf_get_projection_unit(vector_file): unit : String The unit i.e. meter, metre, or degree, of the projection """ - c = _check_gdf_load(vector_file) - crs = _check_crs(c.crs) - srs = osr.SpatialReference() - srs.ImportFromEPSG(crs.to_epsg()) - WKT = srs.ExportToWkt() - # get count of 'UNIT' - if WKT.count('UNIT') == 1: - # simple geo format - unit = WKT.split("UNIT[")[1].split(",")[0] - elif WKT.count('UNIT') == 2: - # complex geo format, return the second instance of 'UNIT' - unit = WKT.split("UNIT[")[2].split(",")[0] - else: - print("Unknown units in {}".format(vector_file)) - return - - return unit + c = _check_gdf_load(vector_file).crs + return get_projection_unit(c) def raster_get_projection_unit(image): @@ -381,24 +365,30 @@ def raster_get_projection_unit(image): unit : String The unit i.e. meters or degrees, of the projection """ - c = _check_rasterio_im_load(image) - crs = _check_crs(c.crs) - srs = osr.SpatialReference() - srs.ImportFromEPSG(crs) - WKT = srs.ExportToWkt() - # get count of 'UNIT' - if WKT.count('UNIT') == 1: - # simple geo format - unit = WKT.split("UNIT[")[1].split(",")[0] - elif WKT.count('UNIT') == 2: - # complex geo format, return the second instance of 'UNIT' - unit = WKT.split("UNIT[")[2].split(",")[0] - else: - print("Unknown units in {}".format(image)) - return + c = _check_rasterio_im_load(image).crs + return get_projection_unit(c) + + +def get_projection_unit(crs): + """Get the units of a specific SRS. + + Arguments + --------- + crs : :class:`pyproj.crs.CRS`, :class:`rasterio.crs.CRS`, `str`, or `int` + The coordinate reference system to retrieve a unit for. + + Returns + ------- + unit : str + The string-formatted unit. + """ + crs = _check_crs(crs) + unit = crs.axis_info[0].unit_name + return unit + def list_to_affine(xform_mat): """Create an Affine from a list or array-formatted [a, b, d, e, xoff, yoff] @@ -530,7 +520,7 @@ def split_multi_geometries(gdf, obj_id_col=None, group_col=None, gdf2[geom_col] = gdf2[geom_col].apply(loads) split_geoms_gdf = pd.concat( gdf2.apply(_split_multigeom_row, axis=1, geom_col=geom_col).tolist()) - gdf2.drop(index=split_geoms_gdf.index.unique()) # remove multipolygons + gdf2 = gdf2.drop(index=split_geoms_gdf.index.unique()) # remove multipolygons gdf2 = gpd.GeoDataFrame(pd.concat([gdf2, split_geoms_gdf], ignore_index=True), crs=gdf2.crs) @@ -601,7 +591,6 @@ def _reduce_geom_precision(geom, precision=2): geojson = mapping(geom) geojson['coordinates'] = np.round(np.array(geojson['coordinates']), precision) - return shape(geojson) @@ -740,6 +729,8 @@ def polygon_to_coco(polygon): coords = polygon.exterior.coords.xy elif isinstance(polygon, str): # assume it's WKT coords = loads(polygon).exterior.coords.xy + elif isinstance(polygon, MultiPolygon): + raise ValueError("You have MultiPolygon types in your label df. Remove, explode, or fix these to be Polygon geometry types.") else: raise ValueError('polygon must be a shapely geometry or WKT.') # zip together x,y pairs @@ -749,12 +740,17 @@ def polygon_to_coco(polygon): return coords -def split_geom(geometry, tile_size, resolution=None, use_projection_units=False, src_img=None): - """Splits a vector into approximately equal sized tiles. Adapted from @lossyrob's Gist https://gist.github.com/lossyrob/7b620e6d2193cb55fbd0bffacf27f7f2 +def split_geom(geometry, tile_size, resolution=None, + use_projection_units=False, src_img=None): + """Splits a vector into approximately equal sized tiles. + + Adapted from @lossyrob's Gist__ + + .. Gist: https://gist.github.com/lossyrob/7b620e6d2193cb55fbd0bffacf27f7f2 - The more complex the geometry, the slower this will run, but geometrys with around 10000 - coordinates run in a few seconds time. You can simplify geometries with - shapely.geometry.Polygon.simplify if necessary. + The more complex the geometry, the slower this will run, but geometrys with + around 10000 coordinates run in a few seconds time. You can simplify + geometries with shapely.geometry.Polygon.simplify if necessary. Arguments --------- @@ -813,8 +809,14 @@ def split_geom(geometry, tile_size, resolution=None, use_projection_units=False, tile_size[1]*resolution[1]] else: tmp_tile_size = tile_size - - bounds = geometry.bounds + + if src_img is not None: + src_img = _check_rasterio_im_load(src_img) + geometry = geometry.intersection(box(*src_img.bounds)) + bounds = geometry.bounds + else: + bounds = geometry.bounds + xmin = bounds[0] xmax = bounds[2] ymin = bounds[1] diff --git a/solaris/vector/mask.py b/solaris/vector/mask.py index a39bdec4..8ac81078 100644 --- a/solaris/vector/mask.py +++ b/solaris/vector/mask.py @@ -13,6 +13,8 @@ from rasterio import features from affine import Affine from skimage.morphology import square, erosion, dilation +import os +from tqdm import tqdm def df_to_px_mask(df, channels=['footprint'], out_file=None, reference_im=None, geom_col='geometry', do_transform=None, affine_obj=None, @@ -889,6 +891,8 @@ def instance_mask(df, out_file=None, reference_im=None, geom_col='geometry', The value to use for nodata pixels in the mask. Defaults to 0 (the min value for ``uint8`` arrays). Used if reference_im nodata value is a float. Ignored if reference_im nodata value is an int or if reference_im is not used. + Take care when visualizing these masks, the nodata value may cause labels to not + be visualized if nodata values are automatically masked by the software. Returns ------- @@ -904,7 +908,9 @@ def instance_mask(df, out_file=None, reference_im=None, geom_col='geometry', 'If saving output to file, `reference_im` must be provided.') df = _check_df_load(df) - if len(df) == 0: + if len(df) == 0: # for saving an empty mask. + reference_im = _check_rasterio_im_load(reference_im) + shape = reference_im.shape return np.zeros(shape=shape, dtype='uint8') if do_transform is None: @@ -948,9 +954,10 @@ def instance_mask(df, out_file=None, reference_im=None, geom_col='geometry', if reference_im: reference_im = _check_rasterio_im_load(reference_im) try: - bad_data_mask = (reference_im.read() == reference_im.nodata).any(axis=0) # take logical and along all dims so that all pixxels not -9999 across bands + bad_data_mask = (reference_im.read() == reference_im.nodata).any(axis=0) # take logical and along all dims so that all pixxels not -9999 across bands except AttributeError as ae: # raise another, more verbose AttributeError raise AttributeError("A nodata value is not defined for the source image. Make sure the reference_im has a nodata value defined.") from ae + if len(bad_data_mask.shape) > 2: bad_data_mask = np.dstack([bad_data_mask]*output_arr.shape[2]) output_arr = np.where(bad_data_mask, 0, output_arr) # mask is broadcasted to filter labels where there are non-nan image values @@ -967,3 +974,60 @@ def instance_mask(df, out_file=None, reference_im=None, geom_col='geometry', dst.close() return output_arr + +def geojsons_to_masks_and_fill_nodata(rtiler, vtiler, label_tile_dir, fill_value=0): + """ + Converts tiled vectors to raster labels and fills nodata values in raster and vector tiles. + + This function must be run after a raster tiler and vector tiler have already been initialized + and the `.tile()` method for each has been called to generate raster and vector tiles. + Geojson labels are first converted to rasterized masks, then the labels are set to 0 + where the reference image, the corresponding image tile, has nodata values. Then, nodata + areas in the image tile are filled in place with the fill_value. Only works for rasterizing + all geometries as a single category with a burn value of 1. See test_tiler_fill_nodata in + tests/test_tile/test_tile.py for an example. + + Args + ------- + rtiler : RasterTiler + The RasterTiler that has had it's `.tile()` method called. + vtiler : VectorTiler + The VectorTiler that has had it's `.tile()` method called. + label_tile_dir : str + The folder path to save rasterized labels. This is created if it doesn't already exist. + fill_value : str, optional + The value to use to fill nodata values in images. Defaults to 0. + + Returns + ------- + rasterized_label_paths : list + A list of the paths to the rasterized instance masks. + """ + rasterized_label_paths = [] + print("starting label mask generation") + if not os.path.exists(label_tile_dir): + os.mkdir(label_tile_dir) + for img_tile, geojson_tile in tqdm(zip(sorted(rtiler.tile_paths), sorted(vtiler.tile_paths))): + fid = os.path.basename(geojson_tile).split(".geojson")[0] + rasterized_label_path = os.path.join(label_tile_dir, fid + ".tif") + rasterized_label_paths.append(rasterized_label_path) + gdf = gpd.read_file(geojson_tile) + # gdf.crs = rtiler.raster_bounds_crs # add this because gdfs can't be saved with wkt crs + arr = instance_mask(gdf, out_file=rasterized_label_path, reference_im=img_tile, + geom_col='geometry', do_transform=None, + out_type='int', burn_value=1, burn_field=None) # this saves the file, unless it is empty in which case we deal with it below. + if not arr.any(): # in case no instances in a tile we save it with "empty" at the front of the basename + with rasterio.open(img_tile) as reference_im: + meta = reference_im.meta.copy() + reference_im.close() + meta.update(count=1) + meta.update(dtype='uint8') + if isinstance(meta['nodata'], float): + meta.update(nodata=0) + rasterized_label_path = os.path.join(label_tile_dir, "empty_" + fid + ".tif") + with rasterio.open(rasterized_label_path, 'w', **meta) as dst: + dst.write(np.expand_dims(arr, axis=0)) + dst.close() + rtiler.fill_all_nodata(nodata_fill=fill_value) + return rasterized_label_paths + diff --git a/solaris/vector/polygon.py b/solaris/vector/polygon.py index 6f121623..b00858fe 100644 --- a/solaris/vector/polygon.py +++ b/solaris/vector/polygon.py @@ -193,7 +193,7 @@ def georegister_px_df(df, im_path=None, affine_obj=None, crs=None, def geojson_to_px_gdf(geojson, im_path, geom_col='geometry', precision=None, - output_path=None): + output_path=None, override_crs=False): """Convert a geojson or set of geojsons from geo coords to px coords. Arguments @@ -216,7 +216,11 @@ def geojson_to_px_gdf(geojson, im_path, geom_col='geometry', precision=None, output_path : str, optional Path to save the resulting output to. If not provided, the object won't be saved to disk. - + override_crs: bool, optional + Useful if the geojsons generated by the vector tiler or otherwise were saved + out with a non EPSG code projection. True sets the gdf crs to that of the + image, the inputs should have the same underlying projection for this to work. + If False, and the gdf does not have an EPSG code, this function will fail. Returns ------- output_df : :class:`pandas.DataFrame` @@ -234,6 +238,8 @@ def geojson_to_px_gdf(geojson, im_path, geom_col='geometry', precision=None, gdf = _check_gdf_load(geojson) if len(gdf): # if there's at least one geometry + if override_crs: + gdf.crs = im.crs overlap_gdf = get_overlapping_subset(gdf, im) else: overlap_gdf = gdf @@ -293,20 +299,25 @@ def get_overlapping_subset(gdf, im=None, bbox=None, bbox_crs=None): sindex = gdf.sindex if im is not None: im = _check_rasterio_im_load(im) - bbox = transform_bounds(im.crs, _check_crs(gdf.crs), *im.bounds) + # currently, convert CRSs to WKT strings here to accommodate rasterio. + bbox = transform_bounds(im.crs, _check_crs(gdf.crs, return_rasterio=True), + *im.bounds) bbox_crs = im.crs # use transform_bounds in case the crs is different - no effect if not if isinstance(bbox, Polygon): bbox = bbox.bounds if bbox_crs is None: try: - bbox_crs = _check_crs(gdf.crs) + bbox_crs = _check_crs(gdf.crs, return_rasterio=True) except AttributeError: raise ValueError('If `im` and `bbox_crs` are not provided, `gdf`' 'must provide a coordinate reference system.') else: - bbox_crs = _check_crs(bbox_crs) - bbox = transform_bounds(bbox_crs, _check_crs(gdf.crs), *bbox) + bbox_crs = _check_crs(bbox_crs, return_rasterio=True) + # currently, convert CRSs to WKT strings here to accommodate rasterio. + bbox = transform_bounds(bbox_crs, + _check_crs(gdf.crs, return_rasterio=True), + *bbox) try: intersectors = list(sindex.intersection(bbox)) except RTreeError: @@ -404,3 +415,18 @@ def gdf_to_yolo(geodataframe, image, output_dir, column='single_id', shutil.move(image, remove_no_labels_dir) return gdf + +def remove_multipolygons(gdf): + """ + Filters out rows of a geodataframe containing MultiPolygons and GeometryCollections. + + This function is optionally used in geojson2coco. For instance segmentation, where + objects are composed of single polygons, multi part geometries need to be either removed or + inspected manually to be resolved as a single geometry. + """ + mask = (gdf.geom_type == "MultiPolygon") | (gdf.geom_type == "GeometryCollection") + if mask.any(): + return gdf.drop(gdf[mask].index).reset_index(drop=True) + else: + return gdf + diff --git a/tests/test_nets/test_datagen.py b/tests/test_nets/test_datagen.py index 34568ddf..f17c4f47 100644 --- a/tests/test_nets/test_datagen.py +++ b/tests/test_nets/test_datagen.py @@ -84,7 +84,7 @@ def test_torch_dataset(self): expected_mask[expected_mask != 0] = 1 # this should be binary print(sample['mask'].shape) assert np.array_equal(sample['image'].numpy(), - expected_im[np.newaxis, :, :]) + expected_im[np.newaxis, np.newaxis, :, :]) assert np.array_equal(sample['mask'].numpy(), expected_mask[np.newaxis, np.newaxis, :, :]) diff --git a/tests/test_tile/test_tile.py b/tests/test_tile/test_tile.py index fdafba36..318ef5e4 100644 --- a/tests/test_tile/test_tile.py +++ b/tests/test_tile/test_tile.py @@ -4,6 +4,7 @@ from solaris.tile.raster_tile import RasterTiler from solaris.tile.vector_tile import VectorTiler from solaris.data import data_dir +from solaris.vector.mask import geojsons_to_masks_and_fill_nodata import geopandas as gpd from shapely.ops import cascaded_union @@ -92,3 +93,73 @@ def test_tiler_custom_proj(self): assert result.intersection(expected).area/result.area > 0.99999 os.remove(os.path.join(data_dir, 'vectortile_test_custom_proj_result', f)) os.rmdir(os.path.join(data_dir, 'vectortile_test_custom_proj_result')) + + def test_tiler_fill_nodata(self): + # get non filled tiles + bounds_gdf= gpd.read_file(os.path.join(data_dir, "restrict_aoi_test.geojson")) + bounds_poly = bounds_gdf['geometry'].iloc[0] + raster_tiler = RasterTiler(os.path.join(data_dir, + 'rastertile_test_fill_nodata_result'), + src_tile_size=(128, 128), + nodata= -9999.0, + aoi_boundary=bounds_poly) + raster_tiler.tile(src=os.path.join(data_dir, 'nebraska_landsat5_with_nodata_wgs84.tif'), restrict_to_aoi=True) + + vector_tiler = VectorTiler(os.path.join(data_dir, + 'vectortile_test_nonfilled_result')) + + vector_tiler.tile(os.path.join(data_dir, 'nebraska_wgs84_with_nodata_labels.geojson'), + tile_bounds = raster_tiler.tile_bounds) + vector_tiling_result_files_nonfilled = os.listdir(os.path.join( + data_dir, 'vectortile_test_nonfilled_result')) + + # fills nodata in imagery and then fills same no data pixels in rasterized labels + geojsons_to_masks_and_fill_nodata(raster_tiler, vector_tiler, + os.path.join(data_dir, "vectortile_test_filled_result"), fill_value=0) + + # list the results + vector_tiling_result_files = os.listdir(os.path.join( + data_dir, 'vectortile_test_filled_result')) + assert len(vector_tiling_result_files) == len(os.listdir(os.path.join( + data_dir, 'vectortile_test_filled_expected'))) + + raster_tiling_result_files = os.listdir(os.path.join( + data_dir, 'rastertile_test_fill_nodata_result')) + assert len(raster_tiling_result_files) == len(os.listdir(os.path.join( + data_dir, 'rastertile_test_fill_nodata_expected'))) + + vector_tiling_result_files_nonfilled = os.listdir(os.path.join( + data_dir, 'vectortile_test_nonfilled_result')) + assert len(vector_tiling_result_files) == len(os.listdir(os.path.join( + data_dir, 'vectortile_test_nonfilled_expected'))) + + # check if the filling worked for both img and vector tiles + for f in raster_tiling_result_files: + result = skimage.io.imread(os.path.join(data_dir, + 'rastertile_test_fill_nodata_result', + f)) + expected = skimage.io.imread( + os.path.join(data_dir, 'rastertile_test_fill_nodata_expected', f)) + assert np.array_equal(result, expected) + + + for f in vector_tiling_result_files: + result = skimage.io.imread(os.path.join(data_dir, + 'vectortile_test_filled_result', + f)) + expected = skimage.io.imread(os.path.join(data_dir, + 'vectortile_test_filled_expected', + f)) + assert np.array_equal(result, expected) + + #cleanup + for f in vector_tiling_result_files_nonfilled: + os.remove(os.path.join(data_dir, 'vectortile_test_nonfilled_result', f)) + os.rmdir(os.path.join(data_dir, 'vectortile_test_nonfilled_result')) + for f in vector_tiling_result_files: + os.remove(os.path.join(data_dir, 'vectortile_test_filled_result', f)) + os.rmdir(os.path.join(data_dir, 'vectortile_test_filled_result')) + for f in raster_tiling_result_files: + os.remove(os.path.join(data_dir, 'rastertile_test_fill_nodata_result', f)) + os.rmdir(os.path.join(data_dir, 'rastertile_test_fill_nodata_result')) + diff --git a/tests/test_utils/test_core.py b/tests/test_utils/test_core.py index fb51c1b4..43a84af2 100644 --- a/tests/test_utils/test_core.py +++ b/tests/test_utils/test_core.py @@ -5,7 +5,8 @@ import rasterio from solaris.data import data_dir from solaris.utils.core import _check_df_load, _check_gdf_load -from solaris.utils.core import _check_rasterio_im_load +from solaris.utils.core import _check_rasterio_im_load, _check_crs +import pyproj class TestLoadCheckers(object): @@ -60,3 +61,12 @@ def test_loaded_image(self): truth_im.close() # need to close the rasterio datasetreader objects test_im.close() + + +class TestCRS(object): + """Test CRS parsing.""" + + def test_proj_CRS_object(self): + input_crs = pyproj.crs.CRS.from_epsg(4326) + crs = _check_crs(input_crs) + assert crs == rasterio.crs.CRS.from_epsg(4326) diff --git a/tests/test_utils/test_geo.py b/tests/test_utils/test_geo.py index 528d1a6c..285909c5 100644 --- a/tests/test_utils/test_geo.py +++ b/tests/test_utils/test_geo.py @@ -6,6 +6,7 @@ from shapely.wkt import loads from shapely.ops import cascaded_union from solaris.data import data_dir +from solaris.utils.core import _check_gdf_load from solaris.utils.geo import list_to_affine, split_multi_geometries from solaris.utils.geo import geometries_internal_intersection, split_geom from solaris.utils.geo import reproject, reproject_geometry @@ -70,7 +71,7 @@ def test_simple_split_multipolygon(self): output = split_multi_geometries(os.path.join(data_dir, 'w_multipolygon.csv')) expected = gpd.read_file(os.path.join( - data_dir, 'split_multi_result.json')).drop(columns='id') + data_dir, 'split_multi_result.json')) assert expected.equals(output) @@ -79,7 +80,7 @@ def test_grouped_split_multipolygon(self): os.path.join(data_dir, 'w_multipolygon.csv'), obj_id_col='field_1', group_col='truncated') expected = gpd.read_file(os.path.join( - data_dir, 'split_multi_grouped_result.json')).drop(columns='id') + data_dir, 'split_multi_grouped_result.json')) assert expected.equals(output) @@ -136,7 +137,7 @@ def test_reproject_from_wkt(self): reproj_geom = reproject_geometry(input_str, input_crs=32616, target_crs=4326) area_sim = result_geom.intersection(reproj_geom).area/result_geom.area - + assert area_sim > 0.99999 def test_reproject_from_wkt_to_utm(self): @@ -146,7 +147,7 @@ def test_reproject_from_wkt_to_utm(self): reproj_geom = reproject_geometry(input_str, input_crs=4326, target_crs=32616) area_sim = result_geom.intersection(reproj_geom).area/result_geom.area - + assert area_sim > 0.99999 @@ -156,8 +157,18 @@ class TestSplitGeometry(object): def test_split_polygon(self): poly = gpd.read_file(os.path.join( - data_dir, 'test_polygon_split.geojson')).iloc[0]['geometry'] + data_dir, 'test_polygon_split.geojson')).iloc[0]['geometry'] reproj_poly = reproject_geometry(poly, input_crs=4326, target_crs=32611) split_geom_list = split_geom(reproj_poly, (1024,1024), resolution=30) assert len(split_geom_list) == 47 + + def test_split_multigeom_gdf(self): + + multi_gdf = _check_gdf_load( + os.path.join(data_dir, 'multigeom.geojson')) + expected_result = _check_gdf_load( + os.path.join(data_dir, 'multigeom_split_result.geojson')) + single_gdf = split_multi_geometries(multi_gdf) + + assert single_gdf.equals(expected_result)