承接 b35/vivoo-poi-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

b35/vivoo-poi-client

最新稳定版本:1.0.0

Composer 安装命令:

composer require b35/vivoo-poi-client

包简介

PHP client for the Vlaanderen POI OGC API Features

README 文档

README

PHP client for the Digitaal Vlaanderen POI OGC API Features service, with a focus on the Vlaamse Inventaris van Ongeschikte en Onbewoonbare Woningen (VIVOO) — the Flemish registry of dwellings declared unsuitable or uninhabitable by municipal mayors under Book 3 of the 2021 Flemish Housing Code.

The dataset covers single-family homes, apartments, and rooms in the Flemish Region. It is maintained by Wonen in Vlaanderen and refreshed daily. When using this data, attribution is required: "Bron: Wonen-Vlaanderen".

Requirements

  • PHP 8.1+
  • Composer

Installation

composer require b35/vivoo-poi-client

Usage

Basic usage

use B35\Vivoo\PoiClient;

$client = new PoiClient();

// List all available collections
$collections = $client->getCollections();

// Fetch features from a collection (with optional limit and bounding box)
$features = $client->getFeatures('POI', [
    'limit' => 10,
    'bbox'  => [2.5, 50.6, 5.9, 51.6],
]);

// Fetch a single feature by ID
$feature = $client->getFeature('POI', '12345');

Filtering with CqlFilter

CqlFilter builds CQL2-text filter strings. Pass the result as the filter parameter alongside 'filter-lang' => 'cql2-text'.

use B35\Vivoo\CqlFilter;
use B35\Vivoo\PoiClient;

$client = new PoiClient();

// Filter by address
$filter = (new CqlFilter())->address(
    straat:     'Bergensesteenweg',
    huisnummer: '709',
    gemeente:   'Sint-Pieters-Leeuw',
)->build();

$features = $client->getFeatures('POI', [
    'filter'      => $filter,
    'filter-lang' => 'cql2-text',
]);

CqlFilter methods

Method CQL2 output
->equals('FIELD', 'value') FIELD='value'
->like('FIELD', 'val%') FIELD LIKE 'val%'
->address(straat, huisnummer, postcode, gemeente) Convenience wrapper for the standard address fields

All parameters to address() are optional. Wildcards % (any string) and _ (single character) are supported in like() and in the straat parameter of address(). Matches are case-sensitive.

Multiple conditions are joined with AND:

$filter = (new CqlFilter())
    ->equals('PRODUCT', 'VlaamseInventarisOngeschikteOnbewoonbareWoningen')
    ->address(gemeente: 'Antwerpen')
    ->build();
// PRODUCT='VlaamseInventarisOngeschikteOnbewoonbareWoningen' AND GEMEENTE='Antwerpen'

All client methods

Method Endpoint
getLandingPage() GET /
getConformanceDeclaration() GET /conformance
getCQLFunctions() GET /functions
getCollections() GET /collections
describeCollection($id) GET /collections/{id}
getQueryables($id) GET /collections/{id}/queryables
getFeatures($id, $params) GET /collections/{id}/items
getFeature($id, $featureId) GET /collections/{id}/items/{featureId}
searchFeatures($id, $body) POST /collections/{id}/search

getFeatures() and searchFeatures() accept: limit, bbox, datetime, filter, filter-lang, filter-crs, sortby, crs, bbox-crs.

Error handling

All API and network errors throw B35\Vivoo\Exception\ApiException:

use B35\Vivoo\Exception\ApiException;

try {
    $features = $client->getFeatures('unknown-collection');
} catch (ApiException $e) {
    echo $e->getStatusCode();    // HTTP status code
    echo $e->getResponseBody();  // Raw response body
}

License

MIT

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-05-14

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固