定制 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
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

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