You are here

function geofield_get_values_from_geometry in Geofield 7.2

Same name and namespace in other branches
  1. 7 geofield.module \geofield_get_values_from_geometry()

Given a geometry object from geoPHP, return a values array

3 calls to geofield_get_values_from_geometry()
geofield_compute_values in ./geofield.module
Geofield Compute Values
geofield_field_formatter_view in ./geofield.formatters.inc
Implements hook_field_formatter_view().
geofield_rules_create_values in ./geofield.rules.inc
Rules action for creating geofield values from lat/lon.

File

./geofield.module, line 507

Code

function geofield_get_values_from_geometry($geometry) {
  $values = array();
  $centroid = $geometry
    ->getCentroid();
  $bounding = $geometry
    ->getBBox();
  $values['geom'] = $geometry
    ->out('wkb');
  $values['geo_type'] = drupal_strtolower($geometry
    ->getGeomType());
  if ($centroid) {
    $values['lat'] = $centroid
      ->y();
    $values['lon'] = $centroid
      ->x();
  }
  $values['top'] = $bounding['maxy'];
  $values['bottom'] = $bounding['miny'];
  $values['right'] = $bounding['maxx'];
  $values['left'] = $bounding['minx'];

  // Truncate geohash to max length.
  $values['geohash'] = substr($geometry
    ->out('geohash'), 0, GEOFIELD_GEOHASH_LENGTH);
  return $values;
}