本文整理汇总了Java中mil.nga.wkb.geom.GeometryCollection类的典型用法代码示例。如果您正苦于以下问题:Java GeometryCollection类的具体用法?Java GeometryCollection怎么用?Java GeometryCollection使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GeometryCollection类属于mil.nga.wkb.geom包,在下文中一共展示了GeometryCollection类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: readGeometryCollection
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Read a Geometry Collection
*
* @param reader
* @param hasZ
* @param hasM
* @return geometry collection
*/
public static GeometryCollection<Geometry> readGeometryCollection(
ByteReader reader, boolean hasZ, boolean hasM) {
GeometryCollection<Geometry> geometryCollection = new GeometryCollection<Geometry>(
hasZ, hasM);
int numGeometries = reader.readInt();
for (int i = 0; i < numGeometries; i++) {
Geometry geometry = readGeometry(reader, Geometry.class);
geometryCollection.addGeometry(geometry);
}
return geometryCollection;
}
示例2: toShapes
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Convert a {@link GeometryCollection} to a list of Map shapes
*
* @param geometryCollection
* @return
*/
public List<GoogleMapShape> toShapes(
GeometryCollection<Geometry> geometryCollection) {
List<GoogleMapShape> shapes = new ArrayList<GoogleMapShape>();
for (Geometry geometry : geometryCollection.getGeometries()) {
GoogleMapShape shape = toShape(geometry);
shapes.add(shape);
}
return shapes;
}
示例3: addToMap
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Convert a {@link GeometryCollection} to a list of Map shapes and add to
* the map
*
* @param map
* @param geometryCollection
* @return
*/
public List<GoogleMapShape> addToMap(GoogleMap map,
GeometryCollection<Geometry> geometryCollection) {
List<GoogleMapShape> shapes = new ArrayList<GoogleMapShape>();
for (Geometry geometry : geometryCollection.getGeometries()) {
GoogleMapShape shape = addToMap(map, geometry);
shapes.add(shape);
}
return shapes;
}
示例4: validateGeometryCollection
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Validate Geometry Collection
*
* @param topGeometry
* @param geometryCollection
*/
private static void validateGeometryCollection(Geometry topGeometry,
GeometryCollection<?> geometryCollection) {
validateZAndM(topGeometry, geometryCollection);
for (Geometry geometry : geometryCollection.getGeometries()) {
validateGeometry(geometry.getGeometryType(), geometry);
}
}
示例5: compareGeometryCollection
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Compare the two geometry collections for equality
*
* @param expected
* @param actual
* @param delta
*/
private static void compareGeometryCollection(
GeometryCollection<?> expected, GeometryCollection<?> actual,
double delta) {
compareBaseGeometryAttributes(expected, actual);
TestCase.assertEquals(expected.numGeometries(), actual.numGeometries());
for (int i = 0; i < expected.numGeometries(); i++) {
compareGeometries(expected.getGeometries().get(i), actual
.getGeometries().get(i), delta);
}
}
示例6: transform
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Transform the projected geometry collection
*
* @param geometryCollection
* @return projected geometry collection
*/
public GeometryCollection<Geometry> transform(
GeometryCollection<Geometry> geometryCollection) {
GeometryCollection<Geometry> to = new GeometryCollection<Geometry>(
geometryCollection.hasZ(), geometryCollection.hasM());
for (Geometry geometry : geometryCollection.getGeometries()) {
Geometry toGeometry = transform(geometry);
to.addGeometry(toGeometry);
}
return to;
}
示例7: compareGeometryCollection
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Compare the two geometry collections for equality
*
* @param expected
* @param actual
* @param delta
*/
private static void compareGeometryCollection(
GeometryCollection<?> expected, GeometryCollection<?> actual,
double delta) {
compareBaseGeometryAttributes(expected, actual);
TestCase.assertEquals(expected.numGeometries(), actual.numGeometries());
for (int i = 0; i < expected.numGeometries(); i++) {
compareGeometries(expected.getGeometries().get(i), actual
.getGeometries().get(i), delta);
}
}
示例8: add
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Add a curve based dimension 1 geometry to the centroid total. Ignores
* dimension 0 geometries.
*
* @param geometry
* geometry
*/
public void add(Geometry geometry) {
GeometryType geometryType = geometry.getGeometryType();
switch (geometryType) {
case LINESTRING:
case CIRCULARSTRING:
add((LineString) geometry);
break;
case MULTILINESTRING:
MultiLineString multiLineString = (MultiLineString) geometry;
addLineStrings(multiLineString.getLineStrings());
break;
case COMPOUNDCURVE:
CompoundCurve compoundCurve = (CompoundCurve) geometry;
addLineStrings(compoundCurve.getLineStrings());
break;
case GEOMETRYCOLLECTION:
@SuppressWarnings("unchecked")
GeometryCollection<Geometry> geomCollection = (GeometryCollection<Geometry>) geometry;
List<Geometry> geometries = geomCollection.getGeometries();
for (Geometry subGeometry : geometries) {
add(subGeometry);
}
break;
case POINT:
case MULTIPOINT:
// Doesn't contribute to curve dimension
break;
default:
throw new WkbException("Unsupported "
+ this.getClass().getSimpleName() + " Geometry Type: "
+ geometryType);
}
}
示例9: getDimension
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Get the dimension of the Geometry, 0 for points, 1 for curves, 2 for
* surfaces. If a collection, the largest dimension is returned.
*
* @param geometry
* geometry object
* @return dimension (0, 1, or 2)
*/
public static int getDimension(Geometry geometry) {
int dimension = -1;
GeometryType geometryType = geometry.getGeometryType();
switch (geometryType) {
case POINT:
case MULTIPOINT:
dimension = 0;
break;
case LINESTRING:
case MULTILINESTRING:
case CIRCULARSTRING:
case COMPOUNDCURVE:
dimension = 1;
break;
case POLYGON:
case CURVEPOLYGON:
case MULTIPOLYGON:
case POLYHEDRALSURFACE:
case TIN:
case TRIANGLE:
dimension = 2;
break;
case GEOMETRYCOLLECTION:
@SuppressWarnings("unchecked")
GeometryCollection<Geometry> geomCollection = (GeometryCollection<Geometry>) geometry;
List<Geometry> geometries = geomCollection.getGeometries();
for (Geometry subGeometry : geometries) {
dimension = Math.max(dimension, getDimension(subGeometry));
}
break;
default:
throw new WkbException("Unsupported Geometry Type: " + geometryType);
}
return dimension;
}
示例10: add
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Add a surface based dimension 2 geometry to the centroid total. Ignores
* dimension 0 and 1 geometries.
*
* @param geometry
* geometry
*/
public void add(Geometry geometry) {
GeometryType geometryType = geometry.getGeometryType();
switch (geometryType) {
case POLYGON:
case TRIANGLE:
add((Polygon) geometry);
break;
case MULTIPOLYGON:
MultiPolygon multiPolygon = (MultiPolygon) geometry;
add(multiPolygon.getPolygons());
break;
case POLYHEDRALSURFACE:
case TIN:
PolyhedralSurface polyhedralSurface = (PolyhedralSurface) geometry;
add(polyhedralSurface.getPolygons());
break;
case GEOMETRYCOLLECTION:
@SuppressWarnings("unchecked")
GeometryCollection<Geometry> geomCollection = (GeometryCollection<Geometry>) geometry;
List<Geometry> geometries = geomCollection.getGeometries();
for (Geometry subGeometry : geometries) {
add(subGeometry);
}
break;
case POINT:
case MULTIPOINT:
case LINESTRING:
case CIRCULARSTRING:
case MULTILINESTRING:
case COMPOUNDCURVE:
// Doesn't contribute to surface dimension
break;
default:
throw new WkbException("Unsupported "
+ this.getClass().getSimpleName() + " Geometry Type: "
+ geometryType);
}
}
示例11: add
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Add a point based dimension 0 geometry to the centroid total
*
* @param geometry
* geometry
*/
public void add(Geometry geometry) {
GeometryType geometryType = geometry.getGeometryType();
switch (geometryType) {
case POINT:
add((Point) geometry);
break;
case MULTIPOINT:
MultiPoint multiPoint = (MultiPoint) geometry;
for (Point point : multiPoint.getPoints()) {
add(point);
}
break;
case GEOMETRYCOLLECTION:
@SuppressWarnings("unchecked")
GeometryCollection<Geometry> geomCollection = (GeometryCollection<Geometry>) geometry;
List<Geometry> geometries = geomCollection.getGeometries();
for (Geometry subGeometry : geometries) {
add(subGeometry);
}
break;
default:
throw new WkbException("Unsupported "
+ this.getClass().getSimpleName() + " Geometry Type: "
+ geometryType);
}
}
示例12: writeGeometryCollection
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
/**
* Write a Geometry Collection
*
* @param writer
* @param geometryCollection
* @throws IOException
*/
public static void writeGeometryCollection(ByteWriter writer,
GeometryCollection<?> geometryCollection) throws IOException {
writer.writeInt(geometryCollection.numGeometries());
for (Geometry geometry : geometryCollection.getGeometries()) {
writeGeometry(writer, geometry);
}
}
示例13: testGeometryCollection
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
@Test
public void testGeometryCollection() throws IOException {
for (int i = 0; i < GEOMETRIES_PER_TEST; i++) {
// Create and test a geometry collection
GeometryCollection<Geometry> geometryCollection = WKBTestUtils
.createGeometryCollection(WKBTestUtils.coinFlip(),
WKBTestUtils.coinFlip());
geometryTester(geometryCollection);
}
}
示例14: testGeometryCollectionCentroid
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
@Test
public void testGeometryCollectionCentroid() throws IOException {
for (int i = 0; i < GEOMETRIES_PER_TEST; i++) {
// Create and test a geometry collection
GeometryCollection<Geometry> geometryCollection = createGeometryCollection(
WKBTestUtils.coinFlip(), WKBTestUtils.coinFlip());
geometryCentroidTester(geometryCollection);
}
}
示例15: createGeometryCollection
import mil.nga.wkb.geom.GeometryCollection; //导入依赖的package包/类
private static GeometryCollection<Geometry> createGeometryCollection(
boolean hasZ, boolean hasM) {
GeometryCollection<Geometry> geometryCollection = new GeometryCollection<Geometry>(
hasZ, hasM);
int num = 1 + ((int) (Math.random() * 5));
for (int i = 0; i < num; i++) {
Geometry geometry = null;
int randomGeometry = (int) (Math.random() * 6);
switch (randomGeometry) {
case 0:
geometry = WKBTestUtils.createPoint(hasZ, hasM);
break;
case 1:
geometry = WKBTestUtils.createLineString(hasZ, hasM);
break;
case 2:
geometry = createPolygon();
break;
case 3:
geometry = WKBTestUtils.createMultiPoint(hasZ, hasM);
break;
case 4:
geometry = WKBTestUtils.createMultiLineString(hasZ, hasM);
break;
case 5:
geometry = createMultiPolygon();
break;
}
geometryCollection.addGeometry(geometry);
}
return geometryCollection;
}