Tripal Plant PopGen Submit
get_env_data.inc File Reference

Go to the source code of this file.

Functions

 tpps_get_env_response ($layer_id, $lat, $long)
 
 tpps_get_environmental_layer_data ($layer_id, $lat, $long, $param)
 

Detailed Description

Defines functions to load environmental data from CartograTree layers.

Definition in file get_env_data.inc.

Function Documentation

tpps_get_env_response (   $layer_id,
  $lat,
  $long 
)

This function loads data for a CartograTree layer at a lat/long coordinate.

Parameters
int$layer_idThe identifier of the CartograTree environmental layer.
float$latThe latitude coordinate being queried.
float$longThe longitude coordinate being queried.
Returns
string The environmental data for that layer at that lat/long coordinate.

Definition at line 54 of file get_env_data.inc.

54  {
55  if (db_table_exists('cartogratree_layers')) {
56  $query = db_select('cartogratree_layers', 'l')
57  ->fields('l', array('name'))
58  ->condition('layer_id', $layer_id)
59  ->execute();
60 
61  $result = $query->fetchObject();
62  $layers = $result->name;
63 
64  $url = "http://treegenesdev.cam.uchc.edu:8080/geoserver/ct/wms?";
65  $serv = "WMS";
66  $ver = "1.3.0";
67  $req = "GetFeatureInfo";
68  $srs = "EPSG:4326";
69  $format = "application/json";
70  $bigger_lat = $lat + 0.0000001;
71  $bigger_long = $long + 0.0000001;
72  $bbox = "$lat,$long,$bigger_lat,$bigger_long";
73  $pixels = "width=1&height=1&X=0&Y=0";
74 
75  $url .= "service=$serv&version=$ver&request=$req&layers=$layers&srs=$srs&format=$format&query_layers=$layers&bbox=$bbox&$pixels";
76 
77  return file_get_contents($url);
78  }
79 }
tpps_get_environmental_layer_data (   $layer_id,
  $lat,
  $long,
  $param 
)

This function parses and returns a data point from a CartograTree layer.

The data point for the layer at the specified location is obtained by calling tpps_get_env_response, and the resulting response string is parsed to return the specified parameter.

Parameters
int$layer_idThe identifier of the CartograTree environmental layer.
float$latThe latitude coordinate being queried.
float$longThe longitude coordinate being queried.
string$paramThe name of the parameter type.
Returns
mixed The parsed environmental data. If no valid data was found, return NULL.

Definition at line 27 of file get_env_data.inc.

27  {
28 
29  $response = tpps_get_env_response($layer_id, $lat, $long);
30  if (($response = explode("\n", $response))) {
31  $response = array_slice($response, 2, -2);
32  foreach ($response as $line) {
33  if (($item = explode("=", $line)) and trim($item[0]) == $param) {
34  return trim($item[1]);
35  }
36  }
37  }
38  return NULL;
39 }
tpps_get_env_response($layer_id, $lat, $long)