/** * Utility methods for find param by key * * @param params DOCUMENT ME! * @param key DOCUMENT ME! * @return DOCUMENT ME! */ public static ParameterValue find(ParameterValueGroup params, String key) { List list = params.values(); Iterator it = list.iterator(); ParameterDescriptor descr; ParameterValue val; while (it.hasNext()) { val = (ParameterValue) it.next(); descr = (ParameterDescriptor) val.getDescriptor(); if (key.equalsIgnoreCase(descr.getName().toString())) { return val; } } return null; }
final String readGeometryKey = AbstractGridFormat.READ_GRIDGEOMETRY2D.getName().toString(); if ((params != null) && (params.values().size() > 0)) { final List<GeneralParameterValue> elements = params.values(); for (GeneralParameterValue elem : elements) { final ParameterValue<?> val = (ParameterValue<?>) elem;
List list = params.values(); Iterator it = list.iterator(); ParameterDescriptor descr = null;
public void write(OutputStream outStream) { try { long t0 = System.currentTimeMillis(); GeoTiffWriteParams wp = new GeoTiffWriteParams(); wp.setCompressionMode(GeoTiffWriteParams.MODE_EXPLICIT); wp.setCompressionType("LZW"); ParameterValueGroup params = new GeoTiffFormat().getWriteParameters(); params.parameter(AbstractGridFormat.GEOTOOLS_WRITE_PARAMS.getName().toString()).setValue(wp); new GeoTiffWriter(outStream).write(coverage, (GeneralParameterValue[]) params.values().toArray(new GeneralParameterValue[1])); //new GeoTiffWriter(outStream).write(coverage, null); //wasn't this line writing twice and trashing compressed version? long t1 = System.currentTimeMillis(); LOG.debug("wrote geotiff in {}msec", t1-t0); } catch (Exception e) { LOG.error("exception while preparing geotiff : {}", e.getMessage()); throw new WebApplicationException(e); } } };
public void writeGeotiff(String fileName, ResultSet results) { LOG.info("writing geotiff."); float[][] imagePixelData = new float[rows][cols]; for (int row = 0; row < rows; row++) { for (int col = 0; col < cols; col++) { int index = row * cols + col; float pixel = (float) (results.results[index]); if (unitySeconds > 0) pixel /= unitySeconds; imagePixelData[row][col] = pixel; } } GridCoverage2D coverage = new GridCoverageFactory().create("OTPAnalyst", imagePixelData, refEnvelope); try { GeoTiffWriteParams wp = new GeoTiffWriteParams(); wp.setCompressionMode(GeoTiffWriteParams.MODE_EXPLICIT); wp.setCompressionType("LZW"); ParameterValueGroup params = new GeoTiffFormat().getWriteParameters(); params.parameter(AbstractGridFormat.GEOTOOLS_WRITE_PARAMS.getName().toString()).setValue(wp); GeoTiffWriter writer = new GeoTiffWriter(new File(fileName)); writer.write(coverage, (GeneralParameterValue[]) params.values().toArray(new GeneralParameterValue[1])); } catch (Exception e) { LOG.error("exception while writing geotiff.", e); } LOG.info("done writing geotiff."); }
/** Implementation of the search algorithm. The result is stored in the supplied set. */ private static void search( final GeneralParameterValue param, final String name, final int maxDepth, final Collection<Object> list) { if (maxDepth >= 0) { if (AbstractIdentifiedObject.nameMatches(param.getDescriptor(), name)) { list.add(param); } if ((maxDepth != 0) && (param instanceof ParameterValueGroup)) { for (final GeneralParameterValue value : ((ParameterValueGroup) param).values()) { search(value, name, maxDepth - 1, list); } } } }
for (final GeneralParameterValue value : group.values()) { destination = toNameValueMap(value, destination);
for (final GeneralParameterValue param : ((ParameterValueGroup) parameter).values()) { append(param);
final int numCol = numColParam.intValue(); final Matrix matrix = MatrixFactory.create(numRow, numCol); final List<GeneralParameterValue> params = parameters.values(); if (params != null) { for (final GeneralParameterValue param : params) {
private static GeneralDirectPosition getProjectionCenterLonLat( CoordinateReferenceSystem crs, GeneralDirectPosition centerPt) { // set defaults centerPt.setOrdinate(0, 0); centerPt.setOrdinate(1, 0); MapProjection projection = getMapProjection(crs); if (projection == null) { return centerPt; } for (GeneralParameterValue gpv : projection.getParameterValues().values()) { // for safety if (!(gpv instanceof ParameterValue)) { continue; } ParameterValue pv = (ParameterValue) gpv; ReferenceIdentifier pvName = pv.getDescriptor().getName(); if (MapProjection.AbstractProvider.LATITUDE_OF_ORIGIN.getName().equals(pvName)) { centerPt.setOrdinate(1, pv.doubleValue()); } else if (MapProjection.AbstractProvider.LATITUDE_OF_CENTRE.getName().equals(pvName)) { centerPt.setOrdinate(1, pv.doubleValue()); } else if (MapProjection.AbstractProvider.LONGITUDE_OF_CENTRE .getName() .equals(pvName)) { centerPt.setOrdinate(0, pv.doubleValue()); } else if (MapProjection.AbstractProvider.CENTRAL_MERIDIAN.getName().equals(pvName)) { centerPt.setOrdinate(0, pv.doubleValue()); } } return centerPt; }
/** * Copies all parameter values from {@code source} to {@code target}. A typical usage of this * method is for transfering values from an arbitrary implementation to some specific * implementation (e.g. a parameter group implementation backed by a {@link * java.awt.image.renderable.ParameterBlock} for image processing operations). * * @param source The parameters to copy. * @param target Where to copy the source parameters. * @since 2.2 */ public static void copy(final ParameterValueGroup source, final ParameterValueGroup target) { for (final GeneralParameterValue param : source.values()) { final String name = param.getDescriptor().getName().getCode(); if (param instanceof ParameterValueGroup) { copy((ParameterValueGroup) param, target.addGroup(name)); } else { target.parameter(name).setValue(((ParameterValue) param).getValue()); } } }
/** * Test method for {@link * org.geotools.referencing.operation.transform.NADCONTransform#getParameterValues()}. */ @Test public void testGetParameterValues() { ParameterValueGroup pvg = transform.getParameterValues(); // Descriptor is the same as provider's assertEquals(pvg.getDescriptor(), NADCONTransform.Provider.PARAMETERS); // One single value assertEquals(pvg.values().size(), 2); Object value = pvg.parameter("Latitude difference file").getValue(); assertTrue(value instanceof URI); assertEquals(value.toString(), STPAUL_LAS); value = pvg.parameter("Longitude difference file").getValue(); assertTrue(value instanceof URI); assertEquals(value.toString(), STPAUL_LOS); }
/** * Test method for {@link * org.geotools.referencing.operation.transform.NTv2Transform#getParameterValues()}. */ @Test public void testGetParameterValues() { ParameterValueGroup pvg = transform.getParameterValues(); // Descriptor is the same as provider's assertEquals(pvg.getDescriptor(), NTv2Transform.Provider.PARAMETERS); // One single value assertEquals(pvg.values().size(), 1); // Value accessible through its identifiers Object value = pvg.parameter("8656").getValue(); assertTrue(value instanceof URI); assertEquals(value.toString(), TEST_GRID); value = pvg.parameter("Latitude and longitude difference file").getValue(); assertTrue(value instanceof URI); assertEquals(value.toString(), TEST_GRID); }
search = group.getDescriptor().descriptor(name); if (search instanceof ParameterDescriptor) { for (final GeneralParameterValue candidate : group.values()) { if (search.equals(candidate.getDescriptor())) { return Parameters.cast((ParameterValue) candidate, param.getValueClass());
for (final GeneralParameterValue value : values.values()) { final String name = value.getDescriptor().getName().getCode(); if (value instanceof ParameterValueGroup) {
formatter.append(baseCRS); formatter.append(conversionFromBase.getMethod()); for (final GeneralParameterValue param : conversionFromBase.getParameterValues().values()) { final GeneralParameterDescriptor desc = param.getDescriptor(); String name;