本文整理了Java中org.geotools.util.factory.Hints
类的一些代码示例,展示了Hints
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Hints
类的具体详情如下:
包路径:org.geotools.util.factory.Hints
类名称:Hints
[英]A set of hints providing control on factories to be used. Those hints are typically used by renderers or org.opengis.coverage.processing.GridCoverageProcessor for example. They provides a way to control low-level details. Example:
CoordinateOperationFactory myFactory = &hellip
Hints hints = new Hints(Hints.
#COORDINATE_OPERATION_FACTORY, myFactory);
AbstractProcessor processor = new DefaultProcessor(hints);
Any hint mentioned by this class is considered to be API, failure to make use of a hint by a GeoTools factory implementation is considered a bug (as it will prevent the use of this library for application specific tasks).
When hints are used in conjunction with the FactoryRegistry we have the complete geotools plugin system. By using hints to allow application code to effect service discovery we allow client code to retarget the geotools library for their needs.
[中]对要使用的工厂提供控制的一组提示。这些提示通常由渲染器或组织使用。opengis。新闻报道处理。例如GridCoverage处理器。它们提供了一种控制低级细节的方法。例子:
CoordinateOperationFactory myFactory = &hellip
Hints hints = new Hints(Hints.
#COORDINATE_OPERATION_FACTORY, myFactory);
AbstractProcessor processor = new DefaultProcessor(hints);
此类提到的任何提示都被视为API,如果GeoTools工厂实现未能使用提示,则被视为错误(因为它将阻止将此库用于特定于应用程序的任务)。
当提示与FactoryRegistry结合使用时,我们就有了完整的geotools插件系统。通过使用提示允许应用程序代码影响服务发现,我们允许客户端代码根据其需要重新定位geotools库。
代码示例来源:origin: geoserver/geoserver
if (defHints != null && defHints.containsKey(Hints.EXECUTOR_SERVICE)) {
executor = (ThreadPoolExecutor) defHints.get(Hints.EXECUTOR_SERVICE);
代码示例来源:origin: geoserver/geoserver
Hints localHints = new Hints(hints);
if (dynamicAlphaSource != null
&& mergedBands.size() == 1
if (coverages.size() > 1) {
Hints localHints = new Hints(hints);
if (dynamicAlphaSource != null) {
int currentBandCount = countBands(coverages);
localHints.put(
JAI.KEY_COLOR_MODEL_FACTORY,
new ColorModelFactory() {
代码示例来源:origin: geoserver/geoserver
/**
* Returns the reader hints based on the current WCS configuration
*
* @param wcs
*/
public static Hints getReaderHints(WCSInfo wcs) {
Hints hints = new Hints();
hints.add(new Hints(Hints.LENIENT_DATUM_SHIFT, Boolean.TRUE));
if (wcs.getOverviewPolicy() == null) {
hints.add(new Hints(Hints.OVERVIEW_POLICY, OverviewPolicy.IGNORE));
} else {
hints.add(new Hints(Hints.OVERVIEW_POLICY, wcs.getOverviewPolicy()));
}
hints.put(
Hints.DECIMATION_POLICY,
wcs.isSubsamplingEnabled() ? DecimationPolicy.ALLOW : DecimationPolicy.DISALLOW);
return hints;
}
代码示例来源:origin: geoserver/geoserver
public GridCoverageReader getGridCoverageReader(ProgressListener listener, Hints hints)
throws IOException {
// manage projection policy
if (this.projectionPolicy == ProjectionPolicy.FORCE_DECLARED) {
final Hints crsHints =
new Hints(Hints.DEFAULT_COORDINATE_REFERENCE_SYSTEM, this.getCRS());
if (hints != null) hints.putAll(crsHints);
else hints = crsHints;
}
return catalog.getResourcePool().getGridCoverageReader(this, nativeCoverageName, hints);
}
代码示例来源:origin: geoserver/geoserver
@BeforeClass
public static final void setUpReferencing() throws Exception {
// do we need to reset the referencing subsystem and reorient it with lon/lat order?
if (System.getProperty("org.geotools.referencing.forceXY") == null
|| !"http".equals(Hints.getSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING))) {
System.setProperty("org.geotools.referencing.forceXY", "true");
Hints.putSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING, "http");
}
}
代码示例来源:origin: geotools/geotools
private Hints updateRepositoryHints(CatalogBuilderConfiguration configuration, Hints hints) {
ImageMosaicReader reader = getImageMosaicReader(hints);
if (reader != null) {
Hints readerHints = reader.getHints();
if (readerHints != null && readerHints.containsKey(Hints.REPOSITORY)) {
hints.add(new Hints(Hints.REPOSITORY, readerHints.get(Hints.REPOSITORY)));
}
}
return hints;
}
代码示例来源:origin: geoserver/geoserver
@Test
public void testStartupListener() {
Hints hints = GeoTools.getDefaultHints();
final Object factory = hints.get(Hints.GRID_COVERAGE_FACTORY);
assertNotNull(factory);
assertTrue(factory instanceof GridCoverageFactory);
final Object datumShift = hints.get(Hints.LENIENT_DATUM_SHIFT);
assertNotNull(datumShift);
assertTrue((Boolean) datumShift);
final Object tolerance = hints.get(Hints.COMPARISON_TOLERANCE);
assertNotNull(tolerance);
assertEquals(CUSTOM_TOLERANCE, (Double) tolerance, 1e-12d);
final Object filterFactory = hints.get(Hints.FILTER_FACTORY);
assertNotNull(filterFactory);
assertTrue(filterFactory instanceof FilterFactory);
final Object styleFactory = hints.get(Hints.STYLE_FACTORY);
assertNotNull(styleFactory);
assertTrue(styleFactory instanceof StyleFactory);
final Object featureFactory = hints.get(Hints.FEATURE_FACTORY);
assertNotNull(featureFactory);
assertTrue(featureFactory instanceof FeatureFactory);
final Object executorService = hints.get(Hints.EXECUTOR_SERVICE);
assertNotNull(executorService);
assertTrue(executorService instanceof ExecutorService);
}
代码示例来源:origin: geotools/geotools
/**
* Gets the max amount amount of features to keep in memory from the query and system hints
*
* @param query
* @return
*/
static int getMaxFeatures(Query query) {
Hints hints = null;
if (query != null) {
hints = query.getHints();
}
int maxFeatures = 1000;
if (hints != null && hints.get(Hints.MAX_MEMORY_SORT) != null) {
maxFeatures = (Integer) hints.get(Hints.MAX_MEMORY_SORT);
} else if (Hints.getSystemDefault(Hints.MAX_MEMORY_SORT) != null) {
maxFeatures = (Integer) Hints.getSystemDefault(Hints.MAX_MEMORY_SORT);
}
return maxFeatures;
}
代码示例来源:origin: geoserver/geoserver
public int removeGranules(Filter filter) {
return removeGranules(filter, new Hints());
}
代码示例来源:origin: geoserver/geoserver
hints = new Hints(hints);
} else {
hints = new Hints();
hints.add(new RenderingHints(Hints.REPOSITORY, repository));
if (coverageExecutor != null) {
hints.add(new RenderingHints(Hints.EXECUTOR_SERVICE, coverageExecutor));
代码示例来源:origin: geotools/geotools
public void testMixQueryAll() {
// mixing Query.ALL equivalents with extra hints did not work
Query firstQuery = new Query(Query.ALL);
Query secondQuery = new Query(Query.ALL);
firstQuery.setHints(new Hints(Hints.USE_PROVIDED_FID, Boolean.TRUE));
secondQuery.setHints(new Hints(Hints.FEATURE_2D, Boolean.TRUE));
Query mixed = DataUtilities.mixQueries(firstQuery, secondQuery, "mixer");
assertEquals(2, mixed.getHints().size());
assertTrue((Boolean) mixed.getHints().get(Hints.USE_PROVIDED_FID));
assertTrue((Boolean) mixed.getHints().get(Hints.FEATURE_2D));
}
代码示例来源:origin: geotools/geotools
if (this.hints == null) this.hints = new Hints();
if (hints != null) {
hints.remove(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER);
this.hints.add(hints);
this.hints.add(new Hints(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.TRUE));
代码示例来源:origin: geotools/geotools
/**
* Merges the wrapper hints with the query ones, making sure not to overwrite the query ones
*
* @param q
* @return
*/
protected Query mergeHints(Query q) {
if (this.hints == null || this.hints.isEmpty()) {
return q;
}
Query clone = new Query(q);
Hints hints = clone.getHints();
if (hints == null || hints.isEmpty()) {
clone.setHints(this.hints);
} else {
for (Entry<Object, Object> entry : this.hints.entrySet()) {
if (!hints.containsKey(entry.getKey())) {
hints.put(entry.getKey(), entry.getValue());
}
}
}
return clone;
}
代码示例来源:origin: geoserver/geoserver
Object o = Hints.getSystemDefault(Hints.EXECUTOR_SERVICE);
if (o != null && o instanceof ExecutorService) {
final ThreadPoolExecutor executor = (ThreadPoolExecutor) o;
代码示例来源:origin: geoserver/geoserver
private void addAlphaColorModelHint(Hints localHints, int currentBandCount) {
ImageLayout layout = new ImageLayout();
ColorModel alphaModel = getColorModelWithAlpha(currentBandCount);
layout.setColorModel(alphaModel);
localHints.put(JAI.KEY_IMAGE_LAYOUT, layout);
}
代码示例来源:origin: geotools/geotools
boolean update = false;
if (auxiliaryFilePath != null) {
hints.add(new RenderingHints(Utils.AUXILIARY_FILES_PATH, auxiliaryFilePath));
update = true;
hints.add(
new RenderingHints(Utils.AUXILIARY_DATASTORE_PATH, auxiliaryDatastorePath));
update = true;
&& !hints.containsKey(Utils.PARENT_DIR)) {
String parentDir = null;
if (parentReader.parentDirectory != null) {
hints.add(new RenderingHints(Utils.PARENT_DIR, parentDir));
代码示例来源:origin: geotools/geotools
/** */
private void setInterpolationHints() {
if (interpolation instanceof InterpolationNearest) {
this.hints.add(new RenderingHints(JAI.KEY_REPLACE_INDEX_COLOR_MODEL, Boolean.FALSE));
this.hints.add(new RenderingHints(JAI.KEY_TRANSFORM_ON_COLORMAP, Boolean.TRUE));
} else {
this.hints.add(new RenderingHints(JAI.KEY_REPLACE_INDEX_COLOR_MODEL, Boolean.TRUE));
this.hints.add(new RenderingHints(JAI.KEY_TRANSFORM_ON_COLORMAP, Boolean.FALSE));
}
}
代码示例来源:origin: geotools/geotools
public void testSRSAxisOrder2() throws Exception {
try {
Hints.putSystemDefault(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.TRUE);
CoordinateReferenceSystem crsEN = CRS.decode("EPSG:4326");
assertEquals(AxisOrder.EAST_NORTH, CRS.getAxisOrder(crsEN));
CoordinateReferenceSystem crsNE = CRS.decode("urn:ogc:def:crs:EPSG::4326");
assertEquals(AxisOrder.NORTH_EAST, CRS.getAxisOrder(crsNE));
} finally {
Hints.removeSystemDefault(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER);
}
}
代码示例来源:origin: geotools/geotools
/** Tests the {@link HTTP_AuthorityFactory#defaultAxisOrderHints} method. */
@Test
public void testAxisOrderHints() {
// The following are required for proper execution of the remaining of this test.
assertNull(Hints.getSystemDefault(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER));
assertNull(Hints.getSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING));
// Standard behavior should be to set FORCE_LONGITUDE_FIRST_AXIS_ORDER to false.
assertFalse(HTTP_AuthorityFactory.defaultAxisOrderHints(null, "http"));
try {
// The hints should be ignored.
Hints.putSystemDefault(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER, Boolean.TRUE);
assertFalse(HTTP_AuthorityFactory.defaultAxisOrderHints(null, "http"));
// The hints should be honored.
Hints.putSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING, "http");
assertTrue(HTTP_AuthorityFactory.defaultAxisOrderHints(null, "http"));
// The hints should be ignored.
Hints.putSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING, "urn");
assertFalse(HTTP_AuthorityFactory.defaultAxisOrderHints(null, "http"));
// The hints should be honored.
Hints.putSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING, "http, urn");
assertTrue(HTTP_AuthorityFactory.defaultAxisOrderHints(null, "http"));
// The hints should be honored.
Hints.putSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING, "urn, http");
assertTrue(HTTP_AuthorityFactory.defaultAxisOrderHints(null, "http"));
} finally {
Hints.removeSystemDefault(Hints.FORCE_LONGITUDE_FIRST_AXIS_ORDER);
Hints.removeSystemDefault(Hints.FORCE_AXIS_ORDER_HONORING);
}
}
代码示例来源:origin: geotools/geotools
/**
* Set the main parameters of this coverage request, getting basic information from the reader.
*
* @param reader a {@link BaseGridCoverage2DReader} from where to get basic coverage properties
* as well as basic parameters to be used by the incoming read operations.
*/
private void setBaseParameters(final BaseGridCoverage2DReader reader) {
input = reader.getInputFile();
this.coverageEnvelope = reader.getOriginalEnvelope().clone();
this.coverageRasterArea = ((GridEnvelope2D) reader.getOriginalGridRange());
this.coverageCRS = reader.getCoordinateReferenceSystem();
this.coverageName = reader.getCoverageName();
this.coverageGridToWorld2D = (MathTransform2D) reader.getRaster2Model();
this.coverageFullResolution = reader.getHighestRes();
this.hints = reader.getHints().clone();
this.multiLevelRoi = reader.getMultiLevelRoi();
if (layout != null) {
this.hints.add(new RenderingHints(JAI.KEY_IMAGE_LAYOUT, layout));
}
}
内容来源于网络,如有侵权,请联系作者删除!