int main(int argc, char** argv) { if(argc != 1) { LOGE("usage: %s", argv[0]); return EXIT_FAILURE; } // create temporary working image texgz_tex_t* dst = texgz_tex_new(SUBTILE_SIZE, SUBTILE_SIZE, SUBTILE_SIZE, SUBTILE_SIZE, TEXGZ_UNSIGNED_BYTE, TEXGZ_RGB, NULL); if(dst == NULL) { return EXIT_FAILURE; } int month; char fname[256]; const char* base = "png/world.topo.bathy.2004"; const char* size = "3x21600x21600"; for(month = 1; month <= 12; ++month) { snprintf(fname, 256, "%s%02i.%s.A1.png", base, month, size); sample_sector(dst, month, 0, 0, 90.0, -180.0, 0.0, -90.0, fname); snprintf(fname, 256, "%s%02i.%s.B1.png", base, month, size); sample_sector(dst, month, 0, 1, 90.0, -90.0, 0.0, 0.0, fname); snprintf(fname, 256, "%s%02i.%s.C1.png", base, month, size); sample_sector(dst, month, 0, 2, 90.0, 0.0, 0.0, 90.0, fname); snprintf(fname, 256, "%s%02i.%s.D1.png", base, month, size); sample_sector(dst, month, 0, 3, 90.0, 90.0, 0.0, 180.0, fname); snprintf(fname, 256, "%s%02i.%s.A2.png", base, month, size); sample_sector(dst, month, 1, 0, 0.0, -180.0, -90.0, -90.0, fname); snprintf(fname, 256, "%s%02i.%s.B2.png", base, month, size); sample_sector(dst, month, 1, 1, 0.0, -90.0, -90.0, 0.0, fname); snprintf(fname, 256, "%s%02i.%s.C2.png", base, month, size); sample_sector(dst, month, 1, 2, 0.0, 0.0, -90.0, 90.0, fname); snprintf(fname, 256, "%s%02i.%s.D2.png", base, month, size); sample_sector(dst, month, 1, 3, 0.0, 90.0, -90.0, 180.0, fname); } texgz_tex_delete(&dst); return EXIT_SUCCESS; }
int main(int argc, char** argv) { int month; char fname[256]; const char* base = "nasa-blue-marble/world.topo.bathy.2004"; const char* size = "3x21600x21600"; for(month = 1; month <= 12; ++month) { // create directories if necessary char dname[256]; snprintf(dname, 256, "bluemarble%i", month); if(mkdir(dname, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == -1) { if(errno == EEXIST) { // already exists } else { LOGE("mkdir %s failed", dname); return EXIT_FAILURE; } } snprintf(dname, 256, "bluemarble%i/9", month); if(mkdir(dname, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == -1) { if(errno == EEXIST) { // already exists } else { LOGE("mkdir %s failed", dname); return EXIT_FAILURE; } } snprintf(fname, 256, "%s%02i.%s.A1.png", base, month, size); sample_sector(month, 0, 0, 90.0, -180.0, 0.0, -90.0, fname); snprintf(fname, 256, "%s%02i.%s.B1.png", base, month, size); sample_sector(month, 0, 1, 90.0, -90.0, 0.0, 0.0, fname); snprintf(fname, 256, "%s%02i.%s.C1.png", base, month, size); sample_sector(month, 0, 2, 90.0, 0.0, 0.0, 90.0, fname); snprintf(fname, 256, "%s%02i.%s.D1.png", base, month, size); sample_sector(month, 0, 3, 90.0, 90.0, 0.0, 180.0, fname); snprintf(fname, 256, "%s%02i.%s.A2.png", base, month, size); sample_sector(month, 1, 0, 0.0, -180.0, -90.0, -90.0, fname); snprintf(fname, 256, "%s%02i.%s.B2.png", base, month, size); sample_sector(month, 1, 1, 0.0, -90.0, -90.0, 0.0, fname); snprintf(fname, 256, "%s%02i.%s.C2.png", base, month, size); sample_sector(month, 1, 2, 0.0, 0.0, -90.0, 90.0, fname); snprintf(fname, 256, "%s%02i.%s.D2.png", base, month, size); sample_sector(month, 1, 3, 0.0, 90.0, -90.0, 180.0, fname); } return EXIT_SUCCESS; }