/** * Get a bounding box in the provided projection * * @param projection * desired projection * * @return bounding box * @since 3.1.0 */ public BoundingBox getBoundingBox(Projection projection) { BoundingBox boundingBox = getBoundingBox(); if (boundingBox != null && projection != null) { ProjectionTransform transform = getProjection().getTransformation( projection); if (!transform.isSameProjection()) { boundingBox = boundingBox.transform(transform); } } return boundingBox; }
/** * Text output from a Contents * * @param contents * contents * @return text */ public String textOutput(Contents contents) { StringBuilder output = new StringBuilder(); output.append("\t" + Contents.COLUMN_TABLE_NAME + ": " + contents.getTableName()); output.append("\n\t" + Contents.COLUMN_DATA_TYPE + ": " + contents.getDataType()); output.append("\n\t" + Contents.COLUMN_IDENTIFIER + ": " + contents.getIdentifier()); output.append("\n\t" + Contents.COLUMN_DESCRIPTION + ": " + contents.getDescription()); output.append("\n\t" + Contents.COLUMN_LAST_CHANGE + ": " + contents.getLastChange()); output.append("\n\t" + Contents.COLUMN_MIN_X + ": " + contents.getMinX()); output.append("\n\t" + Contents.COLUMN_MIN_Y + ": " + contents.getMinY()); output.append("\n\t" + Contents.COLUMN_MAX_X + ": " + contents.getMaxX()); output.append("\n\t" + Contents.COLUMN_MAX_Y + ": " + contents.getMaxY()); output.append("\n" + textOutput(contents.getSrs())); return output.toString(); }
/** * {@inheritDoc} */ @Override public String getTableType(String table) { String tableType = null; Contents contents = getTableContents(table); if (contents != null) { tableType = contents.getDataTypeString(); } return tableType; }
public void setContents(Contents contents) { this.contents = contents; if (contents != null) { // Verify the Contents have a features data type (Spec Requirement // 23) ContentsDataType dataType = contents.getDataType(); if (dataType == null || dataType != ContentsDataType.FEATURES) { throw new GeoPackageException("The " + Contents.class.getSimpleName() + " of a " + GeometryColumnsSfSql.class.getSimpleName() + " must have a data type of " + ContentsDataType.FEATURES.getName()); } fTableName = contents.getId(); } }
Contents contents = new Contents(); contents.setTableName(geometryColumns.getTableName()); contents.setDataType(ContentsDataType.FEATURES); contents.setIdentifier(geometryColumns.getTableName()); contents.setMinX(boundingBox.getMinLongitude()); contents.setMinY(boundingBox.getMinLatitude()); contents.setMaxX(boundingBox.getMaxLongitude()); contents.setMaxY(boundingBox.getMaxLatitude()); contents.setSrs(srs); getContentsDao().create(contents); geometryColumns.setSrs(contents.getSrs()); getGeometryColumnsDao().create(geometryColumns);
Contents contents = new Contents(); contents.setTableName("test_contents"); contents.setDataType(ContentsDataType.TILES); contents.setIdentifier("test_contents"); contents.setDescription(""); contents.setMinX(-180.0); contents.setMinY(-90.0); contents.setMaxX(180.0); contents.setMaxY(90.0); contents.setSrs(srs); .getTableName())); tileMatrixSet.setSrs(contents.getSrs()); tileMatrixSet.setMinX(contents.getMinX()); tileMatrixSet.setMinY(contents.getMinY()); tileMatrixSet.setMaxX(contents.getMaxX()); tileMatrixSet.setMaxY(contents.getMaxY()); dao.create(tileMatrixSet); TestCase.assertEquals(newCount, dao.getTileTables().size()); TestCase.assertTrue(dao.getTileTables().contains( contents.getTableName())); TestCase.assertEquals(contents.getId(), queryTileMatrixSet.getTableName()); TestCase.assertEquals(contents.getSrsId().longValue(), queryTileMatrixSet.getSrsId());
Contents contents = new Contents(); contents.setTableName(tableName); contents.setDataType(dataType); contents.setIdentifier(identifier); contents.setDescription(description); contents.setLastChange(lastChange); contents.setMinX(minX); contents.setMinY(minY); contents.setMaxX(maxX); contents.setMaxY(maxY); contents.setSrs(srs); contents.getTableName(), "geom", GeometryType.GEOMETRY)); String queryContentsId = queryContents.getId(); TestCase.assertEquals(tableName, queryContents.getTableName()); TestCase.assertEquals(dataType, queryContents.getDataType()); TestCase.assertEquals(identifier, queryContents.getIdentifier()); TestCase.assertEquals(description, queryContents.getDescription()); TestCase.assertEquals(lastChange, queryContents.getLastChange()); TestCase.assertEquals(minX, queryContents.getMinX()); TestCase.assertEquals(minY, queryContents.getMinY()); TestCase.assertEquals(maxX, queryContents.getMaxX()); TestCase.assertEquals(maxY, queryContents.getMaxY()); if (srs != null) { TestCase.assertEquals(srs.getId(), queryContents.getSrs().getId()); } else { TestCase.assertNull(queryContents.getSrs());
/** * Validate contents * * @param mediaTable media table * @param contents contents */ private static void validateContents(MediaTable mediaTable, Contents contents) { TestCase.assertNotNull(contents); TestCase.assertNotNull(contents.getDataType()); TestCase.assertEquals(MediaTable.RELATION_TYPE.getDataType(), contents .getDataType().getName()); TestCase.assertEquals(MediaTable.RELATION_TYPE.getDataType(), contents.getDataTypeString()); TestCase.assertEquals(mediaTable.getTableName(), contents.getTableName()); TestCase.assertNotNull(contents.getLastChange()); }
TestCase.assertNotNull(contents.getTableName()); TestCase.assertNotNull(contents.getDataType()); TestCase.assertNotNull(contents.getLastChange());
TestCase.assertNotNull(result.getTableName()); TestCase.assertNotNull(result.getDataType()); TestCase.assertNotNull(result.getLastChange()); SpatialReferenceSystem srs = result.getSrs(); if (srs != null) { TestCase.assertNotNull(srs.getSrsName()); Contents queryContents = dao.queryForId(contents.getTableName()); TestCase.assertNotNull(queryContents); TestCase.assertEquals(contents.getTableName(), queryContents.getTableName()); Contents.COLUMN_IDENTIFIER, contents.getIdentifier()); TestCase.assertNotNull(queryContentsList); TestCase.assertEquals(1, queryContentsList.size()); TestCase.assertEquals(contents.getIdentifier(), queryContentsList .get(0).getIdentifier()); fieldValues.put(Contents.COLUMN_DATA_TYPE, contents.getDataType() .getName()); if (contents.getSrs() != null) { fieldValues.put(Contents.COLUMN_SRS_ID, contents.getSrs() .getSrsId()); boolean found = false; for (Contents queryContentsValue : queryContentsList) { TestCase.assertEquals(contents.getDataType(), queryContentsValue.getDataType()); if (contents.getSrs() != null) {
contents.setLastChange(updatedLastChange); dao.update(contents); Contents updatedContents = dao.queryForId(contents.getId()); TestCase.assertEquals(updatedLastChange, updatedContents.getLastChange()); .getId()); TestCase.assertEquals(updatedMinimum, reloadedContents.getMinX(), 0.0); TestCase.assertEquals(updatedMinimum, reloadedContents.getMinY(), 0.0);
/** * {@inheritDoc} */ @Override public AttributesDao getAttributesDao(Contents contents) { if (contents == null) { throw new GeoPackageException("Non null " + Contents.class.getSimpleName() + " is required to create " + AttributesDao.class.getSimpleName()); } if (contents.getDataType() != ContentsDataType.ATTRIBUTES) { throw new GeoPackageException(Contents.class.getSimpleName() + " is required to be of type " + ContentsDataType.ATTRIBUTES + ". Actual: " + contents.getDataTypeString()); } // Read the existing table and create the dao AttributesTableReader tableReader = new AttributesTableReader( contents.getTableName()); AttributesConnection userDb = new AttributesConnection(database); final AttributesTable attributesTable = tableReader.readTable(userDb); attributesTable.setContents(contents); AttributesDao dao = new AttributesDao(getName(), database, userDb, attributesTable); return dao; }
ContentsDataType dataType = contents.getDataType(); if (geometryColumnsDao.isTableExists()) { GeometryColumns geometryColumns = contents .getGeometryColumns(); if (geometryColumns != null) { geometryColumnsDao.delete(geometryColumns); if (tileMatrixDao.isTableExists()) { ForeignCollection<TileMatrix> tileMatrixCollection = contents .getTileMatrix(); if (!tileMatrixCollection.isEmpty()) { tileMatrixDao.delete(tileMatrixCollection); if (tileMatrixSetDao.isTableExists()) { TileMatrixSet tileMatrixSet = contents .getTileMatrixSet(); if (tileMatrixSet != null) { tileMatrixSetDao.delete(tileMatrixSet); dropTable(contents.getTableName()); dropTable(contents.getTableName());
Contents contents = new Contents(); contents.setTableName(tableName); contents.setDataType(ContentsDataType.ATTRIBUTES); contents.setIdentifier(tableName);
BoundingBox previousContentsBoundingBox = contents.getBoundingBox(); if (previousContentsBoundingBox != null) { ProjectionTransform transformProjectionToContents = projection.getTransformation(contents.getProjection()); BoundingBox contentsBoundingBox = boundingBox; if (!transformProjectionToContents.isSameProjection()) { contents.setBoundingBox(contentsBoundingBox); ContentsDao contentsDao = geoPackage.getContentsDao(); contentsDao.update(contents);
.getBoundingBox(projection); if (contentsBoundingBox != null) { TestCase.assertTrue(geoPackageContentsBoundingBox contentsBoundingBox, geoPackage.getContentsBoundingBox(projection, contents.getTableName())); TestCase.assertEquals(contents.getBoundingBox(), geoPackage.getContentsBoundingBox(contents.getTableName())); ContentsDataType dataType = contents.getDataType(); if (dataType != null) { case FEATURES: FeatureIndexManager manager = new FeatureIndexManager(activity, geoPackage, contents.getTableName()); BoundingBox featureBoundingBox = manager .getBoundingBox(projection); .getBoundingBox(projection); if (featureBoundingBox != null && manager.isIndexed()) { if (expectedFeatureProjectionBoundingBox == null) { .getBoundingBox(projection, contents.getTableName()); if (featureProjectionBoundingBox == null) { TestCase.assertNull(expectedFeatureProjectionBoundingBox); .getBoundingBox(projection); if (featureBoundingBox != null) {
/** * {@inheritDoc} */ @Override public FeatureDao getFeatureDao(Contents contents) { if (contents == null) { throw new GeoPackageException("Non null " + Contents.class.getSimpleName() + " is required to create " + FeatureDao.class.getSimpleName()); } GeometryColumns geometryColumns = null; try { geometryColumns = getGeometryColumnsDao().queryForTableName( contents.getTableName()); } catch (SQLException e) { throw new GeoPackageException("No " + GeometryColumns.class.getSimpleName() + " could be retrieved for " + Contents.class.getSimpleName() + " " + contents.getId()); } if (geometryColumns == null) { throw new GeoPackageException("No " + GeometryColumns.class.getSimpleName() + " exists for " + Contents.class.getSimpleName() + " " + contents.getId()); } return getFeatureDao(geometryColumns); }
ContentsDataType dataType = contents.getDataType(); if (dataType != null) { switch (dataType) { if (!db.tableExists(contents.getTableName())) { throw new GeoPackageException( "No table exists for Content Table Name: " + contents.getTableName() + ". Table must first be created.");
.getGeometryColumnsDao(); if (geometryColumnsDao.isTableExists()) { GeometryColumns geometryColumns = contents.getGeometryColumns(); if (geometryColumns != null) { geometryColumnsIds.add(geometryColumns.getId()); Contents queryContents = dao.queryForId(contents.getId()); TestCase.assertNull(queryContents); contents.getDataType().getName()); PreparedQuery<Contents> query = qb.prepare(); List<Contents> queryResults = dao.query(query); if (geometryColumnsDao.isTableExists()) { GeometryColumns geometryColumns = queryResultsContents .getGeometryColumns(); if (geometryColumns != null) { geometryColumnsIds.add(geometryColumns.getId()); DeleteBuilder<Contents, String> db = dao.deleteBuilder(); db.where().eq(Contents.COLUMN_DATA_TYPE, contents.getDataType().getName()); PreparedDelete<Contents> deleteQuery = db.prepare(); deleted = dao.delete(deleteQuery);