Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public String parseShape(ResultSet resultSet) throws SQLException, IOException, SchemaException {
- if (drawnShapesId.contains(resultSet.getObject(1))) {
- return null;
- } else {
- drawnShapesId.add((Integer) resultSet.getObject(1));
- }
- StringBuilder sb = new StringBuilder();
- List<Object> values = new ArrayList<>();
- ResultSetMetaData md = resultSet.getMetaData();
- int columns = md.getColumnCount();
- for (int i = 3; i <= columns; i++) {
- // temporary getting rid of the problem with BigDecimal convertion
- // should be resolved somehow
- if (resultSet.getObject(i) == null || resultSet.getObject(i).getClass().getSimpleName().equals("BigDecimal")) {
- continue;
- }
- sb.append(String.format("%s:%s,", md.getColumnName(i), resultSet.getObject(i).getClass().getSimpleName()));
- values.add(resultSet.getObject(i));
- }
- InputStream inputStream = resultSet.getBinaryStream("SHAPE");
- Geometry geometry = parseGeometry(inputStream);
- sb.append("shape:");
- sb.append("Polygon");
- values.add(geometry);
- SimpleFeatureType type = DataUtilities.createType("shape", sb.toString());
- SimpleFeatureBuilder builder = new SimpleFeatureBuilder(type);
- builder.addAll(values);
- SimpleFeature feature = builder.buildFeature("fid");
- FeatureJSON fJson = new FeatureJSON();
- StringWriter writer = new StringWriter();
- fJson.writeFeature(feature, writer);
- return writer.toString();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement