├── .gitattributes ├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── documentation.md │ ├── feature_request.md │ └── maintenance.md ├── .gitignore ├── .readthedocs-environment.yml ├── .readthedocs.yml ├── .rtfd-requirements.txt ├── .travis.yml ├── .vscode └── settings.json ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.txt ├── MANIFEST.in ├── PULL_REQUEST_TEMPLATE.md ├── README.md ├── docker ├── cpu │ └── Dockerfile └── gpu │ └── Dockerfile ├── docs ├── Makefile ├── _static │ ├── custom_styles.css │ ├── solaris_logo.png │ └── solaris_logo_tiny_black.png ├── _templates │ ├── autosummary │ │ ├── base.rst │ │ ├── class.rst │ │ └── module.rst │ ├── base │ │ └── base.rst │ ├── custom_sidebar.html │ ├── dotnet │ │ ├── base_detail.rst │ │ ├── base_embed.rst │ │ ├── base_list.rst │ │ ├── class.rst │ │ ├── constructor.rst │ │ ├── delegate.rst │ │ ├── enum.rst │ │ ├── event.rst │ │ ├── field.rst │ │ ├── interface.rst │ │ ├── method.rst │ │ ├── namespace.rst │ │ ├── operator.rst │ │ ├── property.rst │ │ └── struct.rst │ ├── go │ │ ├── base_member.rst │ │ ├── const.rst │ │ ├── func.rst │ │ ├── method.rst │ │ ├── package.rst │ │ ├── type.rst │ │ └── var.rst │ ├── index.rst │ ├── javascript │ │ ├── class.rst │ │ ├── function.rst │ │ ├── member.rst │ │ └── module.rst │ └── python │ │ ├── attribute.rst │ │ ├── class.rst │ │ ├── data.rst │ │ ├── exception.rst │ │ ├── function.rst │ │ ├── method.rst │ │ ├── module.rst │ │ └── package.rst ├── api │ ├── data.rst │ ├── eval.rst │ ├── index.rst │ ├── nets.rst │ ├── preproc.rst │ ├── raster.rst │ ├── tile.rst │ ├── utils.rst │ └── vector.rst ├── conf.py ├── index.rst ├── installation.rst ├── intro.rst ├── make.bat ├── pretrained_models.rst └── tutorials │ ├── index.rst │ └── notebooks │ ├── api_coco_tutorial.ipynb │ ├── api_evaluation_tutorial.ipynb │ ├── api_mask_to_vector.ipynb │ ├── api_masks_tutorial.ipynb │ ├── api_tiling_tutorial.ipynb │ ├── api_training_custom.ipynb │ ├── api_training_spacenet.ipynb │ ├── cli_mask_creation.ipynb │ ├── cli_ml_pipeline.ipynb │ ├── cli_spacenet_evaluation.ipynb │ ├── creating_im_reference_csvs.ipynb │ ├── creating_the_yaml_config_file.ipynb │ ├── map_vehicles_cowc.ipynb │ ├── preprocessing_branching.ipynb │ ├── preprocessing_pipelines.ipynb │ └── preprocessing_sar.ipynb ├── environment-gpu.yml ├── environment.yml ├── renovate.json ├── requirements.txt ├── setup.py ├── solaris ├── __init__.py ├── bin │ ├── __init__.py │ ├── geotransform_footprints.py │ ├── make_graphs.py │ ├── make_masks.py │ ├── mask_to_polygons.py │ ├── solaris_run_ml.py │ └── spacenet_eval.py ├── data │ ├── SN2_sample_iou_by_building.csv │ ├── SN2_sample_preds.csv │ ├── SN2_sample_truth.csv │ ├── SN2_test_results.csv │ ├── SN2_test_results_full.csv │ ├── __init__.py │ ├── aff_gdf_result.csv │ ├── cli_test │ │ ├── __init__.py │ │ ├── expected │ │ │ ├── __init__.py │ │ │ ├── gj_to_px_result.geojson │ │ │ ├── sample_b_inner_mask.tif │ │ │ ├── sample_b_outer10_mask.tif │ │ │ ├── sample_c_mask.tif │ │ │ ├── sample_fbc_mask.tif │ │ │ ├── sample_fp_mask.tif │ │ │ └── sample_graph.pkl │ │ └── result │ │ │ └── __init__.py │ ├── coco.py │ ├── coco_sample_1.json │ ├── coco_sample_2.json │ ├── coco_sample_3.json │ ├── competition_test_results.csv │ ├── competition_test_results_full.csv │ ├── datagen_sample │ │ ├── expected_im.tif │ │ ├── sample_1.tif │ │ ├── sample_2.tif │ │ ├── sample_3.tif │ │ ├── sample_df.csv │ │ ├── sample_mask_1.tif │ │ ├── sample_mask_2.tif │ │ └── sample_mask_3.tif │ ├── empty.geojson │ ├── eval_vector │ │ ├── gt │ │ │ ├── 108_1040010044D30600.geojson │ │ │ ├── 10_104005000FDC8300.geojson │ │ │ └── 11_10400100213E1200.geojson │ │ └── preds │ │ │ ├── 108_1040010044D30600.geojson │ │ │ ├── 10_104005000FDC8300.geojson │ │ │ └── 11_10400100213E1200.geojson │ ├── gdf_from_mask_1.geojson │ ├── gdf_from_mask_2.geojson │ ├── geotiff_custom_proj_labels.geojson │ ├── geotiff_labels.geojson │ ├── gj_to_px_result.geojson │ ├── gt.geojson │ ├── gt_epsg4326.json │ ├── inference_tiler_test_output.npy │ ├── nebraska_landsat5_with_nodata_wgs84.tif │ ├── nebraska_wgs84_with_nodata_labels.geojson │ ├── overlap_test.geojson │ ├── pred.geojson │ ├── preproc_tutorial │ │ ├── example1flowchart.png │ │ ├── example2flowchart.png │ │ ├── example3flowchart.png │ │ ├── ms1.tif │ │ ├── ms2.tif │ │ ├── ms3.tif │ │ ├── pan1.tif │ │ ├── pan2.tif │ │ ├── pan3.tif │ │ ├── rgb_unmasked.tif │ │ ├── sar_hh.tif │ │ ├── sar_hv.tif │ │ ├── sar_masked.tif │ │ ├── sar_vh.tif │ │ └── sar_vv.tif │ ├── rastertile_test_custom_proj_expected │ │ ├── sample_geotiff_custom_proj_-661905_2118645.tif │ │ ├── sample_geotiff_custom_proj_-661905_2122485.tif │ │ ├── sample_geotiff_custom_proj_-661905_2126325.tif │ │ ├── sample_geotiff_custom_proj_-661905_2130165.tif │ │ ├── sample_geotiff_custom_proj_-665745_2118645.tif │ │ ├── sample_geotiff_custom_proj_-665745_2122485.tif │ │ ├── sample_geotiff_custom_proj_-665745_2126325.tif │ │ ├── sample_geotiff_custom_proj_-665745_2130165.tif │ │ ├── sample_geotiff_custom_proj_-669585_2118645.tif │ │ ├── sample_geotiff_custom_proj_-669585_2122485.tif │ │ ├── sample_geotiff_custom_proj_-669585_2126325.tif │ │ ├── sample_geotiff_custom_proj_-669585_2130165.tif │ │ ├── sample_geotiff_custom_proj_-673425_2118645.tif │ │ ├── sample_geotiff_custom_proj_-673425_2122485.tif │ │ ├── sample_geotiff_custom_proj_-673425_2126325.tif │ │ └── sample_geotiff_custom_proj_-673425_2130165.tif │ ├── rastertile_test_expected │ │ ├── sample_geotiff_733601_3724734.tif │ │ ├── sample_geotiff_733601_3724779.tif │ │ ├── sample_geotiff_733601_3724824.tif │ │ ├── sample_geotiff_733601_3724869.tif │ │ ├── sample_geotiff_733601_3724914.tif │ │ ├── sample_geotiff_733601_3724959.tif │ │ ├── sample_geotiff_733601_3725004.tif │ │ ├── sample_geotiff_733601_3725049.tif │ │ ├── sample_geotiff_733601_3725094.tif │ │ ├── sample_geotiff_733601_3725139.tif │ │ ├── sample_geotiff_733646_3724734.tif │ │ ├── sample_geotiff_733646_3724779.tif │ │ ├── sample_geotiff_733646_3724824.tif │ │ ├── sample_geotiff_733646_3724869.tif │ │ ├── sample_geotiff_733646_3724914.tif │ │ ├── sample_geotiff_733646_3724959.tif │ │ ├── sample_geotiff_733646_3725004.tif │ │ ├── sample_geotiff_733646_3725049.tif │ │ ├── sample_geotiff_733646_3725094.tif │ │ ├── sample_geotiff_733646_3725139.tif │ │ ├── sample_geotiff_733691_3724734.tif │ │ ├── sample_geotiff_733691_3724779.tif │ │ ├── sample_geotiff_733691_3724824.tif │ │ ├── sample_geotiff_733691_3724869.tif │ │ ├── sample_geotiff_733691_3724914.tif │ │ ├── sample_geotiff_733691_3724959.tif │ │ ├── sample_geotiff_733691_3725004.tif │ │ ├── sample_geotiff_733691_3725049.tif │ │ ├── sample_geotiff_733691_3725094.tif │ │ ├── sample_geotiff_733691_3725139.tif │ │ ├── sample_geotiff_733736_3724734.tif │ │ ├── sample_geotiff_733736_3724779.tif │ │ ├── sample_geotiff_733736_3724824.tif │ │ ├── sample_geotiff_733736_3724869.tif │ │ ├── sample_geotiff_733736_3724914.tif │ │ ├── sample_geotiff_733736_3724959.tif │ │ ├── sample_geotiff_733736_3725004.tif │ │ ├── sample_geotiff_733736_3725049.tif │ │ ├── sample_geotiff_733736_3725094.tif │ │ ├── sample_geotiff_733736_3725139.tif │ │ ├── sample_geotiff_733781_3724734.tif │ │ ├── sample_geotiff_733781_3724779.tif │ │ ├── sample_geotiff_733781_3724824.tif │ │ ├── sample_geotiff_733781_3724869.tif │ │ ├── sample_geotiff_733781_3724914.tif │ │ ├── sample_geotiff_733781_3724959.tif │ │ ├── sample_geotiff_733781_3725004.tif │ │ ├── sample_geotiff_733781_3725049.tif │ │ ├── sample_geotiff_733781_3725094.tif │ │ ├── sample_geotiff_733781_3725139.tif │ │ ├── sample_geotiff_733826_3724734.tif │ │ ├── sample_geotiff_733826_3724779.tif │ │ ├── sample_geotiff_733826_3724824.tif │ │ ├── sample_geotiff_733826_3724869.tif │ │ ├── sample_geotiff_733826_3724914.tif │ │ ├── sample_geotiff_733826_3724959.tif │ │ ├── sample_geotiff_733826_3725004.tif │ │ ├── sample_geotiff_733826_3725049.tif │ │ ├── sample_geotiff_733826_3725094.tif │ │ ├── sample_geotiff_733826_3725139.tif │ │ ├── sample_geotiff_733871_3724734.tif │ │ ├── sample_geotiff_733871_3724779.tif │ │ ├── sample_geotiff_733871_3724824.tif │ │ ├── sample_geotiff_733871_3724869.tif │ │ ├── sample_geotiff_733871_3724914.tif │ │ ├── sample_geotiff_733871_3724959.tif │ │ ├── sample_geotiff_733871_3725004.tif │ │ ├── sample_geotiff_733871_3725049.tif │ │ ├── sample_geotiff_733871_3725094.tif │ │ ├── sample_geotiff_733871_3725139.tif │ │ ├── sample_geotiff_733916_3724734.tif │ │ ├── sample_geotiff_733916_3724779.tif │ │ ├── sample_geotiff_733916_3724824.tif │ │ ├── sample_geotiff_733916_3724869.tif │ │ ├── sample_geotiff_733916_3724914.tif │ │ ├── sample_geotiff_733916_3724959.tif │ │ ├── sample_geotiff_733916_3725004.tif │ │ ├── sample_geotiff_733916_3725049.tif │ │ ├── sample_geotiff_733916_3725094.tif │ │ ├── sample_geotiff_733916_3725139.tif │ │ ├── sample_geotiff_733961_3724734.tif │ │ ├── sample_geotiff_733961_3724779.tif │ │ ├── sample_geotiff_733961_3724824.tif │ │ ├── sample_geotiff_733961_3724869.tif │ │ ├── sample_geotiff_733961_3724914.tif │ │ ├── sample_geotiff_733961_3724959.tif │ │ ├── sample_geotiff_733961_3725004.tif │ │ ├── sample_geotiff_733961_3725049.tif │ │ ├── sample_geotiff_733961_3725094.tif │ │ ├── sample_geotiff_733961_3725139.tif │ │ ├── sample_geotiff_734006_3724734.tif │ │ ├── sample_geotiff_734006_3724779.tif │ │ ├── sample_geotiff_734006_3724824.tif │ │ ├── sample_geotiff_734006_3724869.tif │ │ ├── sample_geotiff_734006_3724914.tif │ │ ├── sample_geotiff_734006_3724959.tif │ │ ├── sample_geotiff_734006_3725004.tif │ │ ├── sample_geotiff_734006_3725049.tif │ │ ├── sample_geotiff_734006_3725094.tif │ │ └── sample_geotiff_734006_3725139.tif │ ├── rastertile_test_fill_nodata_expected │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.003_41.774.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.691.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.732.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.774.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.691.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.732.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.774.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.691.tif │ │ ├── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.732.tif │ │ └── aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.774.tif │ ├── restrict_aoi_test.geojson │ ├── road_mask_input.tif │ ├── sample.csv │ ├── sample.geojson │ ├── sample_b_from_df2px.tif │ ├── sample_b_mask_inner.tif │ ├── sample_b_mask_outer.tif │ ├── sample_b_mask_outer_10.tif │ ├── sample_c_from_df2px.tif │ ├── sample_c_mask.tif │ ├── sample_fbc_from_df2px.tif │ ├── sample_fp_from_df2px.tif │ ├── sample_fp_mask.tif │ ├── sample_fp_mask_from_geojson.tif │ ├── sample_geotiff.tif │ ├── sample_geotiff.tif.txt │ ├── sample_geotiff_custom_proj.tif │ ├── sample_graph.pkl │ ├── sample_inst_mask.tif │ ├── sample_preds.csv │ ├── sample_preds_competition.csv │ ├── sample_road_raster_mask.tif │ ├── sample_roads.geojson │ ├── sample_roads_for_masking.geojson │ ├── sample_truth.csv │ ├── sample_truth_competition.csv │ ├── split_multi_grouped_result.json │ ├── split_multi_result.csv │ ├── split_multi_result.json │ ├── stitching_conf_output.npy │ ├── stitching_first_output.npy │ ├── test.yml │ ├── test_overlap_output.txt │ ├── test_polygon_split.geojson │ ├── test_results.csv │ ├── test_results_full.csv │ ├── vectortile_test_custom_proj_expected │ │ ├── geoms_-661905.0_2118645.0.geojson │ │ ├── geoms_-661905.0_2122485.0.geojson │ │ ├── geoms_-661905.0_2126325.0.geojson │ │ ├── geoms_-661905.0_2130165.0.geojson │ │ ├── geoms_-665745.0_2118645.0.geojson │ │ ├── geoms_-665745.0_2122485.0.geojson │ │ ├── geoms_-665745.0_2126325.0.geojson │ │ ├── geoms_-665745.0_2130165.0.geojson │ │ ├── geoms_-669585.0_2118645.0.geojson │ │ ├── geoms_-669585.0_2122485.0.geojson │ │ ├── geoms_-669585.0_2126325.0.geojson │ │ ├── geoms_-669585.0_2130165.0.geojson │ │ ├── geoms_-673425.0_2118645.0.geojson │ │ ├── geoms_-673425.0_2122485.0.geojson │ │ ├── geoms_-673425.0_2126325.0.geojson │ │ └── geoms_-673425.0_2130165.0.geojson │ ├── vectortile_test_expected │ │ ├── geoms_733601_3724734.geojson │ │ ├── geoms_733601_3724779.geojson │ │ ├── geoms_733601_3724824.geojson │ │ ├── geoms_733601_3724869.geojson │ │ ├── geoms_733601_3724914.geojson │ │ ├── geoms_733601_3724959.geojson │ │ ├── geoms_733601_3725004.geojson │ │ ├── geoms_733601_3725049.geojson │ │ ├── geoms_733601_3725094.geojson │ │ ├── geoms_733601_3725139.geojson │ │ ├── geoms_733646_3724734.geojson │ │ ├── geoms_733646_3724779.geojson │ │ ├── geoms_733646_3724824.geojson │ │ ├── geoms_733646_3724869.geojson │ │ ├── geoms_733646_3724914.geojson │ │ ├── geoms_733646_3724959.geojson │ │ ├── geoms_733646_3725004.geojson │ │ ├── geoms_733646_3725049.geojson │ │ ├── geoms_733646_3725094.geojson │ │ ├── geoms_733646_3725139.geojson │ │ ├── geoms_733691_3724734.geojson │ │ ├── geoms_733691_3724779.geojson │ │ ├── geoms_733691_3724824.geojson │ │ ├── geoms_733691_3724869.geojson │ │ ├── geoms_733691_3724914.geojson │ │ ├── geoms_733691_3724959.geojson │ │ ├── geoms_733691_3725004.geojson │ │ ├── geoms_733691_3725049.geojson │ │ ├── geoms_733691_3725094.geojson │ │ ├── geoms_733691_3725139.geojson │ │ ├── geoms_733736_3724734.geojson │ │ ├── geoms_733736_3724779.geojson │ │ ├── geoms_733736_3724824.geojson │ │ ├── geoms_733736_3724869.geojson │ │ ├── geoms_733736_3724914.geojson │ │ ├── geoms_733736_3724959.geojson │ │ ├── geoms_733736_3725004.geojson │ │ ├── geoms_733736_3725049.geojson │ │ ├── geoms_733736_3725094.geojson │ │ ├── geoms_733736_3725139.geojson │ │ ├── geoms_733781_3724734.geojson │ │ ├── geoms_733781_3724779.geojson │ │ ├── geoms_733781_3724824.geojson │ │ ├── geoms_733781_3724869.geojson │ │ ├── geoms_733781_3724914.geojson │ │ ├── geoms_733781_3724959.geojson │ │ ├── geoms_733781_3725004.geojson │ │ ├── geoms_733781_3725049.geojson │ │ ├── geoms_733781_3725094.geojson │ │ ├── geoms_733781_3725139.geojson │ │ ├── geoms_733826_3724734.geojson │ │ ├── geoms_733826_3724779.geojson │ │ ├── geoms_733826_3724824.geojson │ │ ├── geoms_733826_3724869.geojson │ │ ├── geoms_733826_3724914.geojson │ │ ├── geoms_733826_3724959.geojson │ │ ├── geoms_733826_3725004.geojson │ │ ├── geoms_733826_3725049.geojson │ │ ├── geoms_733826_3725094.geojson │ │ ├── geoms_733826_3725139.geojson │ │ ├── geoms_733871_3724734.geojson │ │ ├── geoms_733871_3724779.geojson │ │ ├── geoms_733871_3724824.geojson │ │ ├── geoms_733871_3724869.geojson │ │ ├── geoms_733871_3724914.geojson │ │ ├── geoms_733871_3724959.geojson │ │ ├── geoms_733871_3725004.geojson │ │ ├── geoms_733871_3725049.geojson │ │ ├── geoms_733871_3725094.geojson │ │ ├── geoms_733871_3725139.geojson │ │ ├── geoms_733916_3724734.geojson │ │ ├── geoms_733916_3724779.geojson │ │ ├── geoms_733916_3724824.geojson │ │ ├── geoms_733916_3724869.geojson │ │ ├── geoms_733916_3724914.geojson │ │ ├── geoms_733916_3724959.geojson │ │ ├── geoms_733916_3725004.geojson │ │ ├── geoms_733916_3725049.geojson │ │ ├── geoms_733916_3725094.geojson │ │ ├── geoms_733916_3725139.geojson │ │ ├── geoms_733961_3724734.geojson │ │ ├── geoms_733961_3724779.geojson │ │ ├── geoms_733961_3724824.geojson │ │ ├── geoms_733961_3724869.geojson │ │ ├── geoms_733961_3724914.geojson │ │ ├── geoms_733961_3724959.geojson │ │ ├── geoms_733961_3725004.geojson │ │ ├── geoms_733961_3725049.geojson │ │ ├── geoms_733961_3725094.geojson │ │ ├── geoms_733961_3725139.geojson │ │ ├── geoms_734006_3724734.geojson │ │ ├── geoms_734006_3724779.geojson │ │ ├── geoms_734006_3724824.geojson │ │ ├── geoms_734006_3724869.geojson │ │ ├── geoms_734006_3724914.geojson │ │ ├── geoms_734006_3724959.geojson │ │ ├── geoms_734006_3725004.geojson │ │ ├── geoms_734006_3725049.geojson │ │ ├── geoms_734006_3725094.geojson │ │ └── geoms_734006_3725139.geojson │ ├── vectortile_test_filled_expected │ │ ├── empty_geoms_-101.003_41.774.tif │ │ ├── empty_geoms_-101.044_41.691.tif │ │ ├── empty_geoms_-101.044_41.732.tif │ │ ├── empty_geoms_-101.085_41.774.tif │ │ ├── empty_geoms_-101.127_41.774.tif │ │ ├── geoms_-101.044_41.774.tif │ │ ├── geoms_-101.085_41.691.tif │ │ ├── geoms_-101.085_41.732.tif │ │ ├── geoms_-101.127_41.691.tif │ │ └── geoms_-101.127_41.732.tif │ ├── vectortile_test_nonfilled_expected │ │ ├── geoms_-101.003_41.774.geojson │ │ ├── geoms_-101.044_41.691.geojson │ │ ├── geoms_-101.044_41.732.geojson │ │ ├── geoms_-101.044_41.774.geojson │ │ ├── geoms_-101.085_41.691.geojson │ │ ├── geoms_-101.085_41.732.geojson │ │ ├── geoms_-101.085_41.774.geojson │ │ ├── geoms_-101.127_41.691.geojson │ │ ├── geoms_-101.127_41.732.geojson │ │ └── geoms_-101.127_41.774.geojson │ ├── w_multipolygon.csv │ ├── yolo_gdf_result.csv │ └── zoo │ │ └── model_reference.yml ├── eval │ ├── __init__.py │ ├── base.py │ ├── challenges.py │ ├── iou.py │ ├── pixel.py │ ├── scot.py │ └── vector.py ├── nets │ ├── __init__.py │ ├── _keras_losses.py │ ├── _torch_losses.py │ ├── callbacks.py │ ├── configs │ │ ├── config_skeleton.yml │ │ ├── selimsef_densenet121unet_spacenet4.yml │ │ ├── selimsef_densenet161unet_spacenet4.yml │ │ ├── selimsef_resnet34unet_spacenet4.yml │ │ ├── selimsef_scse50unet_spacenet4.yml │ │ └── xdxd_spacenet4.yml │ ├── datagen.py │ ├── infer.py │ ├── losses.py │ ├── metrics.py │ ├── model_io.py │ ├── optimizers.py │ ├── torch_callbacks.py │ ├── train.py │ ├── transform.py │ └── zoo │ │ ├── __init__.py │ │ ├── multiclass_segmentation.py │ │ ├── selim_sef_sn4.py │ │ └── xdxd_sn4.py ├── preproc │ ├── __init__.py │ ├── image.py │ ├── label.py │ ├── optical.py │ ├── pipesegment.py │ └── sar.py ├── raster │ ├── __init__.py │ └── image.py ├── tile │ ├── __init__.py │ ├── raster_tile.py │ └── vector_tile.py ├── utils │ ├── __init__.py │ ├── cli.py │ ├── config.py │ ├── core.py │ ├── data.py │ ├── geo.py │ ├── io.py │ ├── log.py │ ├── raster.py │ ├── tdigest.py │ └── tile.py └── vector │ ├── __init__.py │ ├── graph.py │ ├── mask.py │ └── polygon.py ├── static └── sol_logo.png └── tests ├── __init__.py ├── test_cli ├── compare.py ├── test_cli.py └── test_cli.sh ├── test_data └── test_coco.py ├── test_eval ├── evaluator_test.py ├── iou_test.py ├── off_nadir_dataset_test.py ├── pixel_test.py ├── spacenet_buildings2_dataset_test.py └── vector_test.py ├── test_imports.py ├── test_nets ├── test_callbacks.py ├── test_datagen.py ├── test_losses.py ├── test_metrics.py ├── test_optimizers.py └── test_transform.py ├── test_raster ├── __init__.py └── test_image.py ├── test_tile └── test_tile.py ├── test_utils ├── __init__.py ├── test_core.py ├── test_data.py ├── test_geo.py └── test_io.py └── test_vector ├── __init__.py ├── test_graph.py ├── test_mask.py └── test_polygon.py /.gitattributes: -------------------------------------------------------------------------------- 1 | *.ipynb filter=nbstripout 2 | 3 | *.ipynb diff=ipynb 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report an error or other suspected bug behavior 4 | title: "[BUG]: (your description here)" 5 | labels: 'Status: Review Needed, Type: bug' 6 | assignees: '' 7 | 8 | --- 9 | 10 | _Thank you for helping us improve `solaris`!_ 11 | 12 | ## Summary of the bug 13 | A clear and concise description of what the bug is. 14 | 15 | ## Steps to reproduce the bug 16 | Please either paste sample code used to generate the buggy behavior below, or provide step-by-step instructions to reproduce the problem. 17 | 18 | ``` 19 | Paste bug-causing code here 20 | ``` 21 | 22 | Steps to reproduce the behavior: 23 | 1. Go to '...' 24 | 2. Click on '....' 25 | 3. Scroll down to '....' 26 | 4. See error 27 | 28 | ## Buggy behavior and/or error message 29 | Please describe the buggy behavior and/or paste output here. 30 | ``` 31 | Paste output here 32 | ``` 33 | 34 | ## Expected behavior 35 | A clear and concise description of what you expected to happen. 36 | 37 | ## Screenshots 38 | If applicable, add screenshots to help explain your problem. 39 | 40 | ## Environment information 41 | - OS: 42 | - `solaris` version: 43 | - python version: 44 | - version of any relevant dependencies (optional - we may ask for this information later if not provided) 45 | 46 | ## Additional context 47 | Add any other context about the problem here. 48 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Documentation 3 | about: Request for additional documentation, clarification of existing documentation, or tutorials 4 | title: "[DOCS]" 5 | labels: 'Status: Review Needed, Type: Documentation' 6 | assignees: '' 7 | 8 | --- 9 | 10 | _Thank you for helping to improve `solaris`!_ 11 | 12 | ## Documentation request summary 13 | 14 | A short summary of the changes you'd like made to the documentation. 15 | 16 | ## Task detail and notes 17 | 18 | List any additional information, links, or other content here that is needed to make the changes you're requesting. 19 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: "[FEATURE]: (short description)" 5 | labels: 'Status: Review Needed, Type: Enhancement' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/maintenance.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Maintenance 3 | about: Request for maintenance, refactoring, or related tasks 4 | title: "[MAINT]" 5 | labels: 'Status: Review Needed, Type: Maintenance' 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Maintenance request summary 11 | 12 | A short summary of the maintenance to perform, including why it needs to be done. 13 | 14 | ## Task detail and notes 15 | 16 | Any additional information: 17 | 18 | - What other code will this impact? 19 | 20 | - Do new tests need to be written or do existing tests need to be updated? 21 | 22 | - Will this impact documentation? 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # MacOS stuff: 7 | .DS_Store 8 | 9 | # C extensions 10 | *.so 11 | 12 | # Distribution / packaging 13 | .Python 14 | build/ 15 | develop-eggs/ 16 | dist/ 17 | downloads/ 18 | eggs/ 19 | .eggs/ 20 | lib/ 21 | lib64/ 22 | parts/ 23 | sdist/ 24 | var/ 25 | wheels/ 26 | pip-wheel-metadata/ 27 | share/python-wheels/ 28 | *.egg-info/ 29 | .installed.cfg 30 | *.egg 31 | MANIFEST 32 | 33 | # PyInstaller 34 | # Usually these files are written by a python script from a template 35 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 36 | *.manifest 37 | *.spec 38 | 39 | # Installer logs 40 | pip-log.txt 41 | pip-delete-this-directory.txt 42 | 43 | # Unit test / coverage reports 44 | htmlcov/ 45 | .tox/ 46 | .nox/ 47 | .coverage 48 | .coverage.* 49 | .cache 50 | nosetests.xml 51 | coverage.xml 52 | *.cover 53 | .hypothesis/ 54 | .pytest_cache/ 55 | 56 | # Translations 57 | *.mo 58 | *.pot 59 | 60 | # Django stuff: 61 | *.log 62 | local_settings.py 63 | db.sqlite3 64 | 65 | # Flask stuff: 66 | instance/ 67 | .webassets-cache 68 | 69 | # Scrapy stuff: 70 | .scrapy 71 | 72 | # Text editor backups: 73 | *~ 74 | 75 | # Sphinx documentation 76 | docs/_build/ 77 | 78 | # PyBuilder 79 | target/ 80 | 81 | # Jupyter Notebook 82 | .ipynb_checkpoints 83 | 84 | # IPython 85 | profile_default/ 86 | ipython_config.py 87 | 88 | # pyenv 89 | .python-version 90 | 91 | # celery beat schedule file 92 | celerybeat-schedule 93 | 94 | # SageMath parsed files 95 | *.sage.py 96 | 97 | # Environments 98 | .env 99 | .venv 100 | env/ 101 | venv/ 102 | ENV/ 103 | env.bak/ 104 | venv.bak/ 105 | 106 | # Spyder project settings 107 | .spyderproject 108 | .spyproject 109 | 110 | # Rope project settings 111 | .ropeproject 112 | 113 | # mkdocs documentation 114 | /site 115 | 116 | # mypy 117 | .mypy_cache/ 118 | .dmypy.json 119 | dmypy.json 120 | 121 | # Pyre type checker 122 | .pyre/ 123 | 124 | # Project-specific 125 | sandbox.ipynb 126 | solaris/nets/weights 127 | model_weights 128 | -------------------------------------------------------------------------------- /.readthedocs-environment.yml: -------------------------------------------------------------------------------- 1 | name: solaris 2 | dependencies: 3 | - python 4 | - pip 5 | - gdal 6 | - pip: 7 | - sphinx_bootstrap_theme 8 | - nbsphinx 9 | -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | formats: 3 | - htmlzip 4 | 5 | python: 6 | version: 3.6 7 | install: 8 | - method: pip 9 | path: . 10 | - requirements: .rtfd-requirements.txt 11 | 12 | 13 | conda: 14 | environment: .readthedocs-environment.yml 15 | 16 | build: 17 | image: latest 18 | -------------------------------------------------------------------------------- /.rtfd-requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx_bootstrap_theme 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | sudo: required 3 | dist: xenial 4 | cache: false 5 | python: 6 | - "3.6" 7 | - "3.7" 8 | - "3.8" 9 | 10 | # command to install dependencies 11 | install: 12 | - sudo apt-get update 13 | # We do this conditionally because it saves us some downloading if the 14 | # version is the same. 15 | - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then 16 | wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh; 17 | else 18 | wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; 19 | fi 20 | - bash miniconda.sh -b -p $HOME/miniconda 21 | - export PATH="$HOME/miniconda/bin:$PATH" 22 | - hash -r 23 | - conda config --set always_yes yes --set changeps1 no 24 | # Useful for debugging any issues with conda 25 | - conda install pip # workaround to avoid miniconda 4.7.12 bugs 26 | - conda update conda -c conda-forge 27 | - conda info -a 28 | # switch python version spec in environment.yml to match TRAVIS_PYTHON_VERSION 29 | # annoying workaround to `conda env create python=$TRAVIS_PYTHON_VERSION` not working 30 | - sed -i -E 's/(python=)(.*)/\1'$TRAVIS_PYTHON_VERSION'/' ./environment.yml 31 | - conda env create -n solaris -f environment.yml 32 | - conda list -n solaris 33 | - source activate solaris 34 | - python --version 35 | - pip install --user -r requirements.txt -vv 36 | - pip install .[test] -vv 37 | - pip install codecov pytest-cov pytest==5.3.1 38 | # command to run tests 39 | script: 40 | - python -m pytest --cov=./ 41 | 42 | after_success: 43 | - codecov 44 | 45 | jobs: 46 | allow_failures: 47 | - python: "3.8" 48 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.testing.pytestArgs": [ 3 | "tests" 4 | ], 5 | "python.testing.unittestEnabled": false, 6 | "python.testing.nosetestsEnabled": false, 7 | "python.testing.pytestEnabled": true, 8 | "python.pythonPath": "/home/rave/miniconda3/envs/solaris-test/bin/python" 9 | } -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include *.txt 2 | include *.md 3 | include *json 4 | include *.csv 5 | include *.pkl 6 | include *.tif 7 | include *.txt 8 | include *.npy 9 | 10 | graft solaris/data 11 | -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Thank you for submitting your PR. Please read the template below, fill it out as appropriate, and make additional changes to your code as needed. Please feel free to submit your PR even if it doesn't satisfy all of the requirements below - simply prepend [WIP] to the PR title until it is ready for review by a maintainer. If you need assistance or review from a maintainer, add the label __Status: Help Needed__ or __Status: Review Needed__ respectively. After review, a maintainer will add the label __Status: Revision Needed__ if further work is required for the PR to be merged. 2 | 3 | # Description 4 | 5 | Please include a summary of the change and which issue is resolved. Please also include relevant motivation and context. List any dependencies that are required for this change. 6 | 7 | Fixes # (issue) 8 | 9 | ## Type of change 10 | 11 | Please delete options that are not relevant. 12 | 13 | - [ ] Bug fix (non-breaking change which fixes an issue) 14 | - [ ] New feature (non-breaking change which adds functionality) 15 | - [ ] __Breaking change__ (fix or feature that would cause existing functionality to not work as expected - these changes will not be merged until major releases!) 16 | 17 | 18 | 19 | # How Has This Been Tested? 20 | 21 | Please describe tests that you added to the pytest codebase (if applicable). 22 | 23 | # Checklist: 24 | 25 | - [ ] My PR has a descriptive title 26 | - [ ] My code follows PEP8 27 | - [ ] I have performed a self-review of my own code 28 | - [ ] I have commented my code, particularly in hard-to-understand areas 29 | - [ ] I have made corresponding changes to the documentation 30 | - [ ] My changes generate no new errors 31 | - [ ] I have added tests that prove my fix is effective or that my feature works 32 | - [ ] My PR passes Travis CI tests 33 | - [ ] My PR does not reduce coverage in Codecov 34 | 35 | _If your PR does not fulfill all of the requirements in the checklist above, that's OK!_ Just prepend [WIP] to the PR title until they are all satisfied. If you need help, @-mention a maintainer and/or add the __Status: Help Needed__ label. 36 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SOURCEDIR = . 8 | BUILDDIR = _build 9 | 10 | # Put it first so that "make" without argument is like "make help". 11 | help: 12 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 13 | 14 | .PHONY: help Makefile 15 | 16 | # Catch-all target: route all unknown targets to Sphinx using the new 17 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 18 | %: Makefile 19 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /docs/_static/custom_styles.css: -------------------------------------------------------------------------------- 1 | p { 2 | font-size: 1.1em; 3 | } 4 | 5 | h1 { 6 | font-size: 2.5em; 7 | } 8 | 9 | h2 { 10 | font-size: 2.2em; 11 | } 12 | 13 | h3 { 14 | font-size: 1.75em; 15 | } 16 | -------------------------------------------------------------------------------- /docs/_static/solaris_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/docs/_static/solaris_logo.png -------------------------------------------------------------------------------- /docs/_static/solaris_logo_tiny_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/docs/_static/solaris_logo_tiny_black.png -------------------------------------------------------------------------------- /docs/_templates/autosummary/base.rst: -------------------------------------------------------------------------------- 1 | {{ fullname | escape | underline}} 2 | 3 | .. currentmodule:: {{ module }} 4 | 5 | .. auto{{ objtype }}:: {{ objname }} 6 | -------------------------------------------------------------------------------- /docs/_templates/autosummary/class.rst: -------------------------------------------------------------------------------- 1 | {{ fullname | escape | underline}} 2 | 3 | .. currentmodule:: {{ module }} 4 | 5 | .. autoclass:: {{ objname }} 6 | 7 | {% block methods %} 8 | .. automethod:: __init__ 9 | 10 | {% if methods %} 11 | .. rubric:: Methods 12 | 13 | .. autosummary:: 14 | {% for item in methods %} 15 | ~{{ name }}.{{ item }} 16 | {%- endfor %} 17 | {% endif %} 18 | {% endblock %} 19 | 20 | {% block attributes %} 21 | {% if attributes %} 22 | .. rubric:: Attributes 23 | 24 | .. autosummary:: 25 | {% for item in attributes %} 26 | ~{{ name }}.{{ item }} 27 | {%- endfor %} 28 | {% endif %} 29 | {% endblock %} 30 | -------------------------------------------------------------------------------- /docs/_templates/autosummary/module.rst: -------------------------------------------------------------------------------- 1 | {{ fullname | escape | underline}} 2 | 3 | .. automodule:: {{ fullname }} 4 | 5 | {% block functions %} 6 | {% if functions %} 7 | .. rubric:: Functions 8 | 9 | .. autosummary:: 10 | {% for item in functions %} 11 | {{ item }} 12 | {%- endfor %} 13 | {% endif %} 14 | {% endblock %} 15 | 16 | {% block classes %} 17 | {% if classes %} 18 | .. rubric:: Classes 19 | 20 | .. autosummary:: 21 | {% for item in classes %} 22 | {{ item }} 23 | {%- endfor %} 24 | {% endif %} 25 | {% endblock %} 26 | 27 | {% block exceptions %} 28 | {% if exceptions %} 29 | .. rubric:: Exceptions 30 | 31 | .. autosummary:: 32 | {% for item in exceptions %} 33 | {{ item }} 34 | {%- endfor %} 35 | {% endif %} 36 | {% endblock %} 37 | -------------------------------------------------------------------------------- /docs/_templates/base/base.rst: -------------------------------------------------------------------------------- 1 | .. {{ obj.type }}:: {{ obj.name }} 2 | 3 | {% if summary %} 4 | 5 | {{ obj.summary }} 6 | 7 | {% endif %} 8 | -------------------------------------------------------------------------------- /docs/_templates/custom_sidebar.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/_templates/dotnet/base_detail.rst: -------------------------------------------------------------------------------- 1 | {% block title %} 2 | 3 | {{ obj.short_name }} {{ obj.type.title()}} 4 | {{ "=" * (obj.short_name|length + obj.type|length + 1) }} 5 | 6 | {% endblock %} 7 | 8 | {% block summary %} 9 | {% if obj.summary %} 10 | 11 | {{ obj.summary }} 12 | 13 | {% endif %} 14 | {% endblock %} 15 | 16 | {% if obj.namespace %} 17 | Namespace 18 | :dn:ns:`{{ obj.namespace }}` 19 | 20 | {% endif %} 21 | {% if obj.assemblies %} 22 | Assemblies 23 | {% for assembly in obj.assemblies %} 24 | * {{ assembly }} 25 | {% endfor %} 26 | {% endif %} 27 | 28 | ---- 29 | 30 | .. contents:: 31 | :local: 32 | 33 | {% block inheritance %} 34 | 35 | {% if obj.inheritance %} 36 | 37 | Inheritance Hierarchy 38 | --------------------- 39 | 40 | {% for item in obj.inheritance %} 41 | * :dn:{{ item.ref_directive }}:`{{ item.ref_name }}` 42 | {% endfor %} 43 | * :dn:{{ obj.ref_directive }}:`{{ obj.ref_name }}` 44 | {% endif %} 45 | 46 | {% endblock %} 47 | 48 | {% block syntax %} 49 | 50 | {% if obj.example %} 51 | 52 | Syntax 53 | ------ 54 | 55 | .. code-block:: csharp 56 | 57 | {{ obj.example|indent(4) }} 58 | 59 | {% endif %} 60 | 61 | {% endblock %} 62 | 63 | 64 | {% block content %} 65 | 66 | .. dn:{{ obj.ref_type }}:: {{ obj.definition }} 67 | :hidden: 68 | 69 | .. dn:{{ obj.ref_type }}:: {{ obj.name }} 70 | 71 | {% for item_type in obj.item_map.keys() %} 72 | {% if item_type in obj.item_map %} 73 | 74 | {{ item_type.title() }} 75 | {{ "-" * item_type|length }} 76 | 77 | .. dn:{{ obj.ref_type }}:: {{ obj.name }} 78 | :noindex: 79 | :hidden: 80 | 81 | {% for obj_item in obj.item_map.get(item_type, []) %} 82 | {{ obj_item.render()|indent(4) }} 83 | {% endfor %} 84 | 85 | {% endif %} 86 | {% endfor %} 87 | 88 | {% endblock %} 89 | -------------------------------------------------------------------------------- /docs/_templates/dotnet/base_embed.rst: -------------------------------------------------------------------------------- 1 | .. dn:{{ obj.ref_type }}:: {{ obj.name }} 2 | 3 | {% if obj.summary %} 4 | {{ obj.summary|indent(4) }} 5 | 6 | {% endif %} 7 | 8 | {% for param in obj.parameters %} 9 | 10 | {% if param.desc %} 11 | :param {{ param.name }}: {{ param.desc|indent(8) }} 12 | {% endif %} 13 | {% if param.type %} 14 | :type {{ param.name }}: {{ param.type|indent(8) }} 15 | {% endif %} 16 | {% endfor %} 17 | 18 | {% if obj.returns.type %} 19 | :rtype: {{ obj.returns.type|indent(8) }} 20 | {% endif %} 21 | {% if obj.returns.description %} 22 | :return: {{ obj.returns.description|indent(8) }} 23 | {% endif %} 24 | 25 | {% if obj.example %} 26 | .. code-block:: csharp 27 | 28 | {{ obj.example|indent(8) }} 29 | {% endif %} 30 | -------------------------------------------------------------------------------- /docs/_templates/dotnet/base_list.rst: -------------------------------------------------------------------------------- 1 | {% block title %} 2 | 3 | {{ obj.name }} {{ obj.type.title() }} 4 | {{ "=" * (obj.name|length + obj.type|length + 1) }} 5 | 6 | {% endblock %} 7 | 8 | {% block toc %} 9 | 10 | {% if obj.children %} 11 | 12 | .. toctree:: 13 | :hidden: 14 | :maxdepth: 2 15 | 16 | {% for item in obj.children|sort %} 17 | {% if item.type != 'namespace' %} 18 | {{ item.include_path }} 19 | {% endif %} 20 | {% endfor %} 21 | 22 | 23 | {% endif %} 24 | 25 | {% if obj.references %} 26 | 27 | .. toctree:: 28 | :hidden: 29 | :maxdepth: 2 30 | 31 | {% for item in obj.references|sort %} 32 | {% if item.type != 'namespace' %} 33 | {{ item.include_path }} 34 | {% endif %} 35 | {% endfor %} 36 | 37 | {% endif %} 38 | 39 | {% endblock %} 40 | 41 | 42 | {% block content %} 43 | 44 | {% macro display_type(item_type) %} 45 | 46 | .. rubric:: {{ item_type.title() }} 47 | 48 | {% for obj_item in obj.item_map.get(item_type, []) %} 49 | {% macro render() %}{{ obj_item.summary }}{% endmacro %} 50 | 51 | {{ obj_item.type }} :dn:{{ obj_item.ref_directive }}:`{{ obj_item.ref_short_name }}` 52 | .. object: type={{ obj_item.type }} name={{ obj_item.ref_name }} 53 | 54 | {{ render()|indent(8) }} 55 | 56 | {% endfor %} 57 | {% endmacro %} 58 | 59 | .. dn:{{ obj.ref_type }}:: {{ obj.name }} 60 | 61 | {% for item_type in obj.item_map.keys() %} 62 | {{ display_type(item_type) }} 63 | {% endfor %} 64 | 65 | 66 | {% endblock %} 67 | -------------------------------------------------------------------------------- /docs/_templates/dotnet/class.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_detail.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/constructor.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_embed.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/delegate.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_detail.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/enum.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_detail.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/event.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_embed.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/field.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_embed.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/interface.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_detail.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/method.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_embed.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/namespace.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_list.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/operator.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_embed.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/property.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_embed.rst" %} -------------------------------------------------------------------------------- /docs/_templates/dotnet/struct.rst: -------------------------------------------------------------------------------- 1 | {% extends "dotnet/base_detail.rst" %} -------------------------------------------------------------------------------- /docs/_templates/go/base_member.rst: -------------------------------------------------------------------------------- 1 | .. go:{{ obj.ref_type }}:: {{ obj.name }} 2 | {% if obj.type == 'func' %} 3 | {% set argjoin = joiner(', ') %} 4 | ({% for param in obj.parameters %} 5 | {{ argjoin() }}{{ param.name }} {{ param.type }} 6 | {% endfor %}) 7 | {% endif %} 8 | 9 | {% macro render() %}{{ obj.docstring }}{% endmacro %} 10 | {{ render()|indent(4) }} 11 | 12 | {# Don't define parameter description here, that can be done in the block 13 | above #} 14 | {% for param in obj.parameters %} 15 | :type {{ param.name }}: {{ param.type }} 16 | {% endfor %} 17 | {% if obj.returns %} 18 | :rtype: {{ obj.returns.type }} 19 | {% endif %} 20 | 21 | {% if obj.children %} 22 | {% for child in obj.children|sort %} 23 | {% macro render_child() %}{{ child.render() }}{% endmacro %} 24 | {{ render_child()|indent(4) }} 25 | {% endfor %} 26 | {% endif %} 27 | -------------------------------------------------------------------------------- /docs/_templates/go/const.rst: -------------------------------------------------------------------------------- 1 | {% extends "go/base_member.rst" %} 2 | -------------------------------------------------------------------------------- /docs/_templates/go/func.rst: -------------------------------------------------------------------------------- 1 | {% extends "go/base_member.rst" %} 2 | -------------------------------------------------------------------------------- /docs/_templates/go/method.rst: -------------------------------------------------------------------------------- 1 | {% extends "go/base_member.rst" %} 2 | -------------------------------------------------------------------------------- /docs/_templates/go/package.rst: -------------------------------------------------------------------------------- 1 | .. go:package:: {{ obj.name }} 2 | 3 | {{ obj.name }} 4 | {{ "=" * obj.name|length }} 5 | 6 | {% block toc %} 7 | {% if obj.children %} 8 | 9 | {# TODO Make this work 10 | .. toctree:: 11 | :maxdepth: 4 12 | 13 | {% for item in obj.children|sort %} 14 | /autoapi/{{ item.id.split('.')|join('/') }}/index 15 | {% endfor %} 16 | #} 17 | 18 | {% endif %} 19 | {% endblock %} 20 | 21 | {% if obj.docstring %} 22 | {{ obj.docstring }} 23 | {% endif %} 24 | 25 | {% block content %} 26 | {% for obj_item in obj.children|sort %} 27 | 28 | {% macro render() %}{{ obj_item.render() }}{% endmacro %} 29 | {{ render()|indent(0) }} 30 | 31 | {% endfor %} 32 | {% endblock %} 33 | -------------------------------------------------------------------------------- /docs/_templates/go/type.rst: -------------------------------------------------------------------------------- 1 | {% extends "go/base_member.rst" %} 2 | -------------------------------------------------------------------------------- /docs/_templates/go/var.rst: -------------------------------------------------------------------------------- 1 | {% extends "go/base_member.rst" %} 2 | -------------------------------------------------------------------------------- /docs/_templates/index.rst: -------------------------------------------------------------------------------- 1 | API Reference 2 | ============= 3 | 4 | This page contains auto-generated API reference documentation [#f1]_. 5 | 6 | .. toctree:: 7 | :titlesonly: 8 | 9 | {% for page in pages %} 10 | {% if page.top_level_object and page.display %} 11 | {{ page.include_path }} 12 | {% endif %} 13 | {% endfor %} 14 | 15 | .. [#f1] Created with `sphinx-autoapi `_ 16 | -------------------------------------------------------------------------------- /docs/_templates/javascript/class.rst: -------------------------------------------------------------------------------- 1 | .. js:class:: {{ obj.name }}{% if obj.args %}({{ obj.args|join(',') }}){% endif %} 2 | 3 | {% if obj.docstring %} 4 | 5 | .. rubric:: Summary 6 | 7 | {{ obj.docstring|indent(3) }} 8 | 9 | {% endif %} 10 | 11 | {% if obj.methods %} 12 | 13 | {% for method in obj.methods %} 14 | 15 | {% macro render() %}{{ method.render() }}{% endmacro %} 16 | {{ render()|indent(3) }} 17 | 18 | {%- endfor %} 19 | 20 | {% endif %} 21 | -------------------------------------------------------------------------------- /docs/_templates/javascript/function.rst: -------------------------------------------------------------------------------- 1 | {# Identention in this file is important #} 2 | 3 | {% if is_method %} 4 | {# Slice self off #} 5 | .. method:: {{ obj.name.split('.')[-1] }}({{ args[1:]|join(',') }}) 6 | {% else %} 7 | .. function:: {{ obj.name.split('.')[-1] }}({{ args|join(',') }}) 8 | {% endif %} 9 | 10 | {% if obj.docstring %} 11 | {{ obj.docstring|indent(3) }} 12 | {% endif %} 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/_templates/javascript/member.rst: -------------------------------------------------------------------------------- 1 | {# Identention in this file is important #} 2 | 3 | .. {{ obj.type }}:: {{ obj.name }} 4 | 5 | {{ obj.docstring|indent(3) }} 6 | 7 | 8 | -------------------------------------------------------------------------------- /docs/_templates/javascript/module.rst: -------------------------------------------------------------------------------- 1 | {{ obj.name }} 2 | {{ "-" * obj.name|length }} 3 | 4 | {% block toc %} 5 | 6 | {% if obj.children %} 7 | 8 | .. toctree:: 9 | :maxdepth: 4 10 | 11 | {% for item in obj.children|sort %} 12 | /autoapi/{{ item.pathname }}/index 13 | {%- endfor %} 14 | 15 | {% endif %} 16 | 17 | {% endblock %} 18 | 19 | {% if obj.docstring %} 20 | 21 | .. rubric:: Summary 22 | 23 | {{ obj.docstring }} 24 | 25 | {% endif %} 26 | 27 | .. js:module:: {{ obj.name }} 28 | 29 | 30 | 31 | {% block content %} 32 | 33 | {%- macro display_type(item_type) %} 34 | 35 | {{ item_type.title() }} 36 | {{ "*" * item_type|length }} 37 | 38 | {%- for obj_item in obj.item_map.get(item_type, []) %} 39 | {% macro render() %}{{ obj_item.render() }}{% endmacro %} 40 | 41 | {{ render()|indent(4) }} 42 | 43 | {%- endfor %} 44 | {%- endmacro %} 45 | 46 | {%- for item_type in obj.item_map.keys() %} 47 | {% if item_type.lower() != 'module' %} 48 | {{ display_type(item_type) }} 49 | {% endif %} 50 | {%- endfor %} 51 | 52 | {% endblock %} 53 | -------------------------------------------------------------------------------- /docs/_templates/python/attribute.rst: -------------------------------------------------------------------------------- 1 | {% extends "python/data.rst" %} 2 | -------------------------------------------------------------------------------- /docs/_templates/python/class.rst: -------------------------------------------------------------------------------- 1 | {% if obj.display %} 2 | .. py:{{ obj.type }}:: {{ obj.short_name }}{% if obj.args %}({{ obj.args }}){% endif %} 3 | 4 | 5 | {% if obj.bases %} 6 | Bases: {% for base in obj.bases %}:class:`{{ base }}`{% if not loop.last %}, {% endif %}{% endfor %} 7 | 8 | 9 | {% endif %} 10 | {% if obj.docstring %} 11 | {{ obj.docstring|prepare_docstring|indent(3) }} 12 | {% endif %} 13 | {% set visible_classes = obj.classes|selectattr("display")|list %} 14 | {% for klass in visible_classes %} 15 | {{ klass.rendered|indent(3) }} 16 | {% endfor %} 17 | {% set visible_attributes = obj.attributes|selectattr("display")|list %} 18 | {% for attribute in visible_attributes %} 19 | {{ attribute.rendered|indent(3) }} 20 | {% endfor %} 21 | {% set visible_methods = obj.methods|selectattr("display")|list %} 22 | {% for method in visible_methods %} 23 | {{ method.rendered|indent(3) }} 24 | {% endfor %} 25 | {% endif %} 26 | -------------------------------------------------------------------------------- /docs/_templates/python/data.rst: -------------------------------------------------------------------------------- 1 | {% if obj.display %} 2 | .. {{ obj.type }}:: {{ obj.name }} 3 | {%+ if obj.value is not none or obj.annotation is not none %}:annotation:{% if obj.annotation %} :{{ obj.annotation }}{% endif %}{% if obj.value is not none %} = {{ obj.value }}{% endif %}{% endif %} 4 | 5 | 6 | {{ obj.docstring|prepare_docstring|indent(3) }} 7 | {% endif %} 8 | -------------------------------------------------------------------------------- /docs/_templates/python/exception.rst: -------------------------------------------------------------------------------- 1 | {% extends "python/class.rst" %} 2 | -------------------------------------------------------------------------------- /docs/_templates/python/function.rst: -------------------------------------------------------------------------------- 1 | {% if obj.display %} 2 | .. function:: {{ obj.short_name }}({{ obj.args }}){% if obj.return_annotation is not none %} -> {{ obj.return_annotation }}{% endif %} 3 | 4 | {% if obj.docstring %} 5 | 6 | {{ obj.docstring|prepare_docstring|indent(3) }} 7 | {% endif %} 8 | {% endif %} 9 | -------------------------------------------------------------------------------- /docs/_templates/python/method.rst: -------------------------------------------------------------------------------- 1 | {%- if obj.display %} 2 | 3 | .. {{ obj.method_type }}:: {{ obj.short_name }}({{ obj.args }}) 4 | 5 | {% if obj.docstring %} 6 | {{ obj.docstring|prepare_docstring|indent(3) }} 7 | {% endif %} 8 | 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /docs/_templates/python/module.rst: -------------------------------------------------------------------------------- 1 | {% if not obj.display %} 2 | :orphan: 3 | 4 | {% endif %} 5 | :mod:`{{ obj.name }}` 6 | ======={{ "=" * obj.name|length }} 7 | 8 | .. py:module:: {{ obj.name }} 9 | 10 | {% if obj.docstring %} 11 | .. autoapi-nested-parse:: 12 | 13 | {{ obj.docstring|prepare_docstring|indent(3) }} 14 | 15 | {% endif %} 16 | 17 | {% block subpackages %} 18 | {% set visible_subpackages = obj.subpackages|selectattr("display")|list %} 19 | {% if visible_subpackages %} 20 | Subpackages 21 | ----------- 22 | .. toctree:: 23 | :titlesonly: 24 | :maxdepth: 3 25 | 26 | {% for subpackage in visible_subpackages %} 27 | {{ subpackage.short_name }}/index.rst 28 | {% endfor %} 29 | 30 | 31 | {% endif %} 32 | {% endblock %} 33 | {% block submodules %} 34 | {% set visible_submodules = obj.submodules|selectattr("display")|list %} 35 | {% if visible_submodules %} 36 | Submodules 37 | ---------- 38 | .. toctree:: 39 | :titlesonly: 40 | :maxdepth: 1 41 | 42 | {% for submodule in visible_submodules %} 43 | {{ submodule.short_name }}/index.rst 44 | {% endfor %} 45 | 46 | 47 | {% endif %} 48 | {% endblock %} 49 | {% block content %} 50 | {% set visible_children = obj.children|selectattr("display")|list %} 51 | {% if visible_children %} 52 | {{ obj.type|title }} Contents 53 | {{ "-" * obj.type|length }}--------- 54 | 55 | {% set visible_classes = visible_children|selectattr("type", "equalto", "class")|list %} 56 | {% set visible_functions = visible_children|selectattr("type", "equalto", "function")|list %} 57 | {% if include_summaries and (visible_classes or visible_functions) %} 58 | {% block classes %} 59 | {% if visible_classes %} 60 | Classes 61 | ~~~~~~~ 62 | 63 | .. autoapisummary:: 64 | 65 | {% for klass in visible_classes %} 66 | {{ klass.id }} 67 | {% endfor %} 68 | 69 | 70 | {% endif %} 71 | {% endblock %} 72 | 73 | {% block functions %} 74 | {% if visible_functions %} 75 | Functions 76 | ~~~~~~~~~ 77 | 78 | .. autoapisummary:: 79 | 80 | {% for function in visible_functions %} 81 | {{ function.id }} 82 | {% endfor %} 83 | 84 | 85 | {% endif %} 86 | {% endblock %} 87 | {% endif %} 88 | {% for obj_item in visible_children %} 89 | {% if obj.all is none or obj_item.short_name in obj.all %} 90 | {{ obj_item.rendered|indent(0) }} 91 | {% endif %} 92 | {% endfor %} 93 | {% endif %} 94 | {% endblock %} 95 | -------------------------------------------------------------------------------- /docs/_templates/python/package.rst: -------------------------------------------------------------------------------- 1 | {% extends "python/module.rst" %} 2 | -------------------------------------------------------------------------------- /docs/api/data.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.data API reference 2 | 3 | ``solaris.data`` API reference 4 | =============================== 5 | 6 | .. contents:: 7 | 8 | ``solaris.data.coco`` COCO label format management 9 | -------------------------------------------------- 10 | 11 | .. automodule:: solaris.data.coco 12 | :members: 13 | -------------------------------------------------------------------------------- /docs/api/eval.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.eval API reference 2 | 3 | ``solaris.eval`` API reference 4 | ============================== 5 | 6 | .. contents:: 7 | 8 | 9 | ``solaris.eval.base`` Base evaluator class 10 | ---------------------------------------------- 11 | 12 | .. automodule:: solaris.eval.base 13 | :members: 14 | 15 | ``solaris.eval.pixel`` Pixel-wise scoring functions 16 | --------------------------------------------------- 17 | 18 | .. automodule:: solaris.eval.pixel 19 | :members: 20 | 21 | 22 | ``solaris.eval.iou`` IoU scoring functions 23 | ------------------------------------------ 24 | 25 | .. automodule:: solaris.eval.iou 26 | :members: 27 | 28 | ``solaris.eval.challenges`` SpaceNet Challenge scoring functionality 29 | -------------------------------------------------------------------- 30 | 31 | .. automodule:: solaris.eval.challenges 32 | :members: 33 | -------------------------------------------------------------------------------- /docs/api/index.rst: -------------------------------------------------------------------------------- 1 | .. _api_index: 2 | 3 | .. title:: API reference contents 4 | 5 | ################### 6 | Solaris API summary 7 | ################### 8 | 9 | Complete submodule documentation 10 | ================================ 11 | * `solaris.tile `_: Tiling functionality for imagery and vector labels 12 | * `solaris.raster `_: Raster (imagery) coordinate management and formatting 13 | * `solaris.vector `_: Vector (label) management and format interconversion 14 | * `solaris.preproc `_: Preprocessing workflows for imagery and vector labels 15 | * `solaris.nets `_: Deep learning model ingestion, creation, training, and inference 16 | * `solaris.eval `_: Deep learning model performance evaluation 17 | * `solaris.utils `_: Utility functions for the above toolsets 18 | * `solaris.data `_: Data management and format interconversion 19 | 20 | Submodule summaries 21 | =================== 22 | 23 | .. toctree:: 24 | :maxdepth: 3 25 | 26 | tile 27 | raster 28 | vector 29 | preproc 30 | nets 31 | eval 32 | utils 33 | data 34 | 35 | CLI commands 36 | ============ 37 | See `Tutorials <../tutorials/index.html>`_. 38 | -------------------------------------------------------------------------------- /docs/api/nets.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.nets API reference 2 | 3 | ``solaris.nets`` API reference 4 | ============================== 5 | 6 | .. contents:: 7 | 8 | 9 | ``solaris.nets.callbacks`` Keras-like callbacks 10 | ----------------------------------------------- 11 | 12 | .. automodule:: solaris.nets.callbacks 13 | :members: 14 | 15 | .. automodule:: solaris.nets.torch_callbacks 16 | :members: 17 | 18 | ``solaris.nets.losses`` Loss functions for Geo CV model training 19 | ---------------------------------------------------------------- 20 | 21 | .. automodule:: solaris.nets.losses 22 | :members: 23 | 24 | .. automodule:: solaris.nets._keras_losses 25 | :members: 26 | 27 | .. automodule:: solaris.nets._torch_losses 28 | :members: 29 | 30 | ``solaris.nets.transform`` Augmentation pipeline prep for Geo imagery 31 | --------------------------------------------------------------------- 32 | 33 | .. automodule:: solaris.nets.transform 34 | :members: 35 | 36 | ``solaris.nets.optimizers`` Model training optimizer management 37 | --------------------------------------------------------------- 38 | 39 | .. automodule:: solaris.nets.optimizers 40 | :members: 41 | 42 | ``solaris.nets.model_io`` Model I/O and model weight management 43 | --------------------------------------------------------------- 44 | 45 | .. automodule:: solaris.nets.model_io 46 | :members: 47 | 48 | ``solaris.nets.datagen`` Data generators for model training 49 | ----------------------------------------------------------- 50 | 51 | .. automodule:: solaris.nets.datagen 52 | :members: 53 | 54 | ``solaris.nets.metrics`` Metrics for evaluating model performance 55 | ----------------------------------------------------------------- 56 | 57 | .. automodule:: solaris.nets.metrics 58 | :members: 59 | 60 | ``solaris.nets.zoo`` Model definitions for geospatial image analysis 61 | -------------------------------------------------------------------- 62 | 63 | .. automodule:: solaris.nets.zoo 64 | :members: 65 | 66 | ``solaris.nets.train`` Model training functionality 67 | --------------------------------------------------- 68 | 69 | .. automodule:: solaris.nets.train 70 | :members: 71 | 72 | ``solaris.nets.infer`` Prediction with Geo CV models 73 | ---------------------------------------------------- 74 | 75 | .. automodule:: solaris.nets.infer 76 | :members: 77 | -------------------------------------------------------------------------------- /docs/api/preproc.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.preproc API reference 2 | 3 | ``solaris.preproc`` API reference 4 | ================================= 5 | 6 | .. contents:: 7 | 8 | 9 | ``solaris.preproc.pipesegment`` Preprocessing base class and control structures 10 | ------------------------------------------------------------------------------- 11 | 12 | .. automodule:: solaris.preproc.pipesegment 13 | :members: 14 | 15 | ``solaris.preproc.image`` Preprocessing of geospatial imagery 16 | ------------------------------------------------------------- 17 | 18 | .. automodule:: solaris.preproc.image 19 | :members: 20 | 21 | ``solaris.preproc.sar`` Preprocessing of SAR imagery 22 | ---------------------------------------------------- 23 | 24 | .. automodule:: solaris.preproc.sar 25 | :members: 26 | 27 | ``solaris.preproc.label`` Preprocessing of vector labels 28 | ---------------------------------------------------------- 29 | 30 | .. automodule:: solaris.preproc.label 31 | :members: 32 | -------------------------------------------------------------------------------- /docs/api/raster.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.raster API reference 2 | 3 | ``solaris.raster`` API reference 4 | ================================ 5 | 6 | .. contents:: 7 | 8 | 9 | ``solaris.raster.image`` Image pre- and post-processing 10 | ------------------------------------------------------- 11 | 12 | .. automodule:: solaris.raster.image 13 | :members: 14 | -------------------------------------------------------------------------------- /docs/api/tile.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.tile API reference 2 | 3 | ``solaris.tile`` API reference 4 | ============================== 5 | 6 | .. contents:: 7 | 8 | 9 | ``solaris.tile.raster_tile`` Raster image tiling functionality 10 | -------------------------------------------------------------- 11 | 12 | .. automodule:: solaris.tile.raster_tile 13 | :members: 14 | 15 | ``solaris.tile.vector_tile`` Vector tiling functionality 16 | --------------------------------------------------------- 17 | 18 | .. automodule:: solaris.tile.vector_tile 19 | :members: 20 | -------------------------------------------------------------------------------- /docs/api/utils.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.utils API reference 2 | 3 | ``solaris.utils`` API reference 4 | =============================== 5 | 6 | .. contents:: 7 | 8 | ``solaris.utils.core`` Core utilities 9 | ------------------------------------- 10 | 11 | .. automodule:: solaris.utils.core 12 | :members: 13 | 14 | ``solaris.utils.config`` Configuration file utilities 15 | ----------------------------------------------------- 16 | 17 | .. automodule:: solaris.utils.config 18 | :members: 19 | 20 | ``solaris.utils.io`` Imagery and vector I/O utilities 21 | ----------------------------------------------------- 22 | 23 | .. automodule:: solaris.utils.io 24 | :members: 25 | 26 | ``solaris.utils.geo`` Geographic coordinate system management utilities 27 | ----------------------------------------------------------------------- 28 | 29 | .. automodule:: solaris.utils.geo 30 | :members: 31 | 32 | ``solaris.utils.tile`` Tiling utilities 33 | --------------------------------------- 34 | 35 | .. automodule:: solaris.utils.tile 36 | :members: 37 | 38 | ``solaris.utils.raster`` Raster image and array management utilities 39 | -------------------------------------------------------------------- 40 | 41 | .. automodule:: solaris.utils.raster 42 | :members: 43 | 44 | ``solaris.utils.data`` Dataset CSV utilities 45 | -------------------------------------------- 46 | 47 | .. automodule:: solaris.utils.data 48 | :members: 49 | -------------------------------------------------------------------------------- /docs/api/vector.rst: -------------------------------------------------------------------------------- 1 | .. title:: solaris.vector API reference 2 | 3 | ``solaris.vector`` API reference 4 | ================================ 5 | 6 | .. contents:: 7 | 8 | ``solaris.vector.polygon`` vector polygon management 9 | ---------------------------------------------------- 10 | 11 | .. automodule:: solaris.vector.polygon 12 | :members: 13 | 14 | ``solaris.vector.graph`` graph and road network analysis 15 | -------------------------------------------------------- 16 | 17 | .. automodule:: solaris.vector.graph 18 | :members: 19 | 20 | ``solaris.vector.mask`` vector <-> training mask interconversion 21 | ---------------------------------------------------------------- 22 | 23 | .. automodule:: solaris.vector.mask 24 | :members: 25 | -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | | 2 | | 3 | 4 | .. image:: _static/solaris_logo.png 5 | :width: 500px 6 | :align: center 7 | :alt: solaris_logo 8 | 9 | ############################################################################################################ 10 | `solaris `__ |release| by `CosmiQ Works `__ 11 | ############################################################################################################ 12 | 13 | *************************************************************** 14 | An open source machine learning pipeline for geospatial imagery 15 | *************************************************************** 16 | 17 | 18 | .. toctree:: 19 | :name: mastertoc 20 | :maxdepth: 3 21 | :glob: 22 | :hidden: 23 | 24 | installation 25 | intro 26 | pretrained_models 27 | api/index 28 | tutorials/index 29 | 30 | 31 | ========== 32 | 33 | User Guide 34 | ========== 35 | * :ref:`What is solaris? ` 36 | * :ref:`Installation ` 37 | * :ref:`Pretrained models available in solaris ` 38 | * :ref:`Tutorials and recipes ` 39 | 40 | Reference 41 | ========= 42 | * :ref:`API reference ` 43 | 44 | Index 45 | ===== 46 | * :ref:`genindex` 47 | * :ref:`modindex` 48 | 49 | 50 | **License:** `Apache 2.0`__. 51 | 52 | .. __: https://github.com/CosmiQ/solaris/blob/master/LICENSE.txt 53 | 54 | Follow us at our blog `The DownlinQ `_ or 55 | `on Twitter `_ for updates! 56 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/tutorials/notebooks/cli_ml_pipeline.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Running a deep learning pipeline with the `solaris` CLI\n", 8 | "\n", 9 | "Running a full ML pipeline with `solaris` only takes a single line of code! After [installing solaris](../../installation.rst), all you need to do is [set up your YAML config file](creating_the_yaml_config_file.ipynb). Then, run the following line from a command prompt:\n", 10 | "\n", 11 | "```console\n", 12 | "$ solaris_run_ml [path_to_your_config]\n", 13 | "```\n", 14 | "\n", 15 | "You can try it now! [Download the config file for XD_XD's SpaceNet 4 Model](https://github.com/CosmiQ/solaris/blob/dev/solaris/nets/configs/xdxd_spacenet4.yml), point it to your data, and then run:\n", 16 | "\n", 17 | "```console\n", 18 | "$ solaris_run_ml xdxd_spacenet4.yml\n", 19 | "```\n", 20 | "\n", 21 | "That's all there is to it!" 22 | ] 23 | } 24 | ], 25 | "metadata": { 26 | "kernelspec": { 27 | "display_name": "solaris", 28 | "language": "python", 29 | "name": "solaris" 30 | }, 31 | "language_info": { 32 | "codemirror_mode": { 33 | "name": "ipython", 34 | "version": 3 35 | }, 36 | "file_extension": ".py", 37 | "mimetype": "text/x-python", 38 | "name": "python", 39 | "nbconvert_exporter": "python", 40 | "pygments_lexer": "ipython3", 41 | "version": "3.6.7" 42 | } 43 | }, 44 | "nbformat": 4, 45 | "nbformat_minor": 2 46 | } 47 | -------------------------------------------------------------------------------- /environment-gpu.yml: -------------------------------------------------------------------------------- 1 | name: solaris 2 | channels: 3 | - pytorch 4 | - conda-forge 5 | - defaults 6 | dependencies: 7 | - python>=3.6 8 | - pip>=19.0.3 9 | - affine>=2.3.0 10 | - albumentations=0.4.3 11 | - fiona>=1.7.13 12 | - gdal=3.0.3 13 | - geopandas>=0.7.0 14 | - matplotlib>=3.1.2 15 | - networkx>=2.4 16 | - opencv>=4.1 17 | - pandas>=0.25.3 18 | - pyproj>=2.1 19 | - pytorch>=1.3.1 20 | - pyyaml=5.2 21 | - rasterio>=1.0.23 22 | - requests=2.22.0 23 | # - rio-cogeo>=1.1.6 24 | - rtree>=0.9.3 25 | - scikit-image>=0.16.2 26 | - scipy>=1.3.2 27 | - torchvision>=0.5.0 28 | - cudatoolkit=9.2 29 | - tqdm>=4.40.0 30 | - urllib3>=1.25.7 31 | - tensorflow-gpu=1.13.1 32 | - cuda100 33 | - shapely 34 | #- pip 35 | #- pip: 36 | # - git+https://github.com/Toblerity/shapely.git@master#egg=shapely-1.7.1dev # temporary, dev required for numpy array support 37 | -------------------------------------------------------------------------------- /environment.yml: -------------------------------------------------------------------------------- 1 | name: solaris 2 | channels: 3 | - pytorch 4 | - conda-forge 5 | - defaults 6 | dependencies: 7 | - python>=3.6 8 | - pip>=19.0.3 9 | - affine>=2.3.0 10 | - albumentations=0.4.3 11 | - fiona>=1.7.13 12 | - gdal=3.0.3 13 | - geopandas>=0.7.0 14 | - matplotlib>=3.1.2 15 | - networkx>=2.4 16 | - numpy>=1.17.3 17 | - opencv>=4.1 18 | - pandas>=0.25.3 19 | - pyproj>=2.1 20 | - pytorch>=1.3.1 21 | - pyyaml=5.2 22 | - rasterio>=1.0.23 23 | - requests=2.22.0 24 | # - rio-cogeo>=1.1.6 25 | - rtree>=0.9.3 26 | - scikit-image>=0.16.2 27 | - scipy>=1.3.2 28 | - shapely>=1.6.4 29 | - tensorflow=1.13.1 30 | - torchvision>=0.5.0 31 | - cudatoolkit=9.2 32 | - tqdm>=4.40.0 33 | - urllib3>=1.25.7 34 | - pip: 35 | - git+https://github.com/Toblerity/shapely.git@master#egg=shapely-1.7.1dev # temporary, 1.8dev required for numpy array support 36 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ], 5 | "pip_setup": { 6 | "enabled": true 7 | }, 8 | "assignees": ["nrweir"], 9 | "baseBranches": ["dev"], 10 | "ignoreDeps": ["GDAL", "tensorflow"], 11 | "labels": ["dependencies"], 12 | "reviewers": ["nrweir"] 13 | } 14 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pip>=19.0.3 2 | affine>=2.3.0 3 | albumentations==0.4.3 4 | fiona>=1.7.13 5 | gdal>=3.0.2 6 | geopandas>=0.7.0 7 | matplotlib>=3.1.2 8 | networkx>=2.4 9 | numpy>=1.17.3 10 | opencv-python>=4.1 11 | pandas>=0.25.3 12 | pyproj>=2.1 13 | torch>=1.3.1 14 | pyyaml==5.2 15 | rasterio>=1.0.23 16 | requests==2.22.0 17 | rtree>=0.9.3 18 | scikit-image>=0.16.2 19 | scipy>=1.3.2 20 | git+git://github.com/toblerity/shapely.git@master#egg=shapely-1.7.1dev 21 | torchvision>=0.5.0 22 | tqdm>=4.40.0 23 | urllib3>=1.25.7 24 | tensorflow==1.13.1 25 | -------------------------------------------------------------------------------- /solaris/__init__.py: -------------------------------------------------------------------------------- 1 | from . import bin, data, eval, nets, preproc, raster, tile, utils, vector 2 | 3 | __version__ = "0.4.0" 4 | -------------------------------------------------------------------------------- /solaris/bin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/bin/__init__.py -------------------------------------------------------------------------------- /solaris/bin/mask_to_polygons.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/bin/mask_to_polygons.py -------------------------------------------------------------------------------- /solaris/bin/solaris_run_ml.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import os 3 | import pandas as pd 4 | from ..utils.config import parse 5 | from ..nets.train import Trainer 6 | from ..nets.infer import Inferer 7 | 8 | 9 | def main(): 10 | 11 | parser = argparse.ArgumentParser( 12 | description='Run a Solaris ML pipeline based on a config YAML', 13 | argument_default=None) 14 | 15 | parser.add_argument('--config', '-c', type=str, required=True, 16 | help="Full path to a YAML-formatted config file " 17 | "specifying parameters for model training and/or " 18 | "inference.") 19 | 20 | args = parser.parse_args() 21 | 22 | if not os.path.exists(args.config): 23 | raise ValueError('The configuration file cannot be found at the path ' 24 | 'specified.') 25 | 26 | config = parse(args.config) 27 | 28 | if config['train']: 29 | trainer = Trainer(config) 30 | trainer.train() 31 | if config['infer']: 32 | inferer = Inferer(config) 33 | inf_df = pd.read_csv(config['inference_data_csv']) 34 | inferer(inf_df) 35 | 36 | 37 | if __name__ == '__main__': 38 | main() 39 | -------------------------------------------------------------------------------- /solaris/data/SN2_test_results.csv: -------------------------------------------------------------------------------- 1 | F1Score,FalseNeg,FalsePos,Precision,Recall,TruePos 2 | 0.8860759493670887,7,2,0.9459459459459459,0.8333333333333334,35 3 | 0.4444444444444444,75,55,0.48598130841121495,0.4094488188976378,52 4 | -------------------------------------------------------------------------------- /solaris/data/SN2_test_results_full.csv: -------------------------------------------------------------------------------- 1 | F1Score,FalseNeg,FalsePos,Precision,Recall,TruePos,imageID,iou_field,AOI 2 | 0.4943820224719101,32,13,0.6285714285714286,0.4074074074074074,22,AOI_5_Khartoum_img130,iou_score,AOI_5_Khartoum 3 | 0.8749999999999999,6,2,0.9333333333333333,0.8235294117647058,28,AOI_2_Vegas_img3457,iou_score,AOI_2_Vegas 4 | 0.9333333333333333,1,0,1.0,0.875,7,AOI_2_Vegas_img5979,iou_score,AOI_2_Vegas 5 | 0.47222222222222215,23,15,0.53125,0.425,17,AOI_5_Khartoum_img1301,iou_score,AOI_5_Khartoum 6 | 0.35616438356164376,20,27,0.325,0.3939393939393939,13,AOI_5_Khartoum_img1306,iou_score,AOI_5_Khartoum 7 | 0.0,0,0,0.0,0.0,0,AOI_5_Khartoum_img463,iou_score,AOI_5_Khartoum 8 | -------------------------------------------------------------------------------- /solaris/data/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pandas as pd 3 | import geopandas as gpd 4 | import gdal 5 | import rasterio 6 | 7 | from . import coco 8 | 9 | # define the current directory as `data_dir` 10 | data_dir = os.path.abspath(os.path.dirname(__file__)) 11 | 12 | 13 | def load_geojson(gj_fname): 14 | """Load a geojson into a gdf using GeoPandas.""" 15 | return gpd.read_file(os.path.join(data_dir, gj_fname)) 16 | 17 | 18 | def gt_gdf(): 19 | """Load in a ground truth GDF example.""" 20 | return load_geojson('gt.geojson') 21 | 22 | 23 | def pred_gdf(): 24 | """Load in an example prediction GDF.""" 25 | return load_geojson('pred.geojson') 26 | 27 | 28 | def sample_load_rasterio(): 29 | return rasterio.open(os.path.join(data_dir, 'sample_geotiff.tif')) 30 | 31 | 32 | def sample_load_gdal(): 33 | return gdal.Open(os.path.join(data_dir, 'sample_geotiff.tif')) 34 | 35 | 36 | def sample_load_geojson(): 37 | return gpd.read_file(os.path.join(data_dir, 'sample.geojson')) 38 | 39 | 40 | def sample_load_csv(): 41 | return pd.read_file(os.path.join(data_dir, 'sample.csv')) 42 | -------------------------------------------------------------------------------- /solaris/data/cli_test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/__init__.py -------------------------------------------------------------------------------- /solaris/data/cli_test/expected/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/expected/__init__.py -------------------------------------------------------------------------------- /solaris/data/cli_test/expected/sample_b_inner_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/expected/sample_b_inner_mask.tif -------------------------------------------------------------------------------- /solaris/data/cli_test/expected/sample_b_outer10_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/expected/sample_b_outer10_mask.tif -------------------------------------------------------------------------------- /solaris/data/cli_test/expected/sample_c_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/expected/sample_c_mask.tif -------------------------------------------------------------------------------- /solaris/data/cli_test/expected/sample_fbc_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/expected/sample_fbc_mask.tif -------------------------------------------------------------------------------- /solaris/data/cli_test/expected/sample_fp_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/expected/sample_fp_mask.tif -------------------------------------------------------------------------------- /solaris/data/cli_test/expected/sample_graph.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/expected/sample_graph.pkl -------------------------------------------------------------------------------- /solaris/data/cli_test/result/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/cli_test/result/__init__.py -------------------------------------------------------------------------------- /solaris/data/coco_sample_1.json: -------------------------------------------------------------------------------- 1 | {"annotations": [{"id": 1, "image_id": 1, "category_id": 1, "segmentation": [60.03418597159907, 74.87320505268872, 73.8337494416628, 90.0, 51.516283753560856, 90.0, 47.80893106292933, 85.93607368506491, 60.03418597159907, 74.87320505268872], "area": 214.14410906402435, "bbox": [47.80893106292933, 74.87320505268872, 26.02481837873347, 15.126794947311282], "iscrowd": 0}, {"id": 2, "image_id": 2, "category_id": 1, "segmentation": [90.0, 11.015026673674583, 70.7970443549566, 13.249627484939992, 70.8928169994615, 4.990449592471123, 70.69254911504686, 0.0, 90.0, 0.0, 90.0, 11.015026673674583], "area": 232.6028019573394, "bbox": [70.69254911504686, 0.0, 19.30745088495314, 13.249627484939992], "iscrowd": 0}, {"id": 3, "image_id": 2, "category_id": 1, "segmentation": [89.06576380180195, 21.638346442952752, 90.0, 28.386366279795766, 90.0, 68.61032488476485, 85.23654213640839, 70.96199104283005, 73.38412117748521, 70.6515495320782, 71.78515014378354, 65.98500318173319, 72.83866719854996, 48.2692635813728, 72.19266184815206, 21.76100580766797, 89.06576380180195, 21.638346442952752], "area": 853.8212747899074, "bbox": [71.78515014378354, 21.638346442952752, 18.21484985621646, 49.3236445998773], "iscrowd": 0}], "categories": [{"id": 1, "name": "other"}], "licenses": [{"name": "CC-BY 4.0", "url": "https://creativecommons.org/licenses/by/4.0/", "id": 1}], "images": [{"id": 1, "file_name": "sample_geotiff_733601_3724734.tif", "width": 90, "height": 90, "license": 1}, {"id": 2, "file_name": "sample_geotiff_733601_3724869.tif", "width": 90, "height": 90, "license": 1}]} -------------------------------------------------------------------------------- /solaris/data/competition_test_results.csv: -------------------------------------------------------------------------------- 1 | F1Score,FalseNeg,FalsePos,Precision,Recall,TruePos 2 | 1.0,0,0,1.0,1.0,2319 3 | -------------------------------------------------------------------------------- /solaris/data/datagen_sample/expected_im.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/datagen_sample/expected_im.tif -------------------------------------------------------------------------------- /solaris/data/datagen_sample/sample_1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/datagen_sample/sample_1.tif -------------------------------------------------------------------------------- /solaris/data/datagen_sample/sample_2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/datagen_sample/sample_2.tif -------------------------------------------------------------------------------- /solaris/data/datagen_sample/sample_3.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/datagen_sample/sample_3.tif -------------------------------------------------------------------------------- /solaris/data/datagen_sample/sample_df.csv: -------------------------------------------------------------------------------- 1 | image,label 2 | sample_1.tif,sample_mask_1.tif 3 | sample_2.tif,sample_mask_2.tif 4 | sample_3.tif,sample_mask_3.tif 5 | -------------------------------------------------------------------------------- /solaris/data/datagen_sample/sample_mask_1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/datagen_sample/sample_mask_1.tif -------------------------------------------------------------------------------- /solaris/data/datagen_sample/sample_mask_2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/datagen_sample/sample_mask_2.tif -------------------------------------------------------------------------------- /solaris/data/datagen_sample/sample_mask_3.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/datagen_sample/sample_mask_3.tif -------------------------------------------------------------------------------- /solaris/data/empty.geojson: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/empty.geojson -------------------------------------------------------------------------------- /solaris/data/inference_tiler_test_output.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/inference_tiler_test_output.npy -------------------------------------------------------------------------------- /solaris/data/nebraska_landsat5_with_nodata_wgs84.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/nebraska_landsat5_with_nodata_wgs84.tif -------------------------------------------------------------------------------- /solaris/data/overlap_test.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "features": [ 4 | { "type": "Feature", "properties": { "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": 94236, "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": 152.8742559217601, "origlen": 0, "partialDec": 1.0, "truncated": 0, "iou_score": 0.073499798744833519 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 736351.470539042027667, 3722758.485215371940285 ], [ 736351.878608449478634, 3722747.197382184211165 ], [ 736338.352984992321581, 3722746.708811732474715 ], [ 736337.944931550649926, 3722757.996644604951143 ], [ 736351.470539042027667, 3722758.485215371940285 ] ] ] } } 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/example1flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/example1flowchart.png -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/example2flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/example2flowchart.png -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/example3flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/example3flowchart.png -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/ms1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/ms1.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/ms2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/ms2.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/ms3.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/ms3.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/pan1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/pan1.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/pan2.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/pan2.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/pan3.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/pan3.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/rgb_unmasked.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/rgb_unmasked.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/sar_hh.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/sar_hh.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/sar_hv.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/sar_hv.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/sar_masked.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/sar_masked.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/sar_vh.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/sar_vh.tif -------------------------------------------------------------------------------- /solaris/data/preproc_tutorial/sar_vv.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/preproc_tutorial/sar_vv.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2118645.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2118645.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2122485.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2122485.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2126325.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2126325.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2130165.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-661905_2130165.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2118645.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2118645.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2122485.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2122485.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2126325.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2126325.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2130165.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-665745_2130165.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2118645.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2118645.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2122485.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2122485.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2126325.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2126325.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2130165.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-669585_2130165.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2118645.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2118645.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2122485.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2122485.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2126325.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2126325.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2130165.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_custom_proj_expected/sample_geotiff_custom_proj_-673425_2130165.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733601_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733601_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733646_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733646_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733691_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733691_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733736_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733736_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733781_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733781_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733826_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733826_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733871_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733871_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733916_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733916_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_733961_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_733961_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3724734.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3724734.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3724779.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3724779.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3724824.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3724824.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3724869.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3724869.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3724914.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3724914.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3724959.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3724959.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3725004.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3725004.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3725049.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3725049.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3725094.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3725094.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_expected/sample_geotiff_734006_3725139.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_expected/sample_geotiff_734006_3725139.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.003_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.003_41.774.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.691.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.691.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.732.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.732.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.044_41.774.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.691.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.691.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.732.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.732.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.085_41.774.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.691.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.691.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.732.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.732.tif -------------------------------------------------------------------------------- /solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/rastertile_test_fill_nodata_expected/aoi_restricted_nebraska_landsat5_with_nodata_wgs84_-101.127_41.774.tif -------------------------------------------------------------------------------- /solaris/data/restrict_aoi_test.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "name": "restrict_aoi_test", 4 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 5 | "features": [ 6 | { "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 ] ] ] ] } } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /solaris/data/road_mask_input.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/road_mask_input.tif -------------------------------------------------------------------------------- /solaris/data/sample_b_from_df2px.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_b_from_df2px.tif -------------------------------------------------------------------------------- /solaris/data/sample_b_mask_inner.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_b_mask_inner.tif -------------------------------------------------------------------------------- /solaris/data/sample_b_mask_outer.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_b_mask_outer.tif -------------------------------------------------------------------------------- /solaris/data/sample_b_mask_outer_10.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_b_mask_outer_10.tif -------------------------------------------------------------------------------- /solaris/data/sample_c_from_df2px.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_c_from_df2px.tif -------------------------------------------------------------------------------- /solaris/data/sample_c_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_c_mask.tif -------------------------------------------------------------------------------- /solaris/data/sample_fbc_from_df2px.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_fbc_from_df2px.tif -------------------------------------------------------------------------------- /solaris/data/sample_fp_from_df2px.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_fp_from_df2px.tif -------------------------------------------------------------------------------- /solaris/data/sample_fp_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_fp_mask.tif -------------------------------------------------------------------------------- /solaris/data/sample_fp_mask_from_geojson.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_fp_mask_from_geojson.tif -------------------------------------------------------------------------------- /solaris/data/sample_geotiff.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_geotiff.tif -------------------------------------------------------------------------------- /solaris/data/sample_geotiff_custom_proj.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_geotiff_custom_proj.tif -------------------------------------------------------------------------------- /solaris/data/sample_graph.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_graph.pkl -------------------------------------------------------------------------------- /solaris/data/sample_inst_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_inst_mask.tif -------------------------------------------------------------------------------- /solaris/data/sample_road_raster_mask.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/sample_road_raster_mask.tif -------------------------------------------------------------------------------- /solaris/data/stitching_conf_output.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/stitching_conf_output.npy -------------------------------------------------------------------------------- /solaris/data/stitching_first_output.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/stitching_first_output.npy -------------------------------------------------------------------------------- /solaris/data/test.yml: -------------------------------------------------------------------------------- 1 | training_augmentation: 2 | augmentations: 3 | flip: 4 | CenterCrop: 5 | height: 10 6 | width: 10 7 | p: 0.5 8 | oneof: 9 | VerticalFlip: 10 | RandomBrightnessContrast: 11 | p: 0.2 12 | p: 1.0 13 | -------------------------------------------------------------------------------- /solaris/data/test_polygon_split.geojson: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[-122.4591064453125,39.02345139405935],[-122.508544921875,38.659777730712534],[-122.16247558593751,38.28131307922966],[-121.22314453124999,38.26406296833961],[-121.2176513671875,37.814123701604466],[-120.11901855468751,37.74031329210266],[-119.42138671875,38.37611542403604],[-119.6246337890625,39.20246222588238],[-121.17370605468749,39.33854604847979],[-122.4591064453125,39.02345139405935]]]}}]} -------------------------------------------------------------------------------- /solaris/data/test_results.csv: -------------------------------------------------------------------------------- 1 | nadir-category,F1Score,FalseNeg,FalsePos,Precision,Recall,TruePos 2 | Nadir,1.0,0,0,1.0,1.0,151 3 | -------------------------------------------------------------------------------- /solaris/data/test_results_full.csv: -------------------------------------------------------------------------------- 1 | F1Score,FalseNeg,FalsePos,Precision,Recall,TruePos,imageID,iou_field,nadir-category 2 | 1.0,0,0,1.0,1.0,151,Atlanta_nadir10_catid_1030010003CAF100_740801_3728289,iou_score,Nadir 3 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-661905.0_2118645.0.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "id": 49388, "origarea": 476145.1255013296, "origlen": 0, "partialDec": 0.0011733302628188385, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -659660.154028261080384, 2118645.0 ], [ -659770.753831441979855, 2118636.181507399771363 ], [ -659786.859466610010713, 2118645.0 ], [ -659660.154028261080384, 2118645.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-665745.0_2118645.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-665745.0_2126325.0.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "id": 43137, "origarea": 361647.34465168085, "origlen": 0, "partialDec": 0.071160515251336834, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -662137.953397833625786, 2126325.0 ], [ -662233.919334881473333, 2126261.930289819836617 ], [ -662358.255713250837289, 2126236.236304953694344 ], [ -662483.128394665312953, 2126258.443210243247449 ], [ -662590.461963808513246, 2126325.0 ], [ -662137.953397833625786, 2126325.0 ] ] ] } }, 6 | { "type": "Feature", "properties": { "id": 44985, "origarea": 380546.08557477366, "origlen": 0, "partialDec": 0.15565470545258336, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -661905.0, 2124643.37455078586936 ], [ -661924.644355155993253, 2124658.308898446150124 ], [ -661944.308738291496411, 2124675.769930709153414 ], [ -661962.611357989604585, 2124694.692774272989482 ], [ -661979.447378740878776, 2124714.969040958676487 ], [ -661994.720365330926143, 2124736.482590271625668 ], [ -662008.342835211078636, 2124759.110194658860564 ], [ -662020.236759598483332, 2124782.722245336975902 ], [ -662030.33401042688638, 2124807.183494668453932 ], [ -662038.576750600477681, 2124832.353830857668072 ], [ -662044.917765291407704, 2124858.089080506004393 ], [ -662049.320732422638685, 2124884.241834385786206 ], [ -662051.760430733207613, 2124910.662291845306754 ], [ -662052.222884287592024, 2124937.199118802323937 ], [ -662050.705442559788935, 2124963.700314601883292 ], [ -662047.216795651824214, 2124990.014082662761211 ], [ -662041.776924558798783, 2125015.989699948579073 ], [ -662034.416986754979007, 2125041.478380300104618 ], [ -662025.179137763916515, 2125066.33412669133395 ], [ -662014.11628973193001, 2125090.414567464962602 ], [ -662001.291808383306488, 2125113.581771849654615 ], [ -661986.779150097514503, 2125135.703039995860308 ], [ -661970.661441179923713, 2125156.651663101743907 ], [ -661953.031001744908281, 2125176.307649174239486 ], [ -661933.988816928351298, 2125194.55841034417972 ], [ -661913.643958465545438, 2125211.299407756421715 ], [ -661905.0, 2125217.375729425344616 ], [ -661905.0, 2124643.37455078586936 ] ] ] } } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-669585.0_2118645.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-669585.0_2122485.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-669585.0_2126325.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-669585.0_2130165.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-673425.0_2118645.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-673425.0_2122485.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-673425.0_2126325.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_custom_proj_expected/geoms_-673425.0_2130165.0.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733601_3724734.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 134696, "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": 160.8812060779413, "origlen": 0, "partialDec": 0.33276744108985457, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733631.017092985799536, 3724696.563397473655641 ], [ 733637.916874720831402, 3724689.0 ], [ 733626.758141876780428, 3724689.0 ], [ 733624.904465531464666, 3724691.031963157467544 ], [ 733631.017092985799536, 3724696.563397473655641 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733601_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733601_3724824.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 117300, "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": 56.69138110426168, "origlen": 0, "partialDec": 0.82298268439083644, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733637.712568847462535, 3724812.644189648330212 ], [ 733637.935811243369244, 3724818.720185527112335 ], [ 733637.983977672527544, 3724821.69559862697497 ], [ 733645.835462932707742, 3724821.387535042595118 ], [ 733646.0, 3724821.378123895265162 ], [ 733646.0, 3724817.318846063688397 ], [ 733644.187826864537783, 3724817.38542799977586 ], [ 733642.700126820825972, 3724817.105018282774836 ], [ 733640.485648880014196, 3724816.174316430930048 ], [ 733639.697913700132631, 3724812.692572094965726 ], [ 733637.712568847462535, 3724812.644189648330212 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733601_3725004.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733601_3725049.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 135943, "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": 293.80215091143663, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733614.692407695925795, 3725025.917704849969596 ], [ 733618.232930953730829, 3725025.759830723050982 ], [ 733618.361258932505734, 3725028.493043820839375 ], [ 733623.40737501042895, 3725028.260883178096265 ], [ 733623.226638415828347, 3725024.25013302732259 ], [ 733629.22064378275536, 3725023.974487836007029 ], [ 733628.499683096189983, 3725008.231178386602551 ], [ 733624.467038923874497, 3725005.347326850984246 ], [ 733613.770959213492461, 3725005.830230219755322 ], [ 733614.692407695925795, 3725025.917704849969596 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733601_3725094.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 135941, "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": 208.00350114029035, "origlen": 0, "partialDec": 0.075357171616733137, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733646.0, 3725089.934429133776575 ], [ 733638.289124431437813, 3725094.0 ], [ 733646.0, 3725094.0 ], [ 733646.0, 3725089.934429133776575 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733646_3724734.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733646_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733646_3724824.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 117300, "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": 56.69138110426168, "origlen": 0, "partialDec": 0.17701731560750186, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733646.0, 3724821.378123895265162 ], [ 733648.828701670165174, 3724821.216328571550548 ], [ 733648.656602984643541, 3724817.993740823119879 ], [ 733646.185421441216022, 3724817.312033404130489 ], [ 733646.0, 3724817.318846063688397 ], [ 733646.0, 3724821.378123895265162 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733646_3724914.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 102939, "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": 263.99532490416749, "origlen": 0, "partialDec": 0.046202030937300832, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733646.0, 3724884.255406009964645 ], [ 733646.397882855031639, 3724883.249889441765845 ], [ 733647.285931088379584, 3724869.0 ], [ 733646.0, 3724869.0 ], [ 733646.0, 3724884.255406009964645 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733646_3725049.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 102924, "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": 151.59457935772951, "origlen": 0, "partialDec": 0.3274698353796876, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733665.773527625598945, 3725010.34930036123842 ], [ 733678.195862984284759, 3725004.0 ], [ 733663.028553360374644, 3725004.0 ], [ 733662.883814595406875, 3725004.752105239313096 ], [ 733665.773527625598945, 3725010.34930036123842 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733646_3725139.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 135941, "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": 208.00350114029035, "origlen": 0, "partialDec": 0.2056092641335639, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733646.0, 3725101.754577273502946 ], [ 733654.492900374345481, 3725096.893328425474465 ], [ 733652.800486668245867, 3725094.0 ], [ 733646.0, 3725094.0 ], [ 733646.0, 3725101.754577273502946 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3724734.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 134694, "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": 98.143961268411516, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733707.923785710008815, 3724706.18411343311891 ], [ 733716.751506693311967, 3724697.820616477634758 ], [ 733709.214741862844676, 3724689.402245204430073 ], [ 733706.274902248056605, 3724694.235860752407461 ], [ 733708.154135095421225, 3724696.734307382255793 ], [ 733707.539887185208499, 3724700.22627462958917 ], [ 733702.747399608721025, 3724701.85182610200718 ], [ 733707.923785710008815, 3724706.18411343311891 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3724824.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3724869.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3724959.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 102925, "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": 235.62354171707437, "origlen": 0, "partialDec": 0.19134224537340172, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733723.705273776431568, 3724959.0 ], [ 733721.837239123298787, 3724956.803474905434996 ], [ 733713.769853547797538, 3724952.64484176505357 ], [ 733711.143068718956783, 3724957.585964888799936 ], [ 733713.499046904733405, 3724959.0 ], [ 733723.705273776431568, 3724959.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3725004.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 102925, "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": 235.62354171707437, "origlen": 0, "partialDec": 0.80865775462712375, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733716.606242132140324, 3724973.75564177101478 ], [ 733725.094902680953965, 3724960.633992579299957 ], [ 733723.705273776431568, 3724959.0 ], [ 733713.499046904733405, 3724959.0 ], [ 733714.034097261959687, 3724959.32113200193271 ], [ 733712.084855253109708, 3724961.981503693852574 ], [ 733706.699992214213125, 3724959.353198084048927 ], [ 733702.652436110540293, 3724965.458262465894222 ], [ 733716.606242132140324, 3724973.75564177101478 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3725049.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 102919, "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": 376.96788638895055, "origlen": 0, "partialDec": 0.43161612025689933, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733736.0, 3725046.363777188584208 ], [ 733735.121561629115604, 3725043.957477799151093 ], [ 733732.919629639131017, 3725040.230379342567176 ], [ 733731.032719954149798, 3725038.43090241169557 ], [ 733727.129203135380521, 3725039.390032827854156 ], [ 733715.550556391477585, 3725045.233793378807604 ], [ 733711.973885777289979, 3725047.255200332496315 ], [ 733712.888976000715047, 3725049.0 ], [ 733736.0, 3725049.0 ], [ 733736.0, 3725046.363777188584208 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733691_3725139.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3724734.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3724824.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3724869.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3724959.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3725004.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3725049.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 102919, "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": 376.96788638895055, "origlen": 0, "partialDec": 0.0031608728154630481, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733736.803118143696338, 3725049.0 ], [ 733736.609508816385642, 3725048.033399943262339 ], [ 733736.0, 3725046.363777188584208 ], [ 733736.0, 3725049.0 ], [ 733736.803118143696338, 3725049.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3725094.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 102919, "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": 376.96788638895055, "origlen": 0, "partialDec": 0.016861198470121515, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733736.0, 3725054.352273083757609 ], [ 733737.701844487339258, 3725053.486916756257415 ], [ 733736.803118143696338, 3725049.0 ], [ 733736.0, 3725049.0 ], [ 733736.0, 3725054.352273083757609 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733736_3725139.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733781_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733781_3724824.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 93146, "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": 85.499318876340681, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733797.19361286086496, 3724803.425375143066049 ], [ 733809.65190442930907, 3724803.396256368607283 ], [ 733810.314092590706423, 3724796.798043267335743 ], [ 733797.529922557529062, 3724796.486277254763991 ], [ 733797.19361286086496, 3724803.425375143066049 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733781_3724869.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733781_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733781_3724959.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733826_3724734.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 93018, "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": 189.51651421072748, "origlen": 0, "partialDec": 0.9752397811307828, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733826.0, 3724718.606595266610384 ], [ 733841.671712412848137, 3724724.860320621170104 ], [ 733845.427343191811815, 3724715.507587827276438 ], [ 733827.959576514316723, 3724708.544878867920488 ], [ 733826.0, 3724713.40731359552592 ], [ 733826.0, 3724718.606595266610384 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733826_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733826_3724824.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733826_3724869.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733826_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733826_3724959.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 86006, "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": 300.47300947479948, "origlen": 0, "partialDec": 0.98819774517170944, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733848.800145414541475, 3724959.0 ], [ 733848.919941028230824, 3724958.981422422919422 ], [ 733847.980877452413552, 3724952.954536063130945 ], [ 733864.939495211467147, 3724950.327385626267642 ], [ 733863.365486120572314, 3724940.267557054758072 ], [ 733847.021852035541087, 3724942.798733331263065 ], [ 733846.740707991877571, 3724941.005108900833875 ], [ 733839.323592993430793, 3724942.155940910801291 ], [ 733841.955895113293082, 3724959.0 ], [ 733848.800145414541475, 3724959.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733826_3725094.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 134680, "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": 101.16730006427393, "origlen": 0, "partialDec": 0.79991629700049249, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733869.037673469400033, 3725063.914816930424422 ], [ 733868.948807091452181, 3725060.328016446903348 ], [ 733869.699439586838707, 3725057.716118558309972 ], [ 733869.12773916113656, 3725056.037481418810785 ], [ 733870.693983497098088, 3725049.672183774411678 ], [ 733869.672710774117149, 3725049.0 ], [ 733863.279007132863626, 3725049.0 ], [ 733863.91026226838585, 3725049.595474375877529 ], [ 733866.030543527216651, 3725053.242929659318179 ], [ 733865.282733293948695, 3725054.978159906808287 ], [ 733863.307564386399463, 3725056.417098031844944 ], [ 733863.502039127284661, 3725064.046122215222567 ], [ 733869.037673469400033, 3725063.914816930424422 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733871_3724734.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733871_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733871_3724824.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 85995, "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": 208.27750543142528, "origlen": 0, "partialDec": 0.01344511640873805, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733916.0, 3724819.008678769227117 ], [ 733914.877926233806647, 3724824.0 ], [ 733916.0, 3724824.0 ], [ 733916.0, 3724819.008678769227117 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733871_3724869.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 85995, "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": 208.27750543142528, "origlen": 0, "partialDec": 0.29052810106459787, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733914.877926233806647, 3724824.0 ], [ 733913.923271550564095, 3724828.246590849943459 ], [ 733907.995921526453458, 3724826.925592739600688 ], [ 733906.674282207386568, 3724832.775251807179302 ], [ 733916.0, 3724834.853403809480369 ], [ 733916.0, 3724824.0 ], [ 733914.877926233806647, 3724824.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733871_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733871_3725094.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 86015, "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": 251.33309650398371, "origlen": 0, "partialDec": 0.86354391451294721, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733892.678339317324571, 3725094.0 ], [ 733892.969486426794901, 3725093.91931293066591 ], [ 733895.139970269752666, 3725093.606038105674088 ], [ 733877.763453568681143, 3725074.182422619313002 ], [ 733875.624623022042215, 3725075.861519815400243 ], [ 733873.833603138453327, 3725081.167029351461679 ], [ 733874.96624890586827, 3725088.008793785702437 ], [ 733880.208773081074469, 3725094.0 ], [ 733892.678339317324571, 3725094.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733871_3725139.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 86015, "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": 251.33309650398371, "origlen": 0, "partialDec": 0.13645608548626761, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733884.809803572017699, 3725099.258101164363325 ], [ 733887.820667246589437, 3725100.263786776456982 ], [ 733887.97904269839637, 3725096.81619278434664 ], [ 733889.399402834707871, 3725094.908708232920617 ], [ 733892.678339317324571, 3725094.0 ], [ 733880.208773081074469, 3725094.0 ], [ 733884.809803572017699, 3725099.258101164363325 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3724734.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3724779.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3724824.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 85995, "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": 208.27750543142528, "origlen": 0, "partialDec": 0.26662346769845036, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733925.038212854298763, 3724824.0 ], [ 733926.087521769106388, 3724819.343201762996614 ], [ 733916.41197619389277, 3724817.176084883511066 ], [ 733916.0, 3724819.008678769227117 ], [ 733916.0, 3724824.0 ], [ 733925.038212854298763, 3724824.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3724959.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3725004.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3725049.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3725094.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733916_3725139.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 134690, "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": 75.233357615263444, "origlen": 0, "partialDec": 0.5426079647770381, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733933.053643652936444, 3725139.0 ], [ 733933.981720102136023, 3725136.448536148294806 ], [ 733932.724451179732569, 3725136.617617703508586 ], [ 733929.566822279826738, 3725137.062165400478989 ], [ 733928.701306592440233, 3725138.295111690182239 ], [ 733927.683588467072695, 3725137.016209401190281 ], [ 733927.95271526533179, 3725134.736601110547781 ], [ 733928.741625818191096, 3725132.458578986581415 ], [ 733926.893847053404897, 3725130.959658264648169 ], [ 733925.461097773630172, 3725129.570747075602412 ], [ 733925.616007869830355, 3725131.971682267263532 ], [ 733924.303450533887371, 3725134.02606556750834 ], [ 733924.030880918144248, 3725136.827193052973598 ], [ 733923.15020942944102, 3725138.681254582013935 ], [ 733923.05790709448047, 3725139.0 ], [ 733933.053643652936444, 3725139.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3724734.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 92642, "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": 272.76725138138551, "origlen": 0, "partialDec": 0.50582372917952123, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 734006.0, 3724733.314095525071025 ], [ 734005.036672754795291, 3724732.308777935802937 ], [ 734004.700672700069845, 3724728.960097201168537 ], [ 733985.17671379854437, 3724727.518070545978844 ], [ 733980.793273733812384, 3724729.49750511161983 ], [ 733981.172765030758455, 3724734.0 ], [ 734006.0, 3724734.0 ], [ 734006.0, 3724733.314095525071025 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3724779.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 92642, "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": 272.76725138138551, "origlen": 0, "partialDec": 0.49174194516610154, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733998.172171951970086, 3724738.955371181480587 ], [ 734005.087085773120634, 3724738.990968229714781 ], [ 734006.0, 3724735.776267854962498 ], [ 734006.0, 3724734.0 ], [ 733981.172765030758455, 3724734.0 ], [ 733981.333166613709182, 3724735.903093201573938 ], [ 733988.48206047678832, 3724740.80528543330729 ], [ 733992.534389728447422, 3724740.981871583964676 ], [ 733996.584479778190143, 3724740.86985838599503 ], [ 733998.172171951970086, 3724738.955371181480587 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3724824.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3724869.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 85996, "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": 147.78075500471959, "origlen": 0, "partialDec": 0.089709530921962946, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733961.0, 3724837.512521461583674 ], [ 733961.184794776490889, 3724835.747843090444803 ], [ 733963.223460652050562, 3724833.61130030779168 ], [ 733963.607368887402117, 3724830.812890837434679 ], [ 733962.502454621368088, 3724828.921473243273795 ], [ 733961.0, 3724829.087063139304519 ], [ 733961.0, 3724837.512521461583674 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3724959.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3725004.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_733961_3725049.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 86607, "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": 109.09963485201257, "origlen": 0, "partialDec": 1.0, "truncated": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 733984.247434898978099, 3725029.170712447725236 ], [ 733984.469720786786638, 3725037.177755209617317 ], [ 733988.266932822414674, 3725039.434536231681705 ], [ 733990.833932525943965, 3725040.751259885728359 ], [ 733991.039521950762719, 3725035.751105143688619 ], [ 733997.483796045300551, 3725035.664246738888323 ], [ 733997.398187489830889, 3725028.903508787043393 ], [ 733984.247434898978099, 3725029.170712447725236 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_734006_3724824.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_734006_3724869.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_734006_3724914.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_734006_3724959.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 86004, "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": 245.87085671707746, "origlen": 0, "partialDec": 0.20134007160948594, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 734039.951275395345874, 3724957.361701209563762 ], [ 734020.141815275885165, 3724955.846008125692606 ], [ 734019.899857406038791, 3724959.0 ], [ 734041.972572033060715, 3724959.0 ], [ 734039.951275395345874, 3724957.361701209563762 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_734006_3725004.geojson: -------------------------------------------------------------------------------- 1 | { 2 | "type": "FeatureCollection", 3 | "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::32616" } }, 4 | "features": [ 5 | { "type": "Feature", "properties": { "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": 86004, "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": 245.87085671707746, "origlen": 0, "partialDec": 0.79865992839011157, "truncated": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 734019.899857406038791, 3724959.0 ], [ 734019.51552347233519, 3724964.009905667975545 ], [ 734026.204987838980742, 3724964.528337045572698 ], [ 734026.000307232956402, 3724967.20904346043244 ], [ 734028.35346275055781, 3724967.399663022719324 ], [ 734028.161849318654276, 3724969.925317186396569 ], [ 734033.76750397705473, 3724970.350708946119994 ], [ 734033.998593332478777, 3724967.348806756082922 ], [ 734043.10642178892158, 3724968.048365659546107 ], [ 734043.692446619272232, 3724960.393990571144968 ], [ 734041.972572033060715, 3724959.0 ], [ 734019.899857406038791, 3724959.0 ] ] ] } } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /solaris/data/vectortile_test_expected/geoms_734006_3725049.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:32616"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/empty_geoms_-101.003_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.003_41.774.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.691.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.691.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.732.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.044_41.732.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/empty_geoms_-101.085_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.085_41.774.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/empty_geoms_-101.127_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/empty_geoms_-101.127_41.774.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/geoms_-101.044_41.774.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/geoms_-101.044_41.774.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.691.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.691.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.732.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/geoms_-101.085_41.732.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.691.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.691.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.732.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/data/vectortile_test_filled_expected/geoms_-101.127_41.732.tif -------------------------------------------------------------------------------- /solaris/data/vectortile_test_nonfilled_expected/geoms_-101.003_41.774.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.691.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_nonfilled_expected/geoms_-101.044_41.732.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_nonfilled_expected/geoms_-101.085_41.774.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/vectortile_test_nonfilled_expected/geoms_-101.127_41.774.geojson: -------------------------------------------------------------------------------- 1 | {"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG:4326"}}, "features": []} -------------------------------------------------------------------------------- /solaris/data/zoo/model_reference.yml: -------------------------------------------------------------------------------- 1 | # AN ITEM MUST BE ADDED TO BOTH model_paths AND model_urls FOR EACH MODEL 2 | # THAT SOLARIS CAN USE BY DEFAULT 3 | 4 | model_paths: 5 | placeholder1: path1 6 | placeholder2: path2 7 | 8 | model_urls: 9 | placeholder1: https://path/to/model1.pt 10 | placeholder2: https://path/to/model2.h5 11 | -------------------------------------------------------------------------------- /solaris/eval/__init__.py: -------------------------------------------------------------------------------- 1 | from . import base, iou, scot, challenges, pixel, vector 2 | -------------------------------------------------------------------------------- /solaris/nets/__init__.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | weights_dir = os.path.join(os.path.abspath(os.path.dirname(__file__)), 4 | 'weights') 5 | 6 | from . import callbacks, datagen, infer, losses, metrics, model_io 7 | from . import optimizers, train, transform, zoo 8 | 9 | 10 | if not os.path.isdir(weights_dir): 11 | os.mkdir(weights_dir) 12 | -------------------------------------------------------------------------------- /solaris/preproc/__init__.py: -------------------------------------------------------------------------------- 1 | from . import pipesegment, image, sar, optical, label 2 | -------------------------------------------------------------------------------- /solaris/raster/__init__.py: -------------------------------------------------------------------------------- 1 | from . import image 2 | -------------------------------------------------------------------------------- /solaris/tile/__init__.py: -------------------------------------------------------------------------------- 1 | from . import raster_tile, vector_tile 2 | -------------------------------------------------------------------------------- /solaris/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from . import cli, config, core, geo, io, tile, data 2 | -------------------------------------------------------------------------------- /solaris/utils/cli.py: -------------------------------------------------------------------------------- 1 | def _func_wrapper(func_to_call, arg_dict): 2 | return func_to_call(**arg_dict) 3 | -------------------------------------------------------------------------------- /solaris/utils/config.py: -------------------------------------------------------------------------------- 1 | import yaml 2 | from ..nets import zoo 3 | 4 | 5 | def parse(path): 6 | """Parse a config file for running a model. 7 | 8 | Arguments 9 | --------- 10 | path : str 11 | Path to the YAML-formatted config file to parse. 12 | 13 | Returns 14 | ------- 15 | config : dict 16 | A `dict` containing the information from the config file at `path`. 17 | 18 | """ 19 | with open(path, 'r') as f: 20 | config = yaml.safe_load(f) 21 | f.close() 22 | if not config['train'] and not config['infer']: 23 | raise ValueError('"train", "infer", or both must be true.') 24 | if config['train'] and config['training_data_csv'] is None: 25 | raise ValueError('"training_data_csv" must be provided if training.') 26 | if config['infer'] and config['inference_data_csv'] is None: 27 | raise ValueError('"inference_data_csv" must be provided if "infer".') 28 | if config['training']['lr'] is not None: 29 | config['training']['lr'] = float(config['training']['lr']) 30 | 31 | # TODO: IMPLEMENT UPDATING VALUES BASED ON EMPTY ELEMENTS HERE! 32 | 33 | if config['validation_augmentation'] is not None \ 34 | and config['inference_augmentation'] is None: 35 | config['inference_augmentation'] = config['validation_augmentation'] 36 | 37 | return config 38 | -------------------------------------------------------------------------------- /solaris/utils/log.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | 4 | def _get_logging_level(level_int): 5 | """Convert a logging level integer into a log level.""" 6 | if isinstance(level_int, bool): 7 | level_int = int(level_int) 8 | if level_int < 0: 9 | return logging.CRITICAL + 1 # silence all possible outputs 10 | elif level_int == 0: 11 | return logging.WARNING 12 | elif level_int == 1: 13 | return logging.INFO 14 | elif level_int == 2: 15 | return logging.DEBUG 16 | elif level_int in [10, 20, 30, 40, 50]: # if user provides the logger int 17 | return level_int 18 | elif isinstance(level_int, int): # if it's an int but not one of the above 19 | return level_int 20 | else: 21 | raise ValueError(f"logging level set to {level_int}, " 22 | "but it must be an integer <= 2.") 23 | -------------------------------------------------------------------------------- /solaris/utils/raster.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import numpy as np 3 | import tensorflow as tf 4 | 5 | 6 | def reorder_axes(arr, target='tensorflow'): 7 | """Check order of axes in an array or tensor and convert to desired format. 8 | 9 | Arguments 10 | --------- 11 | arr : :class:`numpy.array` or :class:`torch.Tensor` or :class:`tensorflow.Tensor` 12 | target : str, optional 13 | Desired axis order type. Possible values: 14 | - ``'tensorflow'`` (default): ``[N, Y, X, C]`` or ``[Y, X, C]`` 15 | - ``'torch'`` : ``[N, C, Y, X]`` or ``[C, Y, X]`` 16 | 17 | Returns 18 | ------- 19 | out_arr : an object of the same class as `arr` with axes in the desired 20 | order. 21 | """ 22 | 23 | if isinstance(arr, torch.Tensor) or isinstance(arr, np.ndarray): 24 | axes = list(arr.shape) 25 | elif isinstance(arr, tf.Tensor): 26 | axes = arr.get_shape().as_list() 27 | 28 | if isinstance(arr, torch.Tensor): 29 | if len(axes) == 3: 30 | if target == 'tensorflow' and axes[0] < axes[1]: 31 | arr = arr.permute(1, 2, 0) 32 | elif target == 'torch' and axes[2] < axes[1]: 33 | arr = arr.permute(2, 0, 1) 34 | elif len(axes) == 4: 35 | if target == 'tensorflow' and axes[1] < axes[2]: 36 | arr = arr.permute(0, 2, 3, 1) 37 | elif target == 'torch' and axes[3] < axes[2]: 38 | arr = arr.permute(0, 3, 1, 2) 39 | 40 | elif isinstance(arr, np.ndarray): 41 | if len(axes) == 3: 42 | if target == 'tensorflow' and axes[0] < axes[1]: 43 | arr = np.moveaxis(arr, 0, -1) 44 | elif target == 'torch' and axes[2] < axes[1]: 45 | arr = np.moveaxis(arr, 2, 0) 46 | elif len(axes) == 4: 47 | if target == 'tensorflow' and axes[1] < axes[2]: 48 | arr = np.moveaxis(arr, 1, -1) 49 | elif target == 'torch' and axes[3] < axes[2]: 50 | arr = np.moveaxis(arr, 3, 1) 51 | 52 | elif isinstance(arr, tf.Tensor): 53 | # permutation is obnoxious in tensorflow; convert to numpy, permute, 54 | # convert back. 55 | np_version = arr.eval() 56 | np_version = reorder_axes(np_version, target=target) 57 | arr = tf.convert_to_tensor(np_version) 58 | 59 | return arr 60 | -------------------------------------------------------------------------------- /solaris/utils/tdigest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/solaris/utils/tdigest.py -------------------------------------------------------------------------------- /solaris/vector/__init__.py: -------------------------------------------------------------------------------- 1 | from . import graph, mask, polygon 2 | -------------------------------------------------------------------------------- /static/sol_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/static/sol_logo.png -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/tests/__init__.py -------------------------------------------------------------------------------- /tests/test_cli/compare.py: -------------------------------------------------------------------------------- 1 | import os 2 | import numpy as np 3 | import skimage 4 | import pickle 5 | import networkx as nx 6 | import sys 7 | 8 | im_fnames = ['sample_fp_mask.tif', 9 | 'sample_fbc_mask.tif', 10 | 'sample_c_mask.tif', 11 | 'sample_b_inner_mask.tif', 12 | 'sample_b_outer10_mask.tif'] 13 | 14 | 15 | def main(path): 16 | os.chdir(path) # set to the directory containing this script 17 | 18 | # compare expected mask results and truth images 19 | for im_fname in im_fnames: 20 | truth_im = skimage.io.imread(os.path.join('expected', im_fname)) 21 | result_im = skimage.io.imread(os.path.join('results', im_fname)) 22 | assert np.array_equal(truth_im, result_im) 23 | 24 | # compare graphs 25 | with open(os.path.join('expected', 'sample_graph.pkl'), 'rb') as f: 26 | truth_graph = pickle.load(f) 27 | f.close() 28 | with open(os.path.join('results', 'sample_graph.pkl'), 'rb') as f: 29 | result_graph = pickle.load(f) 30 | f.close() 31 | 32 | assert nx.is_isomorphic(truth_graph, result_graph) 33 | 34 | 35 | if __name__ == '__main__': 36 | main(sys.argv[1]) 37 | -------------------------------------------------------------------------------- /tests/test_cli/test_cli.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #set -ev # if any command in the script fails, the whole thing will fail 4 | 5 | # empty output space 6 | rm -rf cw-geodata/tests/test_cli/results && mkdir cw-geodata/tests/test_cli/results 7 | 8 | # run tests 9 | geotransform_footprints -s cw-geodata/cw_geodata/data/geotiff_labels.geojson -r cw-geodata/cw_geodata/data/sample_geotiff.tif -o cw-geodata/tests/test_cli/results/to_px_test.geojson -p -d 0 10 | make_graphs -s cw-geodata/cw_geodata/data/sample_roads.geojson -o cw-geodata/tests/test_cli/results/sample_graph.pkl 11 | make_masks -s cw-geodata/cw_geodata/data/sample.csv -r cw-geodata/cw_geodata/data/sample_geotiff.tif -o cw-geodata/tests/test_cli/results/sample_fp_mask.tif -g PolygonWKT_Pix -f 12 | make_masks -s cw-geodata/cw_geodata/data/sample.csv -r cw-geodata/cw_geodata/data/sample_geotiff.tif -o cw-geodata/tests/test_cli/results/sample_b_inner_mask.tif -g PolygonWKT_Pix -e 13 | make_masks -s cw-geodata/cw_geodata/data/sample.csv -r cw-geodata/cw_geodata/data/sample_geotiff.tif -o cw-geodata/tests/test_cli/results/sample_b_outer10_mask.tif -g PolygonWKT_Pix -e -et outer -ew 10 14 | make_masks -s cw-geodata/cw_geodata/data/sample.csv -r cw-geodata/cw_geodata/data/sample_geotiff.tif -o cw-geodata/tests/test_cli/results/sample_c_mask.tif -g PolygonWKT_Pix -c -cs 10 15 | make_masks -s cw-geodata/cw_geodata/data/sample.csv -r cw-geodata/cw_geodata/data/sample_geotiff.tif -o cw-geodata/tests/test_cli/results/sample_fbc_mask.tif -g PolygonWKT_Pix -f -c -cs 15 -e -et outer -ew 5 16 | 17 | diff cw-geodata/tests/test_cli/results/to_px_test.geojson cw-geodata/tests/test_cli/expected/gj_to_px_result.geojson 18 | # run python-based testing of outputs from other CLI runs 19 | python cw-geodata/tests/test_cli/compare.py cw-geodata/tests/test_cli 20 | -------------------------------------------------------------------------------- /tests/test_eval/iou_test.py: -------------------------------------------------------------------------------- 1 | from solaris.eval.iou import calculate_iou, process_iou 2 | from solaris import data 3 | from shapely.geometry import Polygon 4 | 5 | 6 | class TestEvalFuncs(object): 7 | def test_overlap(self): 8 | gt_gdf = data.gt_gdf() 9 | pred_poly = Polygon(((736348.0, 3722762.5), 10 | (736353.0, 3722762.0), 11 | (736354.0, 3722759.0), 12 | (736352.0, 3722755.5), 13 | (736348.5, 3722755.5), 14 | (736346.0, 3722757.5), 15 | (736348.0, 3722762.5))) 16 | overlap_pred_gdf = calculate_iou(pred_poly, gt_gdf) 17 | assert overlap_pred_gdf.index[0] == 27 18 | assert overlap_pred_gdf.iou_score.iloc[0] == 0.073499798744833519 19 | 20 | def test_process_iou(self): 21 | gt_gdf = data.gt_gdf() 22 | pred_poly = Polygon(((736414.0, 3722573.0), 23 | (736417.5, 3722572.5), 24 | (736420.0, 3722568.0), 25 | (736421.0, 3722556.0), 26 | (736418.5, 3722538.0), 27 | (736424.0, 3722532.5), 28 | (736424.0, 3722527.0), 29 | (736422.5, 3722525.5), 30 | (736412.0, 3722524.0), 31 | (736410.5, 3722521.5), 32 | (736407.0, 3722520.5), 33 | (736383.5, 3722521.0), 34 | (736376.5, 3722528.5), 35 | (736378.0, 3722532.5), 36 | (736402.0, 3722532.0), 37 | (736410.0, 3722539.0), 38 | (736411.0, 3722544.0), 39 | (736408.5, 3722553.5), 40 | (736409.0, 3722569.0), 41 | (736414.0, 3722573.0))) 42 | assert 21 in gt_gdf.index 43 | process_iou(pred_poly, gt_gdf) 44 | assert 21 not in gt_gdf.index 45 | -------------------------------------------------------------------------------- /tests/test_eval/vector_test.py: -------------------------------------------------------------------------------- 1 | import os 2 | from solaris.data import data_dir 3 | from solaris.eval import vector 4 | 5 | 6 | class TestVectorMetrics(object): 7 | """Test the vector metrics.""" 8 | 9 | def test_vector_metrics(self): 10 | proposal_polygons_dir = os.path.join(data_dir, "eval_vector/preds/") 11 | gt_polygons_dir = os.path.join(data_dir, "eval_vector/gt/") 12 | mAP, APs_by_class, mF1_score, f1s_by_class, precision_iou_by_obj, precision_by_class, mPrecision, recall_iou_by_obj, recall_by_class, mRecall, object_subset, confidences = vector.mAP_score(proposal_polygons_dir, gt_polygons_dir, prediction_cat_attrib="class", gt_cat_attrib='make') 13 | assert mAP.round(2) == 0.85 14 | -------------------------------------------------------------------------------- /tests/test_imports.py: -------------------------------------------------------------------------------- 1 | class TestImports(object): 2 | 3 | def test_imports(self): 4 | import torch # workaround for TLS error 5 | from solaris.utils import core, geo, config, tile, cli 6 | from solaris import data 7 | from solaris.vector import polygon, graph, mask 8 | from solaris.tile import raster_tile, vector_tile 9 | from solaris.raster import image 10 | from solaris.nets import callbacks, datagen, infer, model_io, losses 11 | from solaris.nets import train, transform, zoo 12 | from solaris.eval import base, iou, challenges, pixel 13 | import solaris 14 | -------------------------------------------------------------------------------- /tests/test_nets/test_optimizers.py: -------------------------------------------------------------------------------- 1 | from solaris.nets.optimizers import get_optimizer 2 | from tensorflow import keras 3 | import torch 4 | 5 | 6 | class TestGetOptimizer(object): 7 | """Test the sol.nets.optimizers.get_optimizer() function.""" 8 | 9 | def test_get_optimizers(self): 10 | config = {'training': 11 | {'optimizer': 'sgd'}} 12 | keras_sgd = get_optimizer('keras', config) 13 | assert keras_sgd == keras.optimizers.SGD 14 | torch_sgd = get_optimizer('torch', config) 15 | assert torch_sgd == torch.optim.SGD 16 | -------------------------------------------------------------------------------- /tests/test_raster/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/tests/test_raster/__init__.py -------------------------------------------------------------------------------- /tests/test_utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/tests/test_utils/__init__.py -------------------------------------------------------------------------------- /tests/test_vector/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmiQ/solaris/5315390942e05e919555088361bd3df42d4f5a18/tests/test_vector/__init__.py -------------------------------------------------------------------------------- /tests/test_vector/test_graph.py: -------------------------------------------------------------------------------- 1 | import os 2 | from solaris.data import data_dir 3 | from solaris.vector.graph import geojson_to_graph 4 | import pickle 5 | import networkx as nx 6 | 7 | 8 | class TestGeojsonToGraph(object): 9 | """Tests for cw_geodata.vector_label.graph.geojson_to_graph.""" 10 | 11 | def test_graph_creation(self): 12 | """Test if a newly created graph is identical to an existing one.""" 13 | with open(os.path.join(data_dir, 'sample_graph.pkl'), 'rb') as f: 14 | truth_graph = pickle.load(f) 15 | f.close() 16 | output_graph = geojson_to_graph(os.path.join(data_dir, 17 | 'sample_roads.geojson')) 18 | 19 | assert nx.is_isomorphic(truth_graph, output_graph) 20 | --------------------------------------------------------------------------------