nieuwland/ogc-serializer

(反)序列化OGC文档


README

Build Status

从OGC(开放地理空间联盟)网络服务接口读取文档。类似于OWSLib,但没有http客户端。

支持

  • WMS 1.3.0功能
  • WFS 2.0.0和1.1.0功能
  • WMTS 1.0功能
  • 从describefeaturetype请求中读取WFS模式

计划

  • OGC特征API

安装

composer require nieuwland/ogc-serializer

计划

此包处于开发中!

(反)序列化WMS、WFS和WMTS的getCapabilities及相关内容。

示例

读取功能

<?php

use Nieuwland\OgcSerializer\SerializerFactory;
use Nieuwland\OgcSerializer\Type\WMS\Capabilities\Capabilities130;

$serializer   = SerializerFactory::create();
/** @var Capabilities130 $capabilities */
$capabilities = $serializer->deserialize($xml, Capabilities130::class, 'xml');
$layer = $capabilities->getLayer('mylayer');

提取常用属性

该项目有一些对象,可以轻松地将数据传输到不了解协议之间差异的客户端。

<?php

use Nieuwland\OgcSerializer\Generic\ServiceCapabilitiesFactory;
use Nieuwland\OgcSerializer\SerializerFactory;

$serializer   = SerializerFactory::create();
/** @var Capabilities130 $capabilities */
$capabilities = $serializer->deserialize($xml, Capabilities130::class, 'xml');
$genericCapabilities = ServiceCapabilitiesFactory::create($capabilities);
$genericCapabilities->getLayerNames();

WFS模式

<?php

use Nieuwland\OgcSerializer\Utils\WfsSchemaElement;

$reader = new WfsSchemaReader()
$fields = $reader->extractFields($xml, 'bestuurlijkegrenzen:gemeenten');
foreach ($fields as $field) {
    echo $field->getName() . $field->getType();
}

贡献

  • 遵循phpcs.xml.dist中定义的编码标准
  • 为您的代码添加测试

专业支持

如有需要付费支持,请发送电子邮件至develop@nieuwland.nl