Example #1
0
  /**
   * Open a ucar.nc2.ft.PointFeatureCollection, write out in CF point format.
   *
   * @param fileIn open through TypedDatasetFactory.open(FeatureType.POINT, ..)
   * @param fileOut write to this netcdf-3 file
   * @param inMemory if true, read file into memory for efficiency
   * @return true on success
   * @throws IOException on read/write error
   */
  public static boolean rewritePointFeatureDataset(String fileIn, String fileOut, boolean inMemory)
      throws IOException {
    System.out.println(
        "Rewrite2 .nc files from " + fileIn + " to " + fileOut + " inMemory= " + inMemory);

    long start = System.currentTimeMillis();

    // do it in memory for speed
    NetcdfFile ncfile = inMemory ? NetcdfFile.openInMemory(fileIn) : NetcdfFile.open(fileIn);
    NetcdfDataset ncd = new NetcdfDataset(ncfile);

    Formatter errlog = new Formatter();
    FeatureDataset fd = FeatureDatasetFactoryManager.wrap(FeatureType.ANY_POINT, ncd, null, errlog);
    if (fd == null) return false;

    if (fd instanceof FeatureDatasetPoint) {
      writePointFeatureCollection((FeatureDatasetPoint) fd, fileOut);
      fd.close();
      long took = System.currentTimeMillis() - start;
      System.out.println(" that took " + (took - start) + " msecs");
      return true;
    }

    return false;
  }
Example #2
0
 public static void add(Object tag, Geometry geom, String msg) {
   if (!Debug.isDebugging()) return;
   FeatureDataset fd = getDebugFeatureDataset(tag);
   Feature feature = new BasicFeature(fd.getFeatureSchema());
   feature.setGeometry(geom);
   feature.setAttribute(MESG_ATTR_NAME, msg);
   fd.add(feature);
 }
Example #3
0
 public static void addLineSegment(Object tag, Coordinate p0, Coordinate p1, String msg) {
   if (!Debug.isDebugging()) return;
   FeatureDataset fd = getDebugFeatureDataset(tag);
   fd.add(createLineSegmentFeature(fd.getFeatureSchema(), p0, p1, msg));
 }