PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ gml_is_srid_planar()

static int gml_is_srid_planar ( int  srid)
static

Return 1 if given srid is planar (0 otherwise, i.e geocentric srid) Return -1 if srid is not in spatial_ref_sys.

Definition at line 329 of file lwgeom_in_gml.c.

Referenced by parse_gml_srs().

330 {
331  char *result;
332  char query[256];
333  int is_planar, err;
334 
335  if (SPI_OK_CONNECT != SPI_connect ())
336  lwpgerror("gml_is_srid_planar: could not connect to SPI manager");
337 
338  /* A way to find if this projection is planar or geocentric */
339  sprintf(query, "SELECT position('+units=m ' in proj4text) \
340  FROM spatial_ref_sys WHERE srid='%d'", srid);
341 
342  err = SPI_exec(query, 1);
343  if (err < 0) lwpgerror("gml_is_srid_planar: error executing query %d", err);
344 
345  /* No entry in spatial_ref_sys */
346  if (SPI_processed <= 0)
347  {
348  SPI_finish();
349  return -1;
350  }
351 
352  result = SPI_getvalue(SPI_tuptable->vals[0], SPI_tuptable->tupdesc, 1);
353  is_planar = atoi(result);
354  SPI_finish();
355 
356  return is_planar;
357 }
Here is the caller graph for this function: