Return 1 if the SRS definition from the authority has a GIS friendly order, that is easting,northing.
This is typically true for most projected CRS (but not all!), and this is false for EPSG geographic CRS.
347 int is_axis_order_gis_friendly, err;
349 if (SPI_OK_CONNECT != SPI_connect ())
350 lwpgerror(
"gml_is_srs_axis_order_gis_friendly: could not connect to SPI manager");
352 sprintf(query,
"SELECT srtext \
353 FROM spatial_ref_sys WHERE srid='%d'", srid);
355 err = SPI_exec(query, 1);
356 if (err < 0) lwpgerror(
"gml_is_srs_axis_order_gis_friendly: error executing query %d", err);
359 if (SPI_processed <= 0)
365 srtext = SPI_getvalue(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, 1);
367 is_axis_order_gis_friendly = 1;
368 if (srtext && srtext[0] !=
'\0')
371 char* srtext_horizontal = (
char*)
malloc(strlen(srtext) + 1);
372 strcpy(srtext_horizontal, srtext);
375 ptr = strstr(srtext_horizontal,
",VERT_CS[");
379 if( strstr(srtext_horizontal,
"AXIS[") == NULL &&
380 strstr(srtext_horizontal,
"GEOCCS[") == NULL )
385 is_axis_order_gis_friendly = 0;
387 else if( strstr(srtext_horizontal,
388 "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]") != NULL )
390 is_axis_order_gis_friendly = 0;
392 else if( strstr(srtext_horizontal,
393 "AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]") != NULL )
395 is_axis_order_gis_friendly = 0;
397 else if( strstr(srtext_horizontal,
398 "AXIS[\"geodetic latitude (Lat)\",north,ORDER[1]") != NULL )
400 is_axis_order_gis_friendly = 0;
403 free(srtext_horizontal);
407 return is_axis_order_gis_friendly;