001: package it.geosolutions.imageio.plugins.jhdf.aps;
002:
003: import javax.imageio.ImageTypeSpecifier;
004: import javax.imageio.metadata.IIOMetadataFormatImpl;
005:
006: public class APSHDFStreamMetadataFormat extends IIOMetadataFormatImpl {
007:
008: public APSHDFStreamMetadataFormat() {
009: super (APSStreamMetadata.nativeMetadataFormatName,
010: IIOMetadataFormatImpl.CHILD_POLICY_ALL);
011: addElement("StandardAPSAttributes",
012: APSStreamMetadata.nativeMetadataFormatName,
013: CHILD_POLICY_ALL);
014:
015: addElement("FileAttributes", "StandardAPSAttributes",
016: CHILD_POLICY_EMPTY);
017: addAttribute("FileAttributes", APSProperties.STD_FA_FILE,
018: DATATYPE_STRING, false, null);
019: addAttribute("FileAttributes",
020: APSProperties.STD_FA_FILECLASSIFICATION,
021: DATATYPE_STRING, true, null);
022: addAttribute("FileAttributes", APSProperties.STD_FA_FILESTATUS,
023: DATATYPE_STRING, false, null);
024: addAttribute("FileAttributes", APSProperties.STD_FA_FILETITLE,
025: DATATYPE_STRING, false, null);
026: addAttribute("FileAttributes",
027: APSProperties.STD_FA_FILEVERSION, DATATYPE_STRING,
028: false, null);
029: addAttribute("FileAttributes",
030: APSProperties.STD_FA_CREATEAGENCY, DATATYPE_STRING,
031: false, null);
032: addAttribute("FileAttributes",
033: APSProperties.STD_FA_CREATESOFTWARE, DATATYPE_STRING,
034: false, null);
035: addAttribute("FileAttributes",
036: APSProperties.STD_FA_CREATEPLATFORM, DATATYPE_STRING,
037: false, null);
038: addAttribute("FileAttributes", APSProperties.STD_FA_CREATETIME,
039: DATATYPE_STRING, false, null);
040: addAttribute("FileAttributes", APSProperties.STD_FA_CREATEUSER,
041: DATATYPE_STRING, false, null);
042:
043: addElement("TimeAttributes", "StandardAPSProperties",
044: CHILD_POLICY_EMPTY);
045: addAttribute("TimeAttributes", APSProperties.STD_TA_TIMESTART,
046: DATATYPE_STRING, true, null);
047: addAttribute("TimeAttributes",
048: APSProperties.STD_TA_TIMESTARTYEAR, DATATYPE_INTEGER,
049: true, null);
050: addAttribute("TimeAttributes",
051: APSProperties.STD_TA_TIMESTARTDAY, DATATYPE_INTEGER,
052: true, null);
053: addAttribute("TimeAttributes",
054: APSProperties.STD_TA_TIMESTARTTIME, DATATYPE_INTEGER,
055: true, null);
056: addAttribute("TimeAttributes", APSProperties.STD_TA_TIMEEND,
057: DATATYPE_STRING, true, null);
058: addAttribute("TimeAttributes",
059: APSProperties.STD_TA_TIMEENDYEAR, DATATYPE_INTEGER,
060: true, null);
061: addAttribute("TimeAttributes", APSProperties.STD_TA_TIMEENDDAY,
062: DATATYPE_INTEGER, true, null);
063: addAttribute("TimeAttributes",
064: APSProperties.STD_TA_TIMEENDTIME, DATATYPE_INTEGER,
065: true, null);
066: addAttribute("TimeAttributes",
067: APSProperties.STD_TA_TIMEDAYNIGHT, DATATYPE_STRING,
068: true, null);
069:
070: addElement("SensorAttributes", "StandardAPSProperties",
071: CHILD_POLICY_EMPTY);
072: addAttribute("SensorAttributes", APSProperties.STD_SA_SENSOR,
073: DATATYPE_STRING, true, null);
074: addAttribute("SensorAttributes",
075: APSProperties.STD_SA_SENSORPLATFORM, DATATYPE_INTEGER,
076: true, null);
077: addAttribute("SensorAttributes",
078: APSProperties.STD_SA_SENSORAGENCY, DATATYPE_INTEGER,
079: true, null);
080: addAttribute("SensorAttributes",
081: APSProperties.STD_SA_SENSORTYPE, DATATYPE_INTEGER,
082: true, null);
083: addAttribute("SensorAttributes",
084: APSProperties.STD_SA_SENSORSPECTRUM, DATATYPE_STRING,
085: true, null);
086: addAttribute("SensorAttributes",
087: APSProperties.STD_SA_SENSORNUMBEROFBANDS,
088: DATATYPE_INTEGER, true, null);
089: addAttribute("SensorAttributes",
090: APSProperties.STD_SA_SENSORBANDUNITS, DATATYPE_INTEGER,
091: true, null);
092: addAttribute("SensorAttributes",
093: APSProperties.STD_SA_SENSORBANDS, DATATYPE_INTEGER,
094: true, null);
095: addAttribute("SensorAttributes",
096: APSProperties.STD_SA_SENSORBANDWIDTHS, DATATYPE_STRING,
097: true, null);
098: addAttribute("SensorAttributes",
099: APSProperties.STD_SA_SENSORNOMINALALTITUDEINKM,
100: DATATYPE_STRING, true, null);
101: addAttribute("SensorAttributes",
102: APSProperties.STD_SA_SENSORSCANWIDTHINKM,
103: DATATYPE_STRING, true, null);
104: addAttribute("SensorAttributes",
105: APSProperties.STD_SA_SENSORRESOLUTIONINKM,
106: DATATYPE_STRING, true, null);
107: addAttribute("SensorAttributes",
108: APSProperties.STD_SA_SENSORPLATFORMTYPE,
109: DATATYPE_STRING, true, null);
110:
111: addElement("FileProductsAttributes",
112: APSStreamMetadata.nativeMetadataFormatName,
113: CHILD_POLICY_SOME);
114: addElement("InputParameterAttributes",
115: "FileProductsAttributes", CHILD_POLICY_EMPTY);
116: addAttribute("InputParameterAttributes",
117: APSProperties.PFA_IPA_INPUTCALIBRATIONFILE,
118: DATATYPE_STRING, false, null);
119: addAttribute("InputParameterAttributes",
120: APSProperties.PFA_IPA_INPUTPARAMETER, DATATYPE_STRING,
121: false, null);
122: addAttribute("InputParameterAttributes",
123: APSProperties.PFA_IPA_INPUTMASKSINT, DATATYPE_STRING,
124: false, null);
125: addAttribute("InputParameterAttributes",
126: APSProperties.PFA_IPA_INPUTMASKS, DATATYPE_STRING,
127: false, null);
128: addAttribute("InputParameterAttributes",
129: APSProperties.PFA_IPA_PRODLIST, DATATYPE_STRING, false,
130: null);
131: addAttribute("InputParameterAttributes",
132: APSProperties.PFA_IPA_PROCESSINGVERSION,
133: DATATYPE_STRING, false, null);
134:
135: addElement("NavigationAttributes", "FileProductsAttributes",
136: CHILD_POLICY_EMPTY);
137: addAttribute("NavigationAttributes",
138: APSProperties.PFA_NA_NAVTYPE, DATATYPE_STRING, false,
139: null);
140: addAttribute("NavigationAttributes",
141: APSProperties.PFA_NA_MAPPROJECTIONSYSTEM,
142: DATATYPE_STRING, false, null);
143: addAttribute("NavigationAttributes",
144: APSProperties.PFA_NA_MAPPROJECTION, DATATYPE_STRING,
145: false, null);
146: addAttribute("NavigationAttributes",
147: APSProperties.PFA_NA_MAPPEDUPERLEFT, DATATYPE_STRING,
148: false, null);
149: addAttribute("NavigationAttributes",
150: APSProperties.PFA_NA_MAPPEDUPPERRIGHT, DATATYPE_STRING,
151: false, null);
152: addAttribute("NavigationAttributes",
153: APSProperties.PFA_NA_MAPPEDLOWERLEFT, DATATYPE_STRING,
154: false, null);
155: addAttribute("NavigationAttributes",
156: APSProperties.PFA_NA_MAPPEDLOWERRIGHT, DATATYPE_STRING,
157: false, null);
158:
159: addElement("InputGeographicalCoverageAttributes",
160: "FileProductsAttributes", CHILD_POLICY_EMPTY);
161: addAttribute("InputGeographicalCoverageAttributes",
162: APSProperties.PFA_IGCA_LOCALEUPPERLEFT,
163: DATATYPE_STRING, false, null);
164: addAttribute("InputGeographicalCoverageAttributes",
165: APSProperties.PFA_IGCA_LOCALEUPPERRIGHT,
166: DATATYPE_STRING, false, null);
167: addAttribute("InputGeographicalCoverageAttributes",
168: APSProperties.PFA_IGCA_LOCALELOWERLEFT,
169: DATATYPE_STRING, false, null);
170: addAttribute("InputGeographicalCoverageAttributes",
171: APSProperties.PFA_IGCA_LOCALELOWERRIGHT,
172: DATATYPE_STRING, false, null);
173: addAttribute("InputGeographicalCoverageAttributes",
174: APSProperties.PFA_IGCA_LOCALENWCORNER, DATATYPE_STRING,
175: false, null);
176: addAttribute("InputGeographicalCoverageAttributes",
177: APSProperties.PFA_IGCA_LOCALENECORNER, DATATYPE_STRING,
178: false, null);
179: addAttribute("InputGeographicalCoverageAttributes",
180: APSProperties.PFA_IGCA_LOCALESWCORNER, DATATYPE_STRING,
181: false, null);
182: addAttribute("InputGeographicalCoverageAttributes",
183: APSProperties.PFA_IGCA_LOCALESECORNER, DATATYPE_STRING,
184: false, null);
185:
186: addElement("Projection",
187: APSStreamMetadata.nativeMetadataFormatName,
188: CHILD_POLICY_EMPTY);
189: addAttribute("Projection", "Name", DATATYPE_STRING, true, null);
190: addAttribute("Projection", "FullName", DATATYPE_STRING, true,
191: null);
192: addAttribute("Projection", "Code", DATATYPE_STRING, true, null);
193: addAttribute("Projection", "Projection", DATATYPE_STRING, true,
194: null);
195: addAttribute("Projection", "Zone", DATATYPE_STRING, true, null);
196: addAttribute("Projection", "Datum", DATATYPE_INTEGER, true,
197: null);
198: addAttribute("Projection", "param0", DATATYPE_FLOAT, true, null);
199: addAttribute("Projection", "param1", DATATYPE_FLOAT, true, null);
200: addAttribute("Projection", "param2", DATATYPE_FLOAT, true, null);
201: addAttribute("Projection", "param3", DATATYPE_FLOAT, true, null);
202: addAttribute("Projection", "param4", DATATYPE_FLOAT, true, null);
203: addAttribute("Projection", "param5", DATATYPE_FLOAT, true, null);
204: addAttribute("Projection", "param6", DATATYPE_FLOAT, true, null);
205: addAttribute("Projection", "param7", DATATYPE_FLOAT, true, null);
206: addAttribute("Projection", "param8", DATATYPE_FLOAT, true, null);
207: addAttribute("Projection", "param9", DATATYPE_FLOAT, true, null);
208: addAttribute("Projection", "param10", DATATYPE_FLOAT, true,
209: null);
210: addAttribute("Projection", "param11", DATATYPE_FLOAT, true,
211: null);
212: addAttribute("Projection", "param12", DATATYPE_FLOAT, true,
213: null);
214: addAttribute("Projection", "param13", DATATYPE_FLOAT, true,
215: null);
216: addAttribute("Projection", "param14", DATATYPE_FLOAT, true,
217: null);
218: addAttribute("Projection", "Width", DATATYPE_FLOAT, true, null);
219: addAttribute("Projection", "Height", DATATYPE_FLOAT, true, null);
220: addAttribute("Projection", "Longitude_1", DATATYPE_FLOAT, true,
221: null);
222: addAttribute("Projection", "Latitude_1", DATATYPE_FLOAT, true,
223: null);
224: addAttribute("Projection", "Pixel_1", DATATYPE_FLOAT, true,
225: null);
226: addAttribute("Projection", "Line_1", DATATYPE_FLOAT, true, null);
227: addAttribute("Projection", "Longitude_2", DATATYPE_FLOAT, true,
228: null);
229: addAttribute("Projection", "Latitude_2", DATATYPE_FLOAT, true,
230: null);
231: addAttribute("Projection", "Pixel_2", DATATYPE_FLOAT, true,
232: null);
233: addAttribute("Projection", "Line_2", DATATYPE_FLOAT, true, null);
234: addAttribute("Projection", "Delta", DATATYPE_FLOAT, true, null);
235: addAttribute("Projection", "Aspect", DATATYPE_FLOAT, true, null);
236:
237: addElement("Products",
238: APSStreamMetadata.nativeMetadataFormatName,
239: CHILD_POLICY_SEQUENCE);
240: addElement("Product", "Products", CHILD_POLICY_ALL);
241:
242: }
243:
244: public boolean canNodeAppear(String elementName,
245: ImageTypeSpecifier imageType) {
246: // @todo @task TODO
247: return true;
248: }
249: }
|