承接 ministryofweb/php-osm-tiles 相关项目开发

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

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

ministryofweb/php-osm-tiles

最新稳定版本:4.0.0

Composer 安装命令:

composer require ministryofweb/php-osm-tiles

包简介

A library to convert map tile numbers to coordinates and vice versa.

README 文档

README

This library helps to convert OpenStreetMap (OSM) map tile numbers to geographical coordinates and vice versa.

PHP OSM Tiles Tests

Installation

Using Composer, add it to your composer.json by running:

composer require ministryofweb/php-osm-tiles

Compatibility

The PHP OSM Tiles library requires PHP >= 8.1.

If support for older PHP versions is needed, the PHP OSM Tiles library can be installed at version 2.0 (PHP 7.3, PHP 7.4 and PHP 8.0), 1.0 (PHP 7.1 and PHP 7.2) or version 0.1.0 (PHP 7.0).

Usage/Examples

Convert from geographical coordinates to map tile numbers

<?php

use MinistryOfWeb\OsmTiles\Converter;
use MinistryOfWeb\OsmTiles\LatLng;

$converter = new Converter();
$point     = new LatLng(52.5, 13.4);
$zoom      = 13;

$tile = $converter->toTile($point, $zoom);

printf('/tiles/%d/%d/%d.png', $zoom, $tile->x, $tile->y);

The code above produces the output below:

/tiles/13/4400/2687.png

Convert from map tile numbers to geographical coordinates

<?php

use MinistryOfWeb\OsmTiles\Converter;
use MinistryOfWeb\OsmTiles\Tile;

$converter = new Converter();
$tile     = new Tile(4400, 2687, 13);

$point = $converter->toLatLng($tile);

printf('%.5f, %.5f', $point->lat, $point->lat);

The code above produces the output below:

52.50953, 13.35938

Get Bounds of a Tile

It's possible to get the coordinates for the Tiles north-western, north-eastern, south-eastern and south-western nodes:

<?php

use MinistryOfWeb\OsmTiles\LatLng;
use MinistryOfWeb\OsmTiles\Tile;
use MinistryOfWeb\OsmTiles\TileBounds;

$tile = Tile::fromLocation(new LatLng(52.5, 13.5));

echo 'South-eastern point for tile is located at: ' . TileBounds::getSouthEast($tile)->lat . ', ' . TileBounds::getSouthEast($tile)->lng . PHP_EOL;

The code above produces the output below:

South-eastern point for tile is located at: 52.496159531097, 13.51318359375

Run Tests

make test

or

./vendor/bin/phpunit

Run all CI tools

make ci

OpenStreetMap Map Tile Names Documentation

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-01-30