Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
FIELD_CUSTOM, True, False, "IsNormalized" ),
NTD_OriginalHeader:
TIFFFieldInfo(NTD_OriginalHeader, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "OriginalHeader" ),
NTD_IsValueTableAvailable:
TIFFFieldInfo(NTD_IsValueTableAvailable, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "IsValueTableAvailable" ),
NTD_ValueTableStringField:
TIFFFieldInfo(NTD_ValueTableStringField, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "ValueTableStringField" ),
NTD_ValueTableFloatField:
TIFFFieldInfo(NTD_ValueTableFloatField, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "ValueTableFloatField" ),
NTD_TransparentPixel:
TIFFFieldInfo(NTD_TransparentPixel, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "TransparentPixel" ),
}
# Add Ninjo tags to the libtiff library
_ninjo_tags_extender = libtiff.add_tags(ninjo_tags_dict.values())
ninjo_tags = sorted(ninjo_tags_dict.keys())
#-------------------------------------------------------------------------------
#
# Read Ninjo products config file.
#
#-------------------------------------------------------------------------------
def get_product_config(product_name, force_read=False):
"""Read Ninjo configuration entry for a given product name.
:Parameters:
#
MODEL_PIXEL_SCALE_COUNT = int(os.environ.get("GEOTIFF_MODEL_PIXEL_SCALE_COUNT", 3))
ninjo_tags_dict = {
# Geotiff tags
GTF_ModelPixelScale:
TIFFFieldInfo(GTF_ModelPixelScale, MODEL_PIXEL_SCALE_COUNT,
MODEL_PIXEL_SCALE_COUNT, TIFFDataType.TIFF_DOUBLE,
FIELD_CUSTOM, True, False, "ModelPixelScale" ),
GTF_ModelTiepoint:
TIFFFieldInfo(GTF_ModelTiepoint, 6, 6, TIFFDataType.TIFF_DOUBLE,
FIELD_CUSTOM, True, False, "ModelTiePoint" ),
# DWD tags
NTD_Magic:
TIFFFieldInfo(NTD_Magic, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Magic" ),
NTD_SatelliteNameID:
TIFFFieldInfo(NTD_SatelliteNameID, 1, 1, TIFFDataType.TIFF_LONG,
FIELD_CUSTOM, True, False, "SatelliteNameID" ),
NTD_DateID:
TIFFFieldInfo(NTD_DateID, 1, 1, TIFFDataType.TIFF_LONG,
FIELD_CUSTOM, True, False, "DateID" ),
NTD_CreationDateID:
TIFFFieldInfo(NTD_CreationDateID, 1, 1, TIFFDataType.TIFF_LONG,
FIELD_CUSTOM, True, False, "CreationDateID" ),
NTD_ChannelID:
TIFFFieldInfo(NTD_ChannelID, 1, 1, TIFFDataType.TIFF_LONG,
FIELD_CUSTOM, True, False, "ChannelID" ),
NTD_HeaderVersion:
TIFFFieldInfo(NTD_HeaderVersion, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "HeaderVersion" ),
TIFFFieldInfo(NTD_XMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMinimum" ),
NTD_XMaximum:
TIFFFieldInfo(NTD_XMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMaximum" ),
NTD_YMinimum:
TIFFFieldInfo(NTD_YMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMinimum" ),
NTD_YMaximum:
TIFFFieldInfo(NTD_YMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMaximum" ),
NTD_Projection:
TIFFFieldInfo(NTD_Projection, 5, 5, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Projection" ), # 4 chars + NUL character
NTD_MeridianWest:
TIFFFieldInfo(NTD_MeridianWest, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "MeridianWest" ),
NTD_MeridianEast:
TIFFFieldInfo(NTD_MeridianEast, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "MeridianEast" ),
NTD_EarthRadiusLarge:
TIFFFieldInfo(NTD_EarthRadiusLarge, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "EarthRadiusLarge" ),
NTD_EarthRadiusSmall:
TIFFFieldInfo(NTD_EarthRadiusSmall, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "EarthRadiusSmall" ),
NTD_GeodeticDate:
TIFFFieldInfo(NTD_GeodeticDate, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "GeodeticDate" ), # Max 20
NTD_ReferenceLatitude1:
TIFFFieldInfo(NTD_ReferenceLatitude1, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "ReferenceLatitude1" ),
TIFFFieldInfo(NTD_CreationDateID, 1, 1, TIFFDataType.TIFF_LONG,
FIELD_CUSTOM, True, False, "CreationDateID" ),
NTD_ChannelID:
TIFFFieldInfo(NTD_ChannelID, 1, 1, TIFFDataType.TIFF_LONG,
FIELD_CUSTOM, True, False, "ChannelID" ),
NTD_HeaderVersion:
TIFFFieldInfo(NTD_HeaderVersion, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "HeaderVersion" ),
NTD_FileName:
TIFFFieldInfo(NTD_FileName, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "FileName" ),
NTD_DataType:
TIFFFieldInfo(NTD_DataType, 5, 5, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "DataType" ), # 4 chars + NUL character
NTD_SatelliteNumber:
TIFFFieldInfo(NTD_SatelliteNumber, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "SatelliteNumber" ),
NTD_ColorDepth:
TIFFFieldInfo(NTD_ColorDepth, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "ColorDepth" ),
NTD_DataSource:
TIFFFieldInfo(NTD_DataSource, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "DataSource" ),
NTD_XMinimum:
TIFFFieldInfo(NTD_XMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMinimum" ),
NTD_XMaximum:
TIFFFieldInfo(NTD_XMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMaximum" ),
NTD_YMinimum:
TIFFFieldInfo(NTD_YMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMinimum" ),
TIFFFieldInfo(NTD_ReferenceLatitude2, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "ReferenceLatitude2" ),
NTD_CentralMeridian:
TIFFFieldInfo(NTD_CentralMeridian, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "CentralMeridian" ),
NTD_PhysicValue:
TIFFFieldInfo(NTD_PhysicValue, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "PhysicValue" ), # Max 10
NTD_PhysicUnit:
TIFFFieldInfo(NTD_PhysicUnit, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "PhysicUnit" ), # Max 10
NTD_MinGrayValue:
TIFFFieldInfo(NTD_MinGrayValue, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "MinGrayValue" ),
NTD_MaxGrayValue:
TIFFFieldInfo(NTD_MaxGrayValue, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "MaxGrayValue" ),
NTD_Gradient:
TIFFFieldInfo(NTD_Gradient, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "Gradient" ),
NTD_AxisIntercept:
TIFFFieldInfo(NTD_AxisIntercept, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "AxisIntercept" ),
NTD_ColorTable:
TIFFFieldInfo(NTD_ColorTable, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "ColorTable" ),
NTD_Description:
TIFFFieldInfo(NTD_Description, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Description" ),
NTD_OverflightDirection:
TIFFFieldInfo(NTD_OverflightDirection, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "OverflightDirection" ),
TIFFFieldInfo(NTD_AxisIntercept, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "AxisIntercept" ),
NTD_ColorTable:
TIFFFieldInfo(NTD_ColorTable, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "ColorTable" ),
NTD_Description:
TIFFFieldInfo(NTD_Description, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Description" ),
NTD_OverflightDirection:
TIFFFieldInfo(NTD_OverflightDirection, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "OverflightDirection" ),
NTD_GeoLatitude:
TIFFFieldInfo(NTD_GeoLatitude, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "GeoLatitude" ),
NTD_GeoLongitude:
TIFFFieldInfo(NTD_GeoLongitude, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "GeoLongitude" ),
NTD_Altitude:
TIFFFieldInfo(NTD_Altitude, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "Altitude" ),
NTD_AOSAsimuth:
TIFFFieldInfo(NTD_AOSAsimuth, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "AOSAsimuth" ),
NTD_LOSAsimuth:
TIFFFieldInfo(NTD_LOSAsimuth, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "LOSAsimuth" ),
NTD_MaxElevation:
TIFFFieldInfo(NTD_MaxElevation, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "MaxElevation" ),
NTD_OverflightTime:
TIFFFieldInfo(NTD_OverflightTime, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "OverflightTime" ),
TIFFFieldInfo(NTD_YMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMinimum" ),
NTD_YMaximum:
TIFFFieldInfo(NTD_YMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMaximum" ),
NTD_Projection:
TIFFFieldInfo(NTD_Projection, 5, 5, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Projection" ), # 4 chars + NUL character
NTD_MeridianWest:
TIFFFieldInfo(NTD_MeridianWest, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "MeridianWest" ),
NTD_MeridianEast:
TIFFFieldInfo(NTD_MeridianEast, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "MeridianEast" ),
NTD_EarthRadiusLarge:
TIFFFieldInfo(NTD_EarthRadiusLarge, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "EarthRadiusLarge" ),
NTD_EarthRadiusSmall:
TIFFFieldInfo(NTD_EarthRadiusSmall, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "EarthRadiusSmall" ),
NTD_GeodeticDate:
TIFFFieldInfo(NTD_GeodeticDate, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "GeodeticDate" ), # Max 20
NTD_ReferenceLatitude1:
TIFFFieldInfo(NTD_ReferenceLatitude1, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "ReferenceLatitude1" ),
NTD_ReferenceLatitude2:
TIFFFieldInfo(NTD_ReferenceLatitude2, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "ReferenceLatitude2" ),
NTD_CentralMeridian:
TIFFFieldInfo(NTD_CentralMeridian, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "CentralMeridian" ),
TIFFFieldInfo(NTD_HeaderVersion, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "HeaderVersion" ),
NTD_FileName:
TIFFFieldInfo(NTD_FileName, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "FileName" ),
NTD_DataType:
TIFFFieldInfo(NTD_DataType, 5, 5, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "DataType" ), # 4 chars + NUL character
NTD_SatelliteNumber:
TIFFFieldInfo(NTD_SatelliteNumber, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "SatelliteNumber" ),
NTD_ColorDepth:
TIFFFieldInfo(NTD_ColorDepth, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "ColorDepth" ),
NTD_DataSource:
TIFFFieldInfo(NTD_DataSource, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "DataSource" ),
NTD_XMinimum:
TIFFFieldInfo(NTD_XMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMinimum" ),
NTD_XMaximum:
TIFFFieldInfo(NTD_XMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMaximum" ),
NTD_YMinimum:
TIFFFieldInfo(NTD_YMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMinimum" ),
NTD_YMaximum:
TIFFFieldInfo(NTD_YMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMaximum" ),
NTD_Projection:
TIFFFieldInfo(NTD_Projection, 5, 5, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Projection" ), # 4 chars + NUL character
TIFFFieldInfo(NTD_DataType, 5, 5, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "DataType" ), # 4 chars + NUL character
NTD_SatelliteNumber:
TIFFFieldInfo(NTD_SatelliteNumber, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "SatelliteNumber" ),
NTD_ColorDepth:
TIFFFieldInfo(NTD_ColorDepth, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "ColorDepth" ),
NTD_DataSource:
TIFFFieldInfo(NTD_DataSource, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "DataSource" ),
NTD_XMinimum:
TIFFFieldInfo(NTD_XMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMinimum" ),
NTD_XMaximum:
TIFFFieldInfo(NTD_XMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "XMaximum" ),
NTD_YMinimum:
TIFFFieldInfo(NTD_YMinimum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMinimum" ),
NTD_YMaximum:
TIFFFieldInfo(NTD_YMaximum, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "YMaximum" ),
NTD_Projection:
TIFFFieldInfo(NTD_Projection, 5, 5, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Projection" ), # 4 chars + NUL character
NTD_MeridianWest:
TIFFFieldInfo(NTD_MeridianWest, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "MeridianWest" ),
NTD_MeridianEast:
TIFFFieldInfo(NTD_MeridianEast, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "MeridianEast" ),
TIFFFieldInfo(NTD_CentralMeridian, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "CentralMeridian" ),
NTD_PhysicValue:
TIFFFieldInfo(NTD_PhysicValue, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "PhysicValue" ), # Max 10
NTD_PhysicUnit:
TIFFFieldInfo(NTD_PhysicUnit, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "PhysicUnit" ), # Max 10
NTD_MinGrayValue:
TIFFFieldInfo(NTD_MinGrayValue, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "MinGrayValue" ),
NTD_MaxGrayValue:
TIFFFieldInfo(NTD_MaxGrayValue, 1, 1, TIFFDataType.TIFF_SLONG,
FIELD_CUSTOM, True, False, "MaxGrayValue" ),
NTD_Gradient:
TIFFFieldInfo(NTD_Gradient, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "Gradient" ),
NTD_AxisIntercept:
TIFFFieldInfo(NTD_AxisIntercept, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "AxisIntercept" ),
NTD_ColorTable:
TIFFFieldInfo(NTD_ColorTable, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "ColorTable" ),
NTD_Description:
TIFFFieldInfo(NTD_Description, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "Description" ),
NTD_OverflightDirection:
TIFFFieldInfo(NTD_OverflightDirection, -1, -1, TIFFDataType.TIFF_ASCII,
FIELD_CUSTOM, True, False, "OverflightDirection" ),
NTD_GeoLatitude:
TIFFFieldInfo(NTD_GeoLatitude, 1, 1, TIFFDataType.TIFF_FLOAT,
FIELD_CUSTOM, True, False, "GeoLatitude" ),