Parcourir la source

GDAL/OGR import (#368)

report XY location when comparing projections
Markus Metz il y a 5 ans
Parent
commit
d4840684f2
4 fichiers modifiés avec 76 ajouts et 0 suppressions
  1. 19 0
      raster/r.external/proj.c
  2. 19 0
      raster/r.in.gdal/proj.c
  3. 19 0
      vector/v.external/proj.c
  4. 19 0
      vector/v.in.ogr/proj.c

+ 19 - 0
raster/r.external/proj.c

@@ -165,6 +165,25 @@ void check_projection(struct Cell_head *cellhd, GDALDatasetH hDS,
 				loc_proj_info->value[i_value]);
 		    strcat(error_msg, "\n");
 		}
+		else {
+		    strcat(error_msg, _("Location PROJ_INFO is:\n"));
+		    if (loc_wind.proj == PROJECTION_XY)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unreferenced/unknown)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_LL)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (lat/long)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_UTM)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (UTM), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		    else
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unknown), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		}
 
 		if (proj_info != NULL) {
 		    strcat(error_msg, _("Dataset PROJ_INFO is:\n"));

+ 19 - 0
raster/r.in.gdal/proj.c

@@ -165,6 +165,25 @@ void check_projection(struct Cell_head *cellhd, GDALDatasetH hDS,
 				loc_proj_info->value[i_value]);
 		    strcat(error_msg, "\n");
 		}
+		else {
+		    strcat(error_msg, _("Location PROJ_INFO is:\n"));
+		    if (loc_wind.proj == PROJECTION_XY)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unreferenced/unknown)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_LL)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (lat/long)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_UTM)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (UTM), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		    else
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unknown), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		}
 
 		if (proj_info != NULL) {
 		    strcat(error_msg, _("Dataset PROJ_INFO is:\n"));

+ 19 - 0
vector/v.external/proj.c

@@ -258,6 +258,25 @@ void check_projection(struct Cell_head *cellhd, ds_t hDS, int layer, char *geom_
 				loc_proj_info->value[i_value]);
 		    strcat(error_msg, "\n");
 		}
+		else {
+		    strcat(error_msg, _("Location PROJ_INFO is:\n"));
+		    if (loc_wind.proj == PROJECTION_XY)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unreferenced/unknown)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_LL)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (lat/long)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_UTM)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (UTM), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		    else
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unknown), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		}
 
 		if (proj_info != NULL) {
 		    strcat(error_msg, _("Dataset PROJ_INFO is:\n"));

+ 19 - 0
vector/v.in.ogr/proj.c

@@ -373,6 +373,25 @@ void check_projection(struct Cell_head *cellhd, ds_t hDS, int layer, char *geom_
 				loc_proj_info->value[i_value]);
 		    strcat(error_msg, "\n");
 		}
+		else {
+		    strcat(error_msg, _("Location PROJ_INFO is:\n"));
+		    if (loc_wind.proj == PROJECTION_XY)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unreferenced/unknown)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_LL)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (lat/long)\n",
+				loc_wind.proj);
+		    else if (loc_wind.proj == PROJECTION_UTM)
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (UTM), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		    else
+			sprintf(error_msg + strlen(error_msg),
+				"Location proj = %d (unknown), zone = %d\n",
+				loc_wind.proj, cellhd->zone);
+		}
 
 		if (proj_info != NULL) {
 		    strcat(error_msg, _("Dataset PROJ_INFO is:\n"));