php-polylabel
PHP port of https://github.com/mapbox/polylabel (by dliebner)
GeoTools
Geo-related tools PHP 7.3+ library built atop Geocoder and React libraries (by thephpleague)
php-polylabel | GeoTools | |
---|---|---|
1 | 1 | |
5 | 1,357 | |
- | 0.3% | |
4.7 | 5.1 | |
over 2 years ago | 2 months ago | |
PHP | PHP | |
- | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
php-polylabel
Posts with mentions or reviews of php-polylabel.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-26.
-
Store values based on geographic data calculation (which polygon is a point within?)
So this is something doable, but I'd say it required some advanced drupal chops and a few prior geo/mapping skills to know what each module does and how they work with each other. I have done this kinda thing since Drupal 6 and it still took me a few weeks of work to go from a few CSVs to a beautiful map with facets, per type styled polygons/points with nice labels, clustering, infowindows...
GeoTools
Posts with mentions or reviews of GeoTools.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-03-26.
-
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?
When comparing php-polylabel and GeoTools you can also consider the following projects:
GeoTools - Official GeoTools repository
PHPGeo - Simple Yet Powerful Geo Library for PHP
js-markerwithlabel - Google Maps Marker with Label
GeoCoder - The most featured Geocoder library written in PHP.
GeoJSON - GeoJSON implementation for PHP
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.
OpenCage Data Geocoding Library for PHP - PHP library to access the OpenCage geocoding API