String concept = srs.getString(8); Geometry geometry = srs.getGeometry(18); // "space GEOMETRY" if (geometry.isEmpty()) { geometry = null; ret.observableName = concept; ret.serverId = KLAB.NAME; ret.namespaceId = srs.getString(6); if (geometry != null) { ret.geometryWKB = WKBWriter.toHex(wkbWriter.write(geometry)); ret.start = srs.getLong(10); ret.end = srs.getLong(11); ret.step = srs.getLong(12);
/** * Retrieve the envelope of selection of lines * @param manager Data Manager * @param tableName Table identifier [[catalog.]schema.]table * @param rowsId Line number [1-n] * @param pm Progress monitor * @return Envelope of rows * @throws SQLException */ public static Envelope getTableSelectionEnvelope(DataManager manager, String tableName, SortedSet<Long> rowsId, ProgressMonitor pm) throws SQLException { try( Connection connection = manager.getDataSource().getConnection()) { Envelope selectionEnvelope = null; List<String> geomFields = SFSUtilities.getGeometryFields(connection, TableLocation.parse(tableName)); if(geomFields.isEmpty()) { throw new SQLException(I18N.tr("Table table {0} does not contain any geometry fields", tableName)); } String fieldQuery = "ST_EXTENT(" + TableLocation.quoteIdentifier(geomFields.get(0)) + ")"; try(FilteredResultSet fRs = new FilteredResultSet(connection, tableName, rowsId, pm, false, fieldQuery)) { SpatialResultSet rs = fRs.getResultSet(); if (rs.next() && rs.getGeometry() != null) { selectionEnvelope = rs.getGeometry().getEnvelopeInternal(); } return selectionEnvelope; } catch (IOException ex) { throw new SQLException(ex.getLocalizedMessage(), ex); } } }
@Override public void close() throws IOException { try { resultSet.close(); st.execute("DROP TABLE IF EXISTS "+selectionTable); st.close(); } catch (SQLException ex) { throw new IOException(ex.getLocalizedMessage(), ex); } } }
try(ResultSetProviderFactory.ResultSetProvider resultSetProvider = layerDataFactory.getResultSetProvider(layer, rulesProgress)) { try(SpatialResultSet rs = resultSetProvider.execute(rulesProgress, extent)) { int pkColumn = rs.findColumn(resultSetProvider.getPkName()); int fieldID = rs.getMetaData().unwrap(SpatialResultSetMetaData.class).getFirstGeometryFieldIndex(); ProgressMonitor rowSetProgress; rowSetProgress = rulesProgress.startTask("Drawing " + layer.getName() + " (Rule " + r.getName() + ")", 1); while (rs.next()) { if (rulesProgress.isCancelled()) { break; theGeom = rs.getGeometry(fieldID); long row = rs.getLong(pkColumn); boolean selected = selectedRows.contains(row);
long tyid = srs.getLong(7); long obid = srs.getLong(8); ret.setName(srs.getString(4)); ret.setServerId(nullify(srs.getString(2))); ret.setId(srs.getString(3)); ret.setNamespaceId(srs.getString(5)); ret.setProjectId(nullify(srs.getString(6))); ret.setPrivateModel(srs.getBoolean(9)); ret.setResolved(srs.getBoolean(10)); ret.setReification(srs.getBoolean(11)); ret.setInScenario(srs.getBoolean(12)); ret.setHasDirectObjects(srs.getBoolean(13)); ret.setHasDirectData(srs.getBoolean(14)); ret.setTimeStart(srs.getLong(15)); ret.setTimeEnd(srs.getLong(16)); ret.setSpatial(srs.getBoolean(17)); ret.setTemporal(srs.getBoolean(18)); ret.setTimeMultiplicity(srs.getLong(19)); ret.setSpaceMultiplicity(srs.getLong(20)); ret.setScaleMultiplicity(srs.getLong(21)); ret.setDereifyingAttribute(nullify(srs.getString(22))); Geometry geometry = srs.getGeometry(23); if (!geometry.isEmpty()) { ret.setShape(new ShapeValue(geometry, Geospace.get().getDefaultCRS())); // +
/** * Get the {@code Geometry} stored in {@code sds} at index {@code fid}. * @param rs * @param fid * @return * @throws ParameterException * @throws SQLException */ public Geometry getGeometry(ResultSet rs, Long fid) throws ParameterException, SQLException { if (theGeom != null) { return theGeom.getTheGeom(rs, fid); } else { return rs.unwrap(SpatialResultSet.class).getGeometry(); } }
if (rs.next() && rs.getGeometry() != null) { selectionEnvelope = rs.getGeometry().getEnvelopeInternal();