Download the PHP package survos/poi-bundle without Composer

On this page you can find all versions of the php package survos/poi-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package poi-bundle

POI Bundle

survos/poi-bundle resolves named points of interest — churches, schools, shops, parks — from OpenStreetMap/Nominatim, scoped to a known geographic context (a bounding box). It's the third companion in a small family of place-resolution bundles, each solving one layer:

See survos/mono#28 for how the split was decided, and fortepan-us/kronofoto#48 for prior art already in the ecosystem (kronofoto's own OSM point-feature importer, pano's old local Overpass mirror).

What it does

The bounding box is the caller's responsibility to resolve — e.g. from geonames-bundle's GeoService::find('Ancud, Chile') — this bundle takes no dependency on geonames-bundle or any other place-resolution source. That's the point of the split: compose them in the consuming app/pipeline, don't couple the bundles to each other.

Configuration

Caching

Two layers, because they cover different failure modes:

Live (uncached) requests are also throttled to min_request_interval seconds apart (default 1.1), per Nominatim's ~1 request/second policy.

Caching now goes through fetch-bundle's shared CachingHttpClientFactory (the ~15-line wiring block described above as a follow-up is done — see SurvosPoiBundle::loadExtension()), the same factory loc-bundle uses.

Retry: the poi.nominatim.client scoped client retries transport errors and HTTP 500/502/503/504 (Symfony's built-in retry_failed, exponential backoff). 429 is deliberately excluded — Nominatim's usage policy is the hard ~1 req/sec ceiling already enforced by min_request_interval above; blind retry-with-backoff on top of a 429 from this specific origin is the wrong response, not a missing one.

Storage: folio, not a bundle-local table

Unlike place-map-bundle's Place entity, this bundle does not persist anything itself. POI matching is bulk/automated output — the same shape every other folio content type already has a home for — not a curated one-at-a-time library. --as-dto prints the top candidate as a folio PoiDto (ContentType::POI, survos/data-contracts), ready to feed a dataset:normalize pipeline:

PoiDto (Survos\DataContracts\Dto\Item\PoiDto) extends BaseItemDto like every other content type — $title/$latitude/$longitude/$city/$state/$country are inherited; $category, $osmType/$osmId (provenance), $matchedQuery (the literal source text, kept separate from OSM's own name), and $parentGeonameId (the join back to geonames-bundle's hierarchy) are new. PoiCandidate::toDto() is the conversion — see src/Dto/PoiCandidate.php.

Status

Built for survos/mono#26's tag-splitting pilot (Enterreno's Etiquetas field mixes place names — "Catedral de Ancud", "Plaza de Ancud" — into its facet tags). Not yet wired into that pipeline; NominatimPoiClient + PoiDto are the two pieces it needs, both real and tested, but nothing calls this bundle from md's ingest yet.

Not done: candidate ranking/scoring (this bundle returns Nominatim's own result order, unranked — see the original spec in survos/mono#28 for what a real matcher would need), and no bulk local OSM extract import (kronofoto's import_osm_points.py is the reference if/when that's needed instead of live per-query search).


All versions of poi-bundle with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
symfony/config Version ^8.1
symfony/console Version ^8.1
symfony/dependency-injection Version ^8.1
symfony/framework-bundle Version ^8.1
symfony/http-client Version ^8.1
symfony/http-kernel Version ^8.1
survos/data-contracts Version ^2.5
survos/fetch-bundle Version ^2.5
survos/kit-bundle Version ^2.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package survos/poi-bundle contains the following files

Loading the files please wait ...