nieuwland / ogc-serializer
(de)serialize ogc documents
Installs: 1 703
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 2
Requires
- php: ^7.4 || ^8
- jms/serializer: ^3.23
- symfony/cache: ^5.4
- symfony/dom-crawler: ^5.4
Requires (Dev)
- doctrine/annotations: ^1.14
- doctrine/cache: *
- doctrine/coding-standard: ^8.0
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: *
- symfony/validator: ^5.4
Suggests
- dev-master
- v1.5
- v1.4
- v1.3
- v1.2
- v1.1
- v1.0
- dev-WGP5-5501-get-type-prefix
- dev-WGP5-5299-wms-capabs-no-service-title
- dev-WGP5-5323-describefeaturetype-fails
- dev-WGP5-5285-jms-serializer-not-updateable
- dev-WGP5-5252-metadataurl-from-capabilities
- dev-PHP8_1
- dev-WGP5-5029-upgrade-jms-serializer-bundle
- dev-WMTS-TileMatrices
- dev-Capabilities-with-wfs-namespace
This package is auto-updated.
Last update: 2024-04-15 14:13:57 UTC
README
Read documents from OGC (Open Geospatial Consortium) web service interfaces. Similar to OWSLib but without a http client.
Supports:
- WMS 1.3.0 capabilities
- WFS 2.0.0 and 1.1.0 capabilities
- WMTS 1.0 capabilities
- Reading WFS schema from describefeaturetype request
Planned:
- OGC feature api
Install
composer require nieuwland/ogc-serializer
Planned
This package is in development!
(de)Serialize WMS, WFS and WMTS getCapabilities and related.
Example
Reading capabilities
<?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');
extracting common used props
The project has some objects for easy data transfer to clients unaware of differences between the protocols.
<?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 schema
<?php use Nieuwland\OgcSerializer\Utils\WfsSchemaElement; $reader = new WfsSchemaReader() $fields = $reader->extractFields($xml, 'bestuurlijkegrenzen:gemeenten'); foreach ($fields as $field) { echo $field->getName() . $field->getType(); }
Contribute
- Follow the coding standards defined in
phpcs.xml.dist
- Add tests for your code
Professional Support
For eventual paid support please write an email to develop@nieuwland.nl.