nasumilu\geometry
mostly provides an implementation of the OpenGIS® standards for geographic information, common architecture for PHP.
This component only provides a common framework used to develop platform specific implementation.
$options = [
'3d' => true,
'measured' => true,
'srid' => 3857
];
$factory = new GeometryFactoryAdapter($options);
$point = $factory->createPoint([
-93957413244860,
-89692863500304,
58.464,
9863321.35
]);
echo $point->asText();
echo $point->asBinary(['hex_str' => true, 'endianness' => 'XDR']);
Output
POINTZM(-93957413244860 -89692863500304 58.464 9863321.35)
0000000bb9c2d55d0a8f63ef00c2d464cfd1240400404d3b645a1cac084162d0132b333333
Creating geometry from WKT
$point = $factory->create('POINTZM(-93957413244860 -89692863500304 58.464 9863321.35)');
echo $point->output('json', ['json_encode_options' => \JSON_PRETTY_PRINT]);
Output
{
"type": "point",
"binary_type": 1,
"crs": {
"srid": 3857,
"3d": true,
"measured": true,
"dimension": 4
},
"coordinates": [
-93957413244860,
-89692863500304,
58.464,
9863321.35
]
}
$ git clone git@github.com:nasumilu/geometry.git
$ cd geometry
$ composer update
$ cp phpunit.dist.xml phpunit.xml
$ vendor/bin/phpunit