- PHP 7.4+
requires composer
composer.json (note: replace dev-master
with a version boundary)
{
"require": {
"php": "^7.4 || ^8.0",
"chillerlan/php-geojson-helpers": "dev-master"
}
}
Profit!
$featureCollection = (new FeatureCollection)->setBbox([0, 0, 1024, 1024]);
// add a single feature
$feature = new Feature([512, 512], 'Point', 1);
$featureCollection->addFeature($feature);
// add an iterable of features
$featureCollection->addFeatures([$feature, /* ... more features ... */]);
// create the GeoJSON, feed leaflet
$json = $featureCollection->toJSON();
// as of v2.x via JsonSerializable
$json = json_encode($featureCollection);
{
"type":"FeatureCollection",
"bbox":[0, 0, 1024, 1024],
"features":[
{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[512, 512]
},
"properties":{
"id":1
}
}
]
}
$polylineCoords = [[11, 12], [21, 22], [31, 32], /* ... */];
$ps = new PolylineSimplifyer($polylineCoords);
$simplified = $ps->simplify(5, true);
method | return | description |
---|---|---|
__construct(array $coords = null, string $type = null, $id = null) |
- | coords: [x, y] |
setGeometry(array $coords, string $type) |
Feature |
coords: [x, y] , type is one of Feature::types |
setProperties(array $properties) |
Feature |
|
setID($id) |
Feature |
method | return | description |
---|---|---|
__construct(iterable $features = null) |
- | |
addFeature(Feature $feature) |
FeatureCollection |
|
addFeatures(iterable $features) |
FeatureCollection |
|
clearFeatures() |
FeatureCollection |
method | return | description |
---|---|---|
setBbox(array $bbox) |
Feature /FeatureCollection |
|
toArray() |
array | |
toJSON(int $options = null) |
string | |
jsonSerialize() |
array | from JsonSerializable |
method | return | description |
---|---|---|
__construct(array $continent_rect) |
- | NW/SE corners [[nw_x, nw_y],[se_x, se_y]] |
getBounds() |
array | |
getCenter() |
array | |
getPoly() |
array |
method | return | description |
---|---|---|
__construct(array $polylineCoords) |
- | an array of polyline coordiantes: [[x1, y1], [x2, y2], ...] |
simplify(float $tolerance = 1, bool $highestQuality = false) |
array |