Re: [Fwd: Problem using GeotiffWriter]

Matt Foster wrote:

Update...

Upon further review of the error I'm getting...GeotiffWriter is failing with the NullPointerException on "grid.getCoordinateSystem" (the error is pointing to line 99 in GeotiffWriter.java). That seems to me to be saying that it doesn't like something in my netCDF file. I'm attaching the netCDF file on which I've been testing.

Matt

Matt,
Yes, there is something in the test file that can not be processed. I think it is the coordinate system of this file, GeotiffWriter was looking for the lat/lon coordinate
and failed for what this file had.

Yuan



Matt Foster wrote:

Yuan,

The sample you supplied is very close to what I started with, which came from a post you made in September of 2004. The problem is that call to GeotiffWriter seems to be short an argument. I looked at the source code for GeotiffWriter, and it seems to me (again, I'm a Java newbie) that this form of call to GeotiffWriter needs one more argument after the boolean, and that argument gets passed to "LatLonRect", and that is where I am currently stuck.

I tried passing 'null' as the argument, thinking that would cause LatLonRect to return a rectangle covering the entire earth, but I got a NullPointerException. I'm attaching the latest incarnation of my code.

BTW, where is there documentation for GeotiffWriter? I don't see any on the netcdf-java documentation site.

Matt


Yuan Ho wrote:

John Caron wrote:


-------- Original Message --------
Subject:     Problem using GeotiffWriter
Date:     Wed, 14 Sep 2005 09:23:19 -0500
From:     Matt Foster <Matthew.Foster@xxxxxxxx>
Organization:     UCAR/Unidata
To:     netcdf-java@xxxxxxxxxxxxxxxx



I'm a serious Java newbie, so be gentle if I've done something stupid here...

I wrote the attached short program, which is based off of a post to this list last year, to read a single element from a netCDF file, and write a GeoTIFF file, however, I get the following error message when I try to compile it with javac...

GeoTifWriter.java:16: cannot resolve symbol
symbol : method writeGrid (java.lang.String,java.lang.String,int,int,boolean)
location: class ucar.nc2.geotiff.GeotiffWriter
writer.writeGrid("/home/mwfoster/MaxT_test.cdf", "MaxT_SFC", 0, 0, false);
          ^

The "caret" symbol is actually under the dot between writer and writeGrid, in case a variable-width font messed that up.

Can someone help me out here?




Matthew,

Here is a small example of using GeotiffWriter class:

import ucar.ma2.*;
import ucar.nc2.*;
import ucar.nc2.dataset.*;
import ucar.nc2.geotiff;
import ucar.nc2.dataset.grid.*;
import ucar.unidata.geoloc.*;
import ucar.unidata.geoloc.projection.*;

import java.io.*;
import java.util.*;

public static void main(String args[]) throws IOException {
   String fileOut = "totalr1.tif";
   GeotiffWriter writer = new GeotiffWriter(fileOut);
writer.writeGrid("2003091116_ruc2.nc", "P_sfc", 0, 0, false);
   writer.close();
}

If this does not work for you, email me your java code.

Yuan


Matt




------------------------------------------------------------------------

import ucar.ma2.*;
import ucar.nc2.*;
import ucar.nc2.dataset.*;
import ucar.nc2.geotiff.*;
import ucar.nc2.dataset.grid.*;
import ucar.unidata.geoloc.*;
import ucar.unidata.geoloc.projection.*;

import java.io.*;
import java.util.*;

class NetcdfToGeotif {
  public static void main(String args[]) throws IOException {
     String fileOut = "/home/mwfoster/netCDF/maxT_test.tiff";
     GeotiffWriter writer = new GeotiffWriter(fileOut);
writer.writeGrid("/home/mwfoster/MaxT_test.cdf", "MaxT_SFC", 0, 0, false, null);
     writer.close();
  }
}