PHPGeo
GeoTools
PHPGeo | GeoTools | |
---|---|---|
- | 1 | |
1,536 | 1,357 | |
- | 0.3% | |
7.5 | 5.1 | |
5 months ago | about 2 months ago | |
PHP | PHP | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PHPGeo
We haven't tracked posts mentioning PHPGeo yet.
Tracking mentions began in Dec 2020.
GeoTools
-
Store values based on geographic data calculation (which polygon is a point within?)
// Loop on all loaded zones_entities /* @var $zone_geofield \Drupal\geofield\Plugin\Field\FieldType\GeoFieldItem */ $zone_geofield = $your_zone_entity->get('field_your_geofield')->getValue(); /* @var \Drupal\geofield\GeoPHP\GeoPHPInterface $geo_php_wrapper */ $geo_php_wrapper = \Drupal::service('geofield.geophp'); // or inserted via DI /* @var \Geometry$polygon*/ $polygon = $geo_php_wrapper->load($zone_geofield->value); /* @var $entity_geofield \Drupal\geofield\Plugin\Field\FieldType\GeoFieldItem */ $entity_geofield = $your_current_entity->get('field_your_geofield')->getValue(); $point = $geo_php_wrapper->load($entity_geofield->value); if( geoPHP::geosInstalled() ) { $in_zone = $polygon->contains($point); } else { // https://github.com/thephpleague/geotools#polygon $geotools_polygon = new \League\Geotools\Polygon\Polygon( $polygon->asArray() ); $geotools_point = \League\Geotools\Coordinate\Coordinate( $point->asArray() ); $in_zone = $geotools_polygon->pointInPolygon( $geotools_point ); } if( $in_zone ) { // Do things like filling a reference field $entity->set('field_ref_' . $your_zone_entity->bundle()', $your_zone_entity->id() ); }
What are some alternatives?
GeoCoder - The most featured Geocoder library written in PHP.
GeoJSON - GeoJSON implementation for PHP
OpenCage Data Geocoding Library for PHP - PHP library to access the OpenCage geocoding API
Rinvex Country - Rinvex Country is a simple and lightweight package for retrieving country details with flexibility. A whole bunch of data including name, demonym, capital, iso codes, dialling codes, geo data, currencies, flags, emoji, and other attributes for all 250 countries worldwide at your fingertips.
milk-sdk-php - Milk SDK PHP is a (fluent) open-source PHP library that makes it easy to integrate your PHP application with location services like Geocode, Route, Isoline, Search Places and Address, location data ...
js-markerwithlabel - Google Maps Marker with Label
GeoTools - Official GeoTools repository
php-polylabel - PHP port of https://github.com/mapbox/polylabel