本文整理汇总了Java中mil.nga.geopackage.geom.GeoPackageGeometryData.setGeometry方法的典型用法代码示例。如果您正苦于以下问题:Java GeoPackageGeometryData.setGeometry方法的具体用法?Java GeoPackageGeometryData.setGeometry怎么用?Java GeoPackageGeometryData.setGeometry使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mil.nga.geopackage.geom.GeoPackageGeometryData
的用法示例。
在下文中一共展示了GeoPackageGeometryData.setGeometry方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: projectGeometry
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
/**
* Project the geometry into the provided projection
*
* @param geometryData geometry data
* @param projection projection
*/
public void projectGeometry(GeoPackageGeometryData geometryData, Projection projection) {
if (geometryData.getGeometry() != null) {
try {
SpatialReferenceSystemDao srsDao = DaoManager.createDao(featureDao.getDb().getConnectionSource(), SpatialReferenceSystem.class);
int srsId = geometryData.getSrsId();
SpatialReferenceSystem srs = srsDao.queryForId((long) srsId);
if (!projection.equals(srs.getOrganization(), srs.getOrganizationCoordsysId())) {
Projection geomProjection = ProjectionFactory.getProjection(srs);
ProjectionTransform transform = geomProjection.getTransformation(projection);
Geometry projectedGeometry = transform.transform(geometryData.getGeometry());
geometryData.setGeometry(projectedGeometry);
SpatialReferenceSystem projectionSrs = srsDao.getOrCreateCode(projection.getAuthority(), Long.parseLong(projection.getCode()));
geometryData.setSrsId((int) projectionSrs.getSrsId());
}
} catch (SQLException e) {
throw new GeoPackageException("Failed to project geometry to projection with Authority: "
+ projection.getAuthority() + ", Code: " + projection.getCode(), e);
}
}
}
示例2: setPoint
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
public static void setPoint(FeatureRow featureRow, double x, double y) {
GeoPackageGeometryData geomData = new GeoPackageGeometryData(
ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
Point point = new Point(false, false, x, y);
geomData.setGeometry(point);
featureRow.setGeometry(geomData);
}
示例3: insertLine
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
public static long insertLine(FeatureDao featureDao, double[][] points) {
FeatureRow featureRow = featureDao.newRow();
GeoPackageGeometryData geomData = new GeoPackageGeometryData(
ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
LineString lineString = getLineString(points);
geomData.setGeometry(lineString);
featureRow.setGeometry(geomData);
return featureDao.insert(featureRow);
}
示例4: insertPolygon
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
public static long insertPolygon(FeatureDao featureDao, double[][]... points) {
FeatureRow featureRow = featureDao.newRow();
GeoPackageGeometryData geomData = new GeoPackageGeometryData(
ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
Polygon polygon = new Polygon(false, false);
for (double[][] ring : points) {
LineString lineString = getLineString(ring);
polygon.addRing(lineString);
}
geomData.setGeometry(polygon);
featureRow.setGeometry(geomData);
return featureDao.insert(featureRow);
}
示例5: setPoint
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
public static void setPoint(FeatureRow featureRow, double x, double y) {
GeoPackageGeometryData geomData = new GeoPackageGeometryData(
ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
Point point = new Point(false, false, x, y);
geomData.setGeometry(point);
featureRow.setGeometry(geomData);
}
示例6: insertLine
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
public static long insertLine(FeatureDao featureDao, double[][] points) {
FeatureRow featureRow = featureDao.newRow();
GeoPackageGeometryData geomData = new GeoPackageGeometryData(
ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
LineString lineString = getLineString(points);
geomData.setGeometry(lineString);
featureRow.setGeometry(geomData);
return featureDao.insert(featureRow);
}
示例7: insertPolygon
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
public static long insertPolygon(FeatureDao featureDao,
double[][]... points) {
FeatureRow featureRow = featureDao.newRow();
GeoPackageGeometryData geomData = new GeoPackageGeometryData(
ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
Polygon polygon = new Polygon(false, false);
for (double[][] ring : points) {
LineString lineString = getLineString(ring);
polygon.addRing(lineString);
}
geomData.setGeometry(polygon);
featureRow.setGeometry(geomData);
return featureDao.insert(featureRow);
}
示例8: testGeometryProjectionTransform
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
/**
* Test transforming geometries between projections
*
* @param geoPackage
* @throws SQLException
* @throws IOException
*/
public static void testGeometryProjectionTransform(GeoPackage geoPackage)
throws SQLException, IOException {
GeometryColumnsDao geometryColumnsDao = geoPackage
.getGeometryColumnsDao();
if (geometryColumnsDao.isTableExists()) {
List<GeometryColumns> results = geometryColumnsDao.queryForAll();
for (GeometryColumns geometryColumns : results) {
FeatureDao dao = geoPackage.getFeatureDao(geometryColumns);
TestCase.assertNotNull(dao);
FeatureCursor cursor = dao.queryForAll();
while (cursor.moveToNext()) {
GeoPackageGeometryData geometryData = cursor.getGeometry();
if (geometryData != null) {
Geometry geometry = geometryData.getGeometry();
if (geometry != null) {
SpatialReferenceSystemDao srsDao = geoPackage
.getSpatialReferenceSystemDao();
long srsId = geometryData.getSrsId();
SpatialReferenceSystem srs = srsDao
.queryForId(srsId);
long epsg = srs.getOrganizationCoordsysId();
Projection projection = ProjectionFactory
.getProjection(srs);
long toEpsg = -1;
if (epsg == ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM) {
toEpsg = ProjectionConstants.EPSG_WEB_MERCATOR;
} else {
toEpsg = ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM;
}
ProjectionTransform transformTo = projection
.getTransformation(toEpsg);
ProjectionTransform transformFrom = transformTo
.getToProjection().getTransformation(srs);
byte[] bytes = geometryData.getWkbBytes();
Geometry projectedGeometry = transformTo
.transform(geometry);
GeoPackageGeometryData projectedGeometryData = new GeoPackageGeometryData(
-1);
projectedGeometryData
.setGeometry(projectedGeometry);
projectedGeometryData.toBytes();
byte[] projectedBytes = projectedGeometryData
.getWkbBytes();
if (epsg > 0) {
TestCase.assertFalse(equalByteArrays(bytes,
projectedBytes));
}
Geometry restoredGeometry = transformFrom
.transform(projectedGeometry);
compareGeometries(geometry, restoredGeometry, .001);
}
}
}
cursor.close();
}
}
}
示例9: testGeometryProjectionTransform
import mil.nga.geopackage.geom.GeoPackageGeometryData; //导入方法依赖的package包/类
/**
* Test transforming geometries between projections
*
* @param geoPackage
* @throws SQLException
* @throws IOException
*/
public static void testGeometryProjectionTransform(GeoPackage geoPackage)
throws SQLException, IOException {
GeometryColumnsDao geometryColumnsDao = geoPackage
.getGeometryColumnsDao();
if (geometryColumnsDao.isTableExists()) {
List<GeometryColumns> results = geometryColumnsDao.queryForAll();
for (GeometryColumns geometryColumns : results) {
FeatureDao dao = geoPackage.getFeatureDao(geometryColumns);
TestCase.assertNotNull(dao);
FeatureResultSet cursor = dao.queryForAll();
while (cursor.moveToNext()) {
GeoPackageGeometryData geometryData = cursor.getGeometry();
if (geometryData != null) {
Geometry geometry = geometryData.getGeometry();
if (geometry != null) {
SpatialReferenceSystemDao srsDao = geoPackage
.getSpatialReferenceSystemDao();
long srsId = geometryData.getSrsId();
SpatialReferenceSystem srs = srsDao
.queryForId(srsId);
long epsg = srs.getOrganizationCoordsysId();
Projection projection = ProjectionFactory
.getProjection(srs);
long toEpsg = -1;
if (epsg == ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM) {
toEpsg = ProjectionConstants.EPSG_WEB_MERCATOR;
} else {
toEpsg = ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM;
}
ProjectionTransform transformTo = projection
.getTransformation(toEpsg);
ProjectionTransform transformFrom = transformTo
.getToProjection().getTransformation(srs);
byte[] bytes = geometryData.getWkbBytes();
Geometry projectedGeometry = transformTo
.transform(geometry);
GeoPackageGeometryData projectedGeometryData = new GeoPackageGeometryData(
-1);
projectedGeometryData
.setGeometry(projectedGeometry);
projectedGeometryData.toBytes();
byte[] projectedBytes = projectedGeometryData
.getWkbBytes();
if (epsg > 0) {
TestCase.assertFalse(equalByteArrays(bytes,
projectedBytes));
}
Geometry restoredGeometry = transformFrom
.transform(projectedGeometry);
compareGeometries(geometry, restoredGeometry, .001);
}
}
}
cursor.close();
}
}
}