コード例 #1
0
intn write_swath(int32 swfid, char* sname, int xdim, int ydim, int zdim)
{
    char field_name[]= "temperature";
    char field_dim_name[]= "ZDim,xtrack,ytrack";
    char geo_name[]= "pressure";
    char geo_name_lon[]= "Longitude";
    char geo_name_lat[]= "Latitude";
    char geo_dim_name[]= "ZDim";
    char geo_dim_name2[]= "xtrack,ytrack";

    int swid = 0;

    swid = SWcreate(swfid, sname);
    if(swid == -1)  {
	fprintf(stderr, "SWcreate() failed.\n");
	return -1;        
    }
    /* Define dimension. */
    write_dimension(swid, xdim, ydim, zdim);

    /* Define geolocaiton fields. */
    write_field_1d(swid, geo_name, 1, zdim, geo_dim_name);
    write_field_2d(swid, geo_name_lat, 1, xdim, ydim, geo_dim_name2);
    write_field_2d(swid, geo_name_lon, 1, xdim, ydim, geo_dim_name2);

    /* Write field. */
    write_field_3d(swid, field_name, xdim, ydim, zdim, field_dim_name);

    /* Close the Grid. */
    SWdetach(swid);
    return 0;
}
コード例 #2
0
ファイル: hdf-eos2-test.c プロジェクト: AmatCoder/mxe
int main() {
  char filename[] = "test.he4";
  int fid = SWopen(filename, DFACC_CREATE);
  char swathname[] = "myswath";
  int swid = SWcreate(fid, swathname);

  char dimname[] = "mydim";
  const int32 dimlen = 10;
  int rc = SWdefdim(swid, dimname, dimlen);
  printf("SWdefdim: %d\n", rc);
  char fieldname[] = "test_field";
  rc = SWdefdatafield(swid, fieldname, dimname, DFNT_FLOAT, 0);
  printf("SWdefdatafield: %d\n", rc);

  int32 start = 0;
  int32 edge = dimlen;
  float data[dimlen];
  for (int i=0; i<dimlen; ++i) {
    data[i] = 1.0 + i;
  }
  rc = SWwritefield(swid, fieldname, &start, NULL, &edge, data);
  printf("SWwritefield: %d\n", rc);

  rc = SWdetach(swid);
  printf("SWdetach: %d\n", rc);
  rc = SWclose(fid);
  printf("SWclose: %d\n", rc);
}