Package ca.carleton.gcrc.couch.onUpload.conversion

Source Code of ca.carleton.gcrc.couch.onUpload.conversion.GeometryDescriptor

package ca.carleton.gcrc.couch.onUpload.conversion;

import java.io.StringWriter;

import org.json.JSONArray;
import org.json.JSONObject;

import ca.carleton.gcrc.couch.onUpload.UploadConstants;
import ca.carleton.gcrc.geom.BoundingBox;
import ca.carleton.gcrc.geom.Geometry;
import ca.carleton.gcrc.geom.wkt.WktWriter;

public class GeometryDescriptor extends AbstractDescriptor {

  private DocumentDescriptor documentDescriptor;

  public GeometryDescriptor(DocumentDescriptor documentDescriptor){
    this.documentDescriptor = documentDescriptor;
  }

  @Override
  protected JSONObject getJson() throws Exception {
    JSONObject doc = documentDescriptor.getJson();
    return doc.getJSONObject(UploadConstants.KEY_DOC_GEOMETRY);
  }
 
  public void setGeometry(Geometry geom) throws Exception {
    WktWriter wktWriter = new WktWriter();
    StringWriter sw = new StringWriter();
    wktWriter.write(geom, sw);
    String wkt = sw.toString();
   
    BoundingBox bbox = geom.getBoundingBox();
   
    JSONObject geomObj = getJson();
   
    geomObj.put("wkt", wkt);
   
    JSONArray bboxArray = new JSONArray();
    bboxArray.put(bbox.getMinX());
    bboxArray.put(bbox.getMinY());
    bboxArray.put(bbox.getMaxX());
    bboxArray.put(bbox.getMaxY());
    geomObj.put("bbox", bboxArray);
  }
}
TOP

Related Classes of ca.carleton.gcrc.couch.onUpload.conversion.GeometryDescriptor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.