Add lab 2
This commit is contained in:
parent
06af1dbb7c
commit
cf14da7612
145
.gitignore
vendored
Normal file
145
.gitignore
vendored
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/python
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=python
|
||||||
|
|
||||||
|
### Python ###
|
||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
cover/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
.pybuilder/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
# For a library or package, you might want to ignore these files since the code is
|
||||||
|
# intended to run in multiple environments; otherwise, check them in:
|
||||||
|
# .python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
|
|
||||||
|
# pytype static type analyzer
|
||||||
|
.pytype/
|
||||||
|
|
||||||
|
# Cython debug symbols
|
||||||
|
cython_debug/
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/python
|
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B1.TIF
Normal file
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B1.TIF
Normal file
Binary file not shown.
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B2.TIF
Normal file
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B2.TIF
Normal file
Binary file not shown.
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B3.TIF
Normal file
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B3.TIF
Normal file
Binary file not shown.
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B4.TIF
Normal file
BIN
LE07_L1TP_177025_20210723_20210818_02_T1_B4.TIF
Normal file
Binary file not shown.
300
LE07_L1TP_177025_20210723_20210818_02_T1_MTL.txt
Normal file
300
LE07_L1TP_177025_20210723_20210818_02_T1_MTL.txt
Normal file
|
@ -0,0 +1,300 @@
|
||||||
|
GROUP = LANDSAT_METADATA_FILE
|
||||||
|
GROUP = PRODUCT_CONTENTS
|
||||||
|
ORIGIN = "Image courtesy of the U.S. Geological Survey"
|
||||||
|
DIGITAL_OBJECT_IDENTIFIER = "https://doi.org/10.5066/P9TU80IG"
|
||||||
|
LANDSAT_PRODUCT_ID = "LE07_L1TP_177025_20210723_20210818_02_T1"
|
||||||
|
PROCESSING_LEVEL = "L1TP"
|
||||||
|
COLLECTION_NUMBER = 02
|
||||||
|
COLLECTION_CATEGORY = "T1"
|
||||||
|
OUTPUT_FORMAT = "GEOTIFF"
|
||||||
|
FILE_NAME_BAND_1 = "LE07_L1TP_177025_20210723_20210818_02_T1_B1.TIF"
|
||||||
|
FILE_NAME_BAND_2 = "LE07_L1TP_177025_20210723_20210818_02_T1_B2.TIF"
|
||||||
|
FILE_NAME_BAND_3 = "LE07_L1TP_177025_20210723_20210818_02_T1_B3.TIF"
|
||||||
|
FILE_NAME_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_B4.TIF"
|
||||||
|
FILE_NAME_BAND_5 = "LE07_L1TP_177025_20210723_20210818_02_T1_B5.TIF"
|
||||||
|
FILE_NAME_BAND_6_VCID_1 = "LE07_L1TP_177025_20210723_20210818_02_T1_B6_VCID_1.TIF"
|
||||||
|
FILE_NAME_BAND_6_VCID_2 = "LE07_L1TP_177025_20210723_20210818_02_T1_B6_VCID_2.TIF"
|
||||||
|
FILE_NAME_BAND_7 = "LE07_L1TP_177025_20210723_20210818_02_T1_B7.TIF"
|
||||||
|
FILE_NAME_BAND_8 = "LE07_L1TP_177025_20210723_20210818_02_T1_B8.TIF"
|
||||||
|
FILE_NAME_QUALITY_L1_PIXEL = "LE07_L1TP_177025_20210723_20210818_02_T1_QA_PIXEL.TIF"
|
||||||
|
FILE_NAME_QUALITY_L1_RADIOMETRIC_SATURATION = "LE07_L1TP_177025_20210723_20210818_02_T1_QA_RADSAT.TIF"
|
||||||
|
FILE_NAME_GROUND_CONTROL_POINT = "LE07_L1TP_177025_20210723_20210818_02_T1_GCP.txt"
|
||||||
|
FILE_NAME_ANGLE_COEFFICIENT = "LE07_L1TP_177025_20210723_20210818_02_T1_ANG.txt"
|
||||||
|
FILE_NAME_ANGLE_SENSOR_AZIMUTH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_VAA.TIF"
|
||||||
|
FILE_NAME_ANGLE_SENSOR_ZENITH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_VZA.TIF"
|
||||||
|
FILE_NAME_ANGLE_SOLAR_AZIMUTH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_SAA.TIF"
|
||||||
|
FILE_NAME_ANGLE_SOLAR_ZENITH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_SZA.TIF"
|
||||||
|
FILE_NAME_METADATA_ODL = "LE07_L1TP_177025_20210723_20210818_02_T1_MTL.txt"
|
||||||
|
FILE_NAME_METADATA_XML = "LE07_L1TP_177025_20210723_20210818_02_T1_MTL.xml"
|
||||||
|
DATA_TYPE_BAND_1 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_2 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_3 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_4 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_5 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_6_VCID_1 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_6_VCID_2 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_7 = "UINT8"
|
||||||
|
DATA_TYPE_BAND_8 = "UINT8"
|
||||||
|
DATA_TYPE_QUALITY_L1_PIXEL = "UINT16"
|
||||||
|
DATA_TYPE_QUALITY_L1_RADIOMETRIC_SATURATION = "UINT16"
|
||||||
|
DATA_TYPE_ANGLE_SENSOR_AZIMUTH_BAND_4 = "INT16"
|
||||||
|
DATA_TYPE_ANGLE_SENSOR_ZENITH_BAND_4 = "INT16"
|
||||||
|
DATA_TYPE_ANGLE_SOLAR_AZIMUTH_BAND_4 = "INT16"
|
||||||
|
DATA_TYPE_ANGLE_SOLAR_ZENITH_BAND_4 = "INT16"
|
||||||
|
END_GROUP = PRODUCT_CONTENTS
|
||||||
|
GROUP = IMAGE_ATTRIBUTES
|
||||||
|
SPACECRAFT_ID = "LANDSAT_7"
|
||||||
|
SENSOR_ID = "ETM"
|
||||||
|
WRS_TYPE = 2
|
||||||
|
WRS_PATH = 177
|
||||||
|
WRS_ROW = 025
|
||||||
|
DATE_ACQUIRED = 2021-07-23
|
||||||
|
SCENE_CENTER_TIME = "07:26:38.9955869Z"
|
||||||
|
STATION_ID = "NSG"
|
||||||
|
CLOUD_COVER = 0.00
|
||||||
|
CLOUD_COVER_LAND = 0.00
|
||||||
|
IMAGE_QUALITY = 9
|
||||||
|
SATURATION_BAND_1 = "Y"
|
||||||
|
SATURATION_BAND_2 = "Y"
|
||||||
|
SATURATION_BAND_3 = "Y"
|
||||||
|
SATURATION_BAND_4 = "Y"
|
||||||
|
SATURATION_BAND_5 = "Y"
|
||||||
|
SATURATION_BAND_6_VCID_1 = "N"
|
||||||
|
SATURATION_BAND_6_VCID_2 = "N"
|
||||||
|
SATURATION_BAND_7 = "Y"
|
||||||
|
SATURATION_BAND_8 = "N"
|
||||||
|
SUN_AZIMUTH = 126.84545120
|
||||||
|
SUN_ELEVATION = 49.90781811
|
||||||
|
EARTH_SUN_DISTANCE = 1.0159141
|
||||||
|
SENSOR_MODE = "BUMPER"
|
||||||
|
SENSOR_MODE_SLC = "OFF"
|
||||||
|
SENSOR_ANOMALIES = "NONE"
|
||||||
|
END_GROUP = IMAGE_ATTRIBUTES
|
||||||
|
GROUP = PROJECTION_ATTRIBUTES
|
||||||
|
MAP_PROJECTION = "UTM"
|
||||||
|
DATUM = "WGS84"
|
||||||
|
ELLIPSOID = "WGS84"
|
||||||
|
UTM_ZONE = 37
|
||||||
|
GRID_CELL_SIZE_PANCHROMATIC = 15.00
|
||||||
|
GRID_CELL_SIZE_REFLECTIVE = 30.00
|
||||||
|
GRID_CELL_SIZE_THERMAL = 30.00
|
||||||
|
PANCHROMATIC_LINES = 15081
|
||||||
|
PANCHROMATIC_SAMPLES = 16981
|
||||||
|
REFLECTIVE_LINES = 7541
|
||||||
|
REFLECTIVE_SAMPLES = 8491
|
||||||
|
THERMAL_LINES = 7541
|
||||||
|
THERMAL_SAMPLES = 8491
|
||||||
|
ORIENTATION = "NORTH_UP"
|
||||||
|
CORNER_UL_LAT_PRODUCT = 51.28241
|
||||||
|
CORNER_UL_LON_PRODUCT = 34.82816
|
||||||
|
CORNER_UR_LAT_PRODUCT = 51.35561
|
||||||
|
CORNER_UR_LON_PRODUCT = 38.48012
|
||||||
|
CORNER_LL_LAT_PRODUCT = 49.25322
|
||||||
|
CORNER_LL_LON_PRODUCT = 35.00205
|
||||||
|
CORNER_LR_LAT_PRODUCT = 49.32136
|
||||||
|
CORNER_LR_LON_PRODUCT = 38.50186
|
||||||
|
CORNER_UL_PROJECTION_X_PRODUCT = 209100.000
|
||||||
|
CORNER_UL_PROJECTION_Y_PRODUCT = 5689500.000
|
||||||
|
CORNER_UR_PROJECTION_X_PRODUCT = 463800.000
|
||||||
|
CORNER_UR_PROJECTION_Y_PRODUCT = 5689500.000
|
||||||
|
CORNER_LL_PROJECTION_X_PRODUCT = 209100.000
|
||||||
|
CORNER_LL_PROJECTION_Y_PRODUCT = 5463300.000
|
||||||
|
CORNER_LR_PROJECTION_X_PRODUCT = 463800.000
|
||||||
|
CORNER_LR_PROJECTION_Y_PRODUCT = 5463300.000
|
||||||
|
END_GROUP = PROJECTION_ATTRIBUTES
|
||||||
|
GROUP = LEVEL1_PROCESSING_RECORD
|
||||||
|
ORIGIN = "Image courtesy of the U.S. Geological Survey"
|
||||||
|
DIGITAL_OBJECT_IDENTIFIER = "https://doi.org/10.5066/P9TU80IG"
|
||||||
|
REQUEST_ID = "P700y95yl7543_00333"
|
||||||
|
LANDSAT_SCENE_ID = "LE71770252021204NSG00"
|
||||||
|
LANDSAT_PRODUCT_ID = "LE07_L1TP_177025_20210723_20210818_02_T1"
|
||||||
|
PROCESSING_LEVEL = "L1TP"
|
||||||
|
COLLECTION_CATEGORY = "T1"
|
||||||
|
OUTPUT_FORMAT = "GEOTIFF"
|
||||||
|
DATE_PRODUCT_GENERATED = 2021-08-18T17:58:16Z
|
||||||
|
PROCESSING_SOFTWARE_VERSION = "LPGS_15.5.0"
|
||||||
|
FILE_NAME_BAND_1 = "LE07_L1TP_177025_20210723_20210818_02_T1_B1.TIF"
|
||||||
|
FILE_NAME_BAND_2 = "LE07_L1TP_177025_20210723_20210818_02_T1_B2.TIF"
|
||||||
|
FILE_NAME_BAND_3 = "LE07_L1TP_177025_20210723_20210818_02_T1_B3.TIF"
|
||||||
|
FILE_NAME_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_B4.TIF"
|
||||||
|
FILE_NAME_BAND_5 = "LE07_L1TP_177025_20210723_20210818_02_T1_B5.TIF"
|
||||||
|
FILE_NAME_BAND_6_VCID_1 = "LE07_L1TP_177025_20210723_20210818_02_T1_B6_VCID_1.TIF"
|
||||||
|
FILE_NAME_BAND_6_VCID_2 = "LE07_L1TP_177025_20210723_20210818_02_T1_B6_VCID_2.TIF"
|
||||||
|
FILE_NAME_BAND_7 = "LE07_L1TP_177025_20210723_20210818_02_T1_B7.TIF"
|
||||||
|
FILE_NAME_BAND_8 = "LE07_L1TP_177025_20210723_20210818_02_T1_B8.TIF"
|
||||||
|
FILE_NAME_QUALITY_L1_PIXEL = "LE07_L1TP_177025_20210723_20210818_02_T1_QA_PIXEL.TIF"
|
||||||
|
FILE_NAME_QUALITY_L1_RADIOMETRIC_SATURATION = "LE07_L1TP_177025_20210723_20210818_02_T1_QA_RADSAT.TIF"
|
||||||
|
FILE_NAME_GROUND_CONTROL_POINT = "LE07_L1TP_177025_20210723_20210818_02_T1_GCP.txt"
|
||||||
|
FILE_NAME_ANGLE_COEFFICIENT = "LE07_L1TP_177025_20210723_20210818_02_T1_ANG.txt"
|
||||||
|
FILE_NAME_ANGLE_SENSOR_AZIMUTH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_VAA.TIF"
|
||||||
|
FILE_NAME_ANGLE_SENSOR_ZENITH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_VZA.TIF"
|
||||||
|
FILE_NAME_ANGLE_SOLAR_AZIMUTH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_SAA.TIF"
|
||||||
|
FILE_NAME_ANGLE_SOLAR_ZENITH_BAND_4 = "LE07_L1TP_177025_20210723_20210818_02_T1_SZA.TIF"
|
||||||
|
FILE_NAME_METADATA_ODL = "LE07_L1TP_177025_20210723_20210818_02_T1_MTL.txt"
|
||||||
|
FILE_NAME_METADATA_XML = "LE07_L1TP_177025_20210723_20210818_02_T1_MTL.xml"
|
||||||
|
FILE_NAME_CPF = "LE07CPF_20210701_20210930_02.03"
|
||||||
|
DATA_SOURCE_ELEVATION = "GLS2000"
|
||||||
|
GROUND_CONTROL_POINTS_VERSION = 5
|
||||||
|
GROUND_CONTROL_POINTS_MODEL = 1102
|
||||||
|
GEOMETRIC_RMSE_MODEL = 4.495
|
||||||
|
GEOMETRIC_RMSE_MODEL_Y = 3.328
|
||||||
|
GEOMETRIC_RMSE_MODEL_X = 3.022
|
||||||
|
EPHEMERIS_TYPE = "DEFINITIVE"
|
||||||
|
END_GROUP = LEVEL1_PROCESSING_RECORD
|
||||||
|
GROUP = LEVEL1_MIN_MAX_RADIANCE
|
||||||
|
RADIANCE_MAXIMUM_BAND_1 = 293.700
|
||||||
|
RADIANCE_MINIMUM_BAND_1 = -6.200
|
||||||
|
RADIANCE_MAXIMUM_BAND_2 = 300.900
|
||||||
|
RADIANCE_MINIMUM_BAND_2 = -6.400
|
||||||
|
RADIANCE_MAXIMUM_BAND_3 = 234.400
|
||||||
|
RADIANCE_MINIMUM_BAND_3 = -5.000
|
||||||
|
RADIANCE_MAXIMUM_BAND_4 = 241.100
|
||||||
|
RADIANCE_MINIMUM_BAND_4 = -5.100
|
||||||
|
RADIANCE_MAXIMUM_BAND_5 = 47.570
|
||||||
|
RADIANCE_MINIMUM_BAND_5 = -1.000
|
||||||
|
RADIANCE_MAXIMUM_BAND_6_VCID_1 = 17.040
|
||||||
|
RADIANCE_MINIMUM_BAND_6_VCID_1 = 0.000
|
||||||
|
RADIANCE_MAXIMUM_BAND_6_VCID_2 = 12.650
|
||||||
|
RADIANCE_MINIMUM_BAND_6_VCID_2 = 3.200
|
||||||
|
RADIANCE_MAXIMUM_BAND_7 = 16.540
|
||||||
|
RADIANCE_MINIMUM_BAND_7 = -0.350
|
||||||
|
RADIANCE_MAXIMUM_BAND_8 = 243.100
|
||||||
|
RADIANCE_MINIMUM_BAND_8 = -4.700
|
||||||
|
END_GROUP = LEVEL1_MIN_MAX_RADIANCE
|
||||||
|
GROUP = LEVEL1_MIN_MAX_REFLECTANCE
|
||||||
|
REFLECTANCE_MAXIMUM_BAND_1 = 0.467724
|
||||||
|
REFLECTANCE_MINIMUM_BAND_1 = -0.009874
|
||||||
|
REFLECTANCE_MAXIMUM_BAND_2 = 0.525664
|
||||||
|
REFLECTANCE_MINIMUM_BAND_2 = -0.011181
|
||||||
|
REFLECTANCE_MAXIMUM_BAND_3 = 0.498370
|
||||||
|
REFLECTANCE_MINIMUM_BAND_3 = -0.010631
|
||||||
|
REFLECTANCE_MAXIMUM_BAND_4 = 0.729914
|
||||||
|
REFLECTANCE_MINIMUM_BAND_4 = -0.015440
|
||||||
|
REFLECTANCE_MAXIMUM_BAND_5 = 0.696029
|
||||||
|
REFLECTANCE_MINIMUM_BAND_5 = -0.014632
|
||||||
|
REFLECTANCE_MAXIMUM_BAND_7 = 0.659156
|
||||||
|
REFLECTANCE_MINIMUM_BAND_7 = -0.013948
|
||||||
|
REFLECTANCE_MAXIMUM_BAND_8 = 0.597591
|
||||||
|
REFLECTANCE_MINIMUM_BAND_8 = -0.011554
|
||||||
|
END_GROUP = LEVEL1_MIN_MAX_REFLECTANCE
|
||||||
|
GROUP = LEVEL1_MIN_MAX_PIXEL_VALUE
|
||||||
|
QUANTIZE_CAL_MAX_BAND_1 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_1 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_2 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_2 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_3 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_3 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_4 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_4 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_5 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_5 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_6_VCID_1 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_6_VCID_1 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_6_VCID_2 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_6_VCID_2 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_7 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_7 = 1
|
||||||
|
QUANTIZE_CAL_MAX_BAND_8 = 255
|
||||||
|
QUANTIZE_CAL_MIN_BAND_8 = 1
|
||||||
|
END_GROUP = LEVEL1_MIN_MAX_PIXEL_VALUE
|
||||||
|
GROUP = LEVEL1_RADIOMETRIC_RESCALING
|
||||||
|
RADIANCE_MULT_BAND_1 = 1.1807E+00
|
||||||
|
RADIANCE_MULT_BAND_2 = 1.2098E+00
|
||||||
|
RADIANCE_MULT_BAND_3 = 9.4252E-01
|
||||||
|
RADIANCE_MULT_BAND_4 = 9.6929E-01
|
||||||
|
RADIANCE_MULT_BAND_5 = 1.9122E-01
|
||||||
|
RADIANCE_MULT_BAND_6_VCID_1 = 6.7087E-02
|
||||||
|
RADIANCE_MULT_BAND_6_VCID_2 = 3.7205E-02
|
||||||
|
RADIANCE_MULT_BAND_7 = 6.6496E-02
|
||||||
|
RADIANCE_MULT_BAND_8 = 9.7559E-01
|
||||||
|
RADIANCE_ADD_BAND_1 = -7.38071
|
||||||
|
RADIANCE_ADD_BAND_2 = -7.60984
|
||||||
|
RADIANCE_ADD_BAND_3 = -5.94252
|
||||||
|
RADIANCE_ADD_BAND_4 = -6.06929
|
||||||
|
RADIANCE_ADD_BAND_5 = -1.19122
|
||||||
|
RADIANCE_ADD_BAND_6_VCID_1 = -0.06709
|
||||||
|
RADIANCE_ADD_BAND_6_VCID_2 = 3.16280
|
||||||
|
RADIANCE_ADD_BAND_7 = -0.41650
|
||||||
|
RADIANCE_ADD_BAND_8 = -5.67559
|
||||||
|
REFLECTANCE_MULT_BAND_1 = 1.8803E-03
|
||||||
|
REFLECTANCE_MULT_BAND_2 = 2.1136E-03
|
||||||
|
REFLECTANCE_MULT_BAND_3 = 2.0039E-03
|
||||||
|
REFLECTANCE_MULT_BAND_4 = 2.9345E-03
|
||||||
|
REFLECTANCE_MULT_BAND_5 = 2.7979E-03
|
||||||
|
REFLECTANCE_MULT_BAND_7 = 2.6500E-03
|
||||||
|
REFLECTANCE_MULT_BAND_8 = 2.3982E-03
|
||||||
|
REFLECTANCE_ADD_BAND_1 = -0.011754
|
||||||
|
REFLECTANCE_ADD_BAND_2 = -0.013294
|
||||||
|
REFLECTANCE_ADD_BAND_3 = -0.012635
|
||||||
|
REFLECTANCE_ADD_BAND_4 = -0.018374
|
||||||
|
REFLECTANCE_ADD_BAND_5 = -0.017430
|
||||||
|
REFLECTANCE_ADD_BAND_7 = -0.016598
|
||||||
|
REFLECTANCE_ADD_BAND_8 = -0.013952
|
||||||
|
END_GROUP = LEVEL1_RADIOMETRIC_RESCALING
|
||||||
|
GROUP = LEVEL1_THERMAL_CONSTANTS
|
||||||
|
K1_CONSTANT_BAND_6_VCID_1 = 666.09
|
||||||
|
K2_CONSTANT_BAND_6_VCID_1 = 1282.71
|
||||||
|
K1_CONSTANT_BAND_6_VCID_2 = 666.09
|
||||||
|
K2_CONSTANT_BAND_6_VCID_2 = 1282.71
|
||||||
|
END_GROUP = LEVEL1_THERMAL_CONSTANTS
|
||||||
|
GROUP = LEVEL1_PROJECTION_PARAMETERS
|
||||||
|
MAP_PROJECTION = "UTM"
|
||||||
|
DATUM = "WGS84"
|
||||||
|
ELLIPSOID = "WGS84"
|
||||||
|
UTM_ZONE = 37
|
||||||
|
GRID_CELL_SIZE_PANCHROMATIC = 15.00
|
||||||
|
GRID_CELL_SIZE_REFLECTIVE = 30.00
|
||||||
|
GRID_CELL_SIZE_THERMAL = 30.00
|
||||||
|
ORIENTATION = "NORTH_UP"
|
||||||
|
RESAMPLING_OPTION = "CUBIC_CONVOLUTION"
|
||||||
|
SCAN_GAP_INTERPOLATION = 2.0
|
||||||
|
END_GROUP = LEVEL1_PROJECTION_PARAMETERS
|
||||||
|
GROUP = PRODUCT_PARAMETERS
|
||||||
|
CORRECTION_GAIN_BAND_1 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_2 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_3 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_4 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_5 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_6_VCID_1 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_6_VCID_2 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_7 = "CPF"
|
||||||
|
CORRECTION_GAIN_BAND_8 = "CPF"
|
||||||
|
CORRECTION_BIAS_BAND_1 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_2 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_3 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_4 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_5 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_6_VCID_1 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_6_VCID_2 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_7 = "INTERNAL_CALIBRATION"
|
||||||
|
CORRECTION_BIAS_BAND_8 = "INTERNAL_CALIBRATION"
|
||||||
|
GAIN_BAND_1 = "L"
|
||||||
|
GAIN_BAND_2 = "L"
|
||||||
|
GAIN_BAND_3 = "L"
|
||||||
|
GAIN_BAND_4 = "L"
|
||||||
|
GAIN_BAND_5 = "L"
|
||||||
|
GAIN_BAND_6_VCID_1 = "L"
|
||||||
|
GAIN_BAND_6_VCID_2 = "H"
|
||||||
|
GAIN_BAND_7 = "L"
|
||||||
|
GAIN_BAND_8 = "L"
|
||||||
|
GAIN_CHANGE_BAND_1 = "LL"
|
||||||
|
GAIN_CHANGE_BAND_2 = "LL"
|
||||||
|
GAIN_CHANGE_BAND_3 = "LL"
|
||||||
|
GAIN_CHANGE_BAND_4 = "LL"
|
||||||
|
GAIN_CHANGE_BAND_5 = "LL"
|
||||||
|
GAIN_CHANGE_BAND_6_VCID_1 = "LL"
|
||||||
|
GAIN_CHANGE_BAND_6_VCID_2 = "HH"
|
||||||
|
GAIN_CHANGE_BAND_7 = "LL"
|
||||||
|
GAIN_CHANGE_BAND_8 = "LL"
|
||||||
|
GAIN_CHANGE_SCAN_BAND_1 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_2 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_3 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_4 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_5 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_6_VCID_1 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_6_VCID_2 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_7 = 0
|
||||||
|
GAIN_CHANGE_SCAN_BAND_8 = 0
|
||||||
|
END_GROUP = PRODUCT_PARAMETERS
|
||||||
|
END_GROUP = LANDSAT_METADATA_FILE
|
||||||
|
END
|
76
sat.py
76
sat.py
|
@ -51,3 +51,79 @@ print(composite.size)
|
||||||
cropped = composite.crop((x0, y0, x1, y1))
|
cropped = composite.crop((x0, y0, x1, y1))
|
||||||
|
|
||||||
cropped.save('cropped.png')
|
cropped.save('cropped.png')
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# LAB 2
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Load landsat band 4 TIF image.
|
||||||
|
# Band 4 is near infrared.
|
||||||
|
|
||||||
|
band4 = Image.open('LE07_L1TP_177025_20210723_20210818_02_T1_B4.TIF')
|
||||||
|
|
||||||
|
# Claculate the NDVI.
|
||||||
|
#
|
||||||
|
# The NDVI is calculated by dividing
|
||||||
|
# difference of the red and near infrared band 4 by the sum of the
|
||||||
|
# near infrared and near infrared band 4.
|
||||||
|
#
|
||||||
|
# The NDVI is calculated for each pixel in the cropped image.
|
||||||
|
#
|
||||||
|
# The NDVI is saved as a PNG image.
|
||||||
|
|
||||||
|
ndvi = band4.copy().crop((x0, y0, x1, y1))
|
||||||
|
red = band3.copy().crop((x0, y0, x1, y1))
|
||||||
|
result = cropped.copy()
|
||||||
|
|
||||||
|
print(red.getpixel((0, 0)))
|
||||||
|
print(ndvi.getpixel((0, 0)))
|
||||||
|
|
||||||
|
# Colors for the NDVI.
|
||||||
|
def get_color(value):
|
||||||
|
if value < 0.033:
|
||||||
|
return (255, 255, 255)
|
||||||
|
elif value < 0.066:
|
||||||
|
return (196, 184, 168)
|
||||||
|
elif value < 0.1:
|
||||||
|
return (180, 150, 108)
|
||||||
|
elif value < 0.133:
|
||||||
|
return (164, 130, 76)
|
||||||
|
elif value < 0.166:
|
||||||
|
return (148, 114, 60)
|
||||||
|
elif value < 0.2:
|
||||||
|
return (124, 158, 44)
|
||||||
|
elif value < 0.25:
|
||||||
|
return (148, 182, 20)
|
||||||
|
elif value < 0.3:
|
||||||
|
return (116, 170, 4)
|
||||||
|
elif value < 0.35:
|
||||||
|
return (100, 162, 4)
|
||||||
|
elif value < 0.4:
|
||||||
|
return (84, 150, 4)
|
||||||
|
elif value < 0.45:
|
||||||
|
return (60, 134, 4)
|
||||||
|
elif value < 0.5:
|
||||||
|
return (28, 114, 4)
|
||||||
|
elif value < 0.6:
|
||||||
|
return (4, 96, 4)
|
||||||
|
elif value < 0.7:
|
||||||
|
return (4, 74, 4)
|
||||||
|
elif value < 0.8:
|
||||||
|
return (4, 56, 4)
|
||||||
|
elif value < 0.9:
|
||||||
|
return (4, 40, 4)
|
||||||
|
else:
|
||||||
|
return (0, 0, 0)
|
||||||
|
|
||||||
|
for x in range(ndvi.size[0]):
|
||||||
|
for y in range(ndvi.size[1]):
|
||||||
|
r = red.getpixel((x, y))
|
||||||
|
nir = ndvi.getpixel((x, y))
|
||||||
|
if nir + r == 0:
|
||||||
|
result.putpixel((x, y), get_color(0))
|
||||||
|
else:
|
||||||
|
result.putpixel((x, y), get_color((nir - r) / (nir + r)))
|
||||||
|
|
||||||
|
result.save('ndvi.png')
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue