|
@@ -149,6 +149,30 @@ void check_projection(struct Cell_head *cellhd, GDALDatasetH hDS,
|
|
|
sprintf(error_msg + strlen(error_msg), "%s: %s\n",
|
|
|
proj_info->key[i_value],
|
|
|
proj_info->value[i_value]);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ strcat(error_msg, _("Dataset PROJ_INFO is:\n"));
|
|
|
+ if (cellhd->proj == PROJECTION_XY)
|
|
|
+ sprintf(error_msg + strlen(error_msg),
|
|
|
+ "Dataset proj = %d (unreferenced/unknown)\n",
|
|
|
+ cellhd->proj);
|
|
|
+ else if (cellhd->proj == PROJECTION_LL)
|
|
|
+ sprintf(error_msg + strlen(error_msg),
|
|
|
+ "Dataset proj = %d (lat/long)\n",
|
|
|
+ cellhd->proj);
|
|
|
+ else if (cellhd->proj == PROJECTION_UTM)
|
|
|
+ sprintf(error_msg + strlen(error_msg),
|
|
|
+ "Dataset proj = %d (UTM), zone = %d\n",
|
|
|
+ cellhd->proj, cellhd->zone);
|
|
|
+ else
|
|
|
+ sprintf(error_msg + strlen(error_msg),
|
|
|
+ "Dataset proj = %d (unknown), zone = %d\n",
|
|
|
+ cellhd->proj, cellhd->zone);
|
|
|
+ }
|
|
|
+ if (loc_wind.proj != cellhd->proj) {
|
|
|
+ strcat(error_msg, "\nERROR: proj\n");
|
|
|
+ }
|
|
|
+ else {
|
|
|
strcat(error_msg, "\nERROR: ");
|
|
|
switch (err) {
|
|
|
case -1:
|
|
@@ -186,25 +210,6 @@ void check_projection(struct Cell_head *cellhd, GDALDatasetH hDS,
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- else {
|
|
|
- strcat(error_msg, _("Dataset PROJ_INFO is:\n"));
|
|
|
- if (cellhd->proj == PROJECTION_XY)
|
|
|
- sprintf(error_msg + strlen(error_msg),
|
|
|
- "Dataset proj = %d (unreferenced/unknown)\n",
|
|
|
- cellhd->proj);
|
|
|
- else if (cellhd->proj == PROJECTION_LL)
|
|
|
- sprintf(error_msg + strlen(error_msg),
|
|
|
- "Dataset proj = %d (lat/long)\n",
|
|
|
- cellhd->proj);
|
|
|
- else if (cellhd->proj == PROJECTION_UTM)
|
|
|
- sprintf(error_msg + strlen(error_msg),
|
|
|
- "Dataset proj = %d (UTM), zone = %d\n",
|
|
|
- cellhd->proj, cellhd->zone);
|
|
|
- else
|
|
|
- sprintf(error_msg + strlen(error_msg),
|
|
|
- "Dataset proj = %d (unknown), zone = %d\n",
|
|
|
- cellhd->proj, cellhd->zone);
|
|
|
- }
|
|
|
}
|
|
|
else {
|
|
|
/* error in proj_units */
|
|
@@ -235,11 +240,12 @@ void check_projection(struct Cell_head *cellhd, GDALDatasetH hDS,
|
|
|
"the 'location' parameter.\n"));
|
|
|
|
|
|
if (check_only)
|
|
|
- msg_fn = G_message;
|
|
|
+ msg_fn = G_warning;
|
|
|
else
|
|
|
msg_fn = G_fatal_error;
|
|
|
msg_fn(error_msg);
|
|
|
if (check_only) {
|
|
|
+ GDALClose(hDS);
|
|
|
exit(EXIT_FAILURE);
|
|
|
}
|
|
|
}
|