Package org.esa.snap.core.util
Class FeatureUtils
- java.lang.Object
-
- org.esa.snap.core.util.FeatureUtils
-
public class FeatureUtils extends Object
Unstable API. Use at own risk.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
FeatureUtils.FeatureCrsProvider
-
Constructor Summary
Constructors Constructor Description FeatureUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.geotools.feature.DefaultFeatureCollection
clipCollection(org.geotools.feature.FeatureCollection<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> sourceCollection, org.opengis.referencing.crs.CoordinateReferenceSystem defaultSourceCrs, org.locationtech.jts.geom.Geometry clipGeometry, org.opengis.referencing.crs.CoordinateReferenceSystem clipCrs, String targetID, org.opengis.referencing.crs.CoordinateReferenceSystem targetCrs, ProgressMonitor pm)
Clips the givensourceCollection
against theclipGeometry
and reprojects the clipped features to the targetCrs.static org.geotools.feature.DefaultFeatureCollection
clipFeatureCollectionToProductBounds(org.geotools.feature.FeatureCollection<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> featureCollection, Product product, FeatureUtils.FeatureCrsProvider crsProvider, ProgressMonitor pm)
static org.geotools.feature.DefaultFeatureCollection
createFeatureCollection(URL url, org.opengis.referencing.crs.CoordinateReferenceSystem targetCrs, org.locationtech.jts.geom.Geometry clipGeometry)
static String
createFeatureId(int base)
static String
createFeatureTypeName(String defaultGeometry)
static org.locationtech.jts.geom.Geometry
createGeoBoundaryPolygon(Product product)
static org.geotools.data.FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
getFeatureSource(URL url)
static org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer
getTransform(org.opengis.referencing.crs.CoordinateReferenceSystem sourceCrs, org.opengis.referencing.crs.CoordinateReferenceSystem targetCrs)
static org.geotools.feature.FeatureCollection<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature>
loadFeatureCollectionFromShapefile(File shapefile)
static org.geotools.feature.DefaultFeatureCollection
loadShapefileForProduct(File file, Product product, FeatureUtils.FeatureCrsProvider crsProvider, ProgressMonitor pm)
-
-
-
Method Detail
-
createFeatureCollection
public static org.geotools.feature.DefaultFeatureCollection createFeatureCollection(URL url, org.opengis.referencing.crs.CoordinateReferenceSystem targetCrs, org.locationtech.jts.geom.Geometry clipGeometry) throws IOException
- Throws:
IOException
-
getFeatureSource
public static org.geotools.data.FeatureSource<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> getFeatureSource(URL url) throws IOException
- Throws:
IOException
-
loadShapefileForProduct
public static org.geotools.feature.DefaultFeatureCollection loadShapefileForProduct(File file, Product product, FeatureUtils.FeatureCrsProvider crsProvider, ProgressMonitor pm) throws IOException
- Throws:
IOException
-
clipFeatureCollectionToProductBounds
public static org.geotools.feature.DefaultFeatureCollection clipFeatureCollectionToProductBounds(org.geotools.feature.FeatureCollection<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> featureCollection, Product product, FeatureUtils.FeatureCrsProvider crsProvider, ProgressMonitor pm)
-
loadFeatureCollectionFromShapefile
public static org.geotools.feature.FeatureCollection<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> loadFeatureCollectionFromShapefile(File shapefile) throws IOException
- Throws:
IOException
-
createFeatureId
public static String createFeatureId(int base)
-
clipCollection
public static org.geotools.feature.DefaultFeatureCollection clipCollection(org.geotools.feature.FeatureCollection<org.opengis.feature.simple.SimpleFeatureType,org.opengis.feature.simple.SimpleFeature> sourceCollection, org.opengis.referencing.crs.CoordinateReferenceSystem defaultSourceCrs, org.locationtech.jts.geom.Geometry clipGeometry, org.opengis.referencing.crs.CoordinateReferenceSystem clipCrs, String targetID, org.opengis.referencing.crs.CoordinateReferenceSystem targetCrs, ProgressMonitor pm)
Clips the givensourceCollection
against theclipGeometry
and reprojects the clipped features to the targetCrs.- Parameters:
sourceCollection
- the feature collection to be clipped and reprojected. If it does not have an associated CRS, the one specified bydefaultSourceCrs
is used.defaultSourceCrs
- ifsourceCollection
does not have an associated CRS, this one is used.clipGeometry
- the geometry used for clippingclipCrs
- the CRS of theclipGeometry
targetID
- the ID of the resultingFeatureCollection
. Ifnull
the ID of the sourceCollection is used.targetCrs
- the CRS theFeatureCollection
is reprojected to. Ifnull
no reprojection is applied.- Returns:
- the clipped and possibly reprojected
FeatureCollection
- Throws:
IllegalStateException
- if thesourceCollection
has no associated CRS anddefaultSourceCrs
isnull
-
getTransform
public static org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer getTransform(org.opengis.referencing.crs.CoordinateReferenceSystem sourceCrs, org.opengis.referencing.crs.CoordinateReferenceSystem targetCrs)
-
createGeoBoundaryPolygon
public static org.locationtech.jts.geom.Geometry createGeoBoundaryPolygon(Product product)
-
-