Skip to content

nasumilu/geometry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nasumilu/geometry Build Status codecov

Description

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.

Basic usage

$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
    ]
}

Download and Test

$ git clone git@github.com:nasumilu/geometry.git
$ cd geometry
$ composer update
$ cp phpunit.dist.xml phpunit.xml
$ vendor/bin/phpunit

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages