定制 nasumilu/geometry 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nasumilu/geometry

最新稳定版本:v2.0.0

Composer 安装命令:

composer require nasumilu/geometry

包简介

Component provides the basic geometry classes used in Geographical Information Systems (GIS).

README 文档

README

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

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2024-12-23