PHPackages                             runalyze/dem-reader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. runalyze/dem-reader

ActiveLibrary

runalyze/dem-reader
===================

Read digital elevation files such as GeoTIFF files for srtm data or similar.

1.2.0(4y ago)822.8k—0%1MITPHPPHP &gt;=8.0

Since Jun 22Pushed 4y ago2 watchersCompare

[ Source](https://github.com/Runalyze/dem-reader)[ Packagist](https://packagist.org/packages/runalyze/dem-reader)[ RSS](/packages/runalyze-dem-reader/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (2)Versions (9)Used By (0)

DEM reader
==========

[](#dem-reader)

[![Latest Stable Version](https://camo.githubusercontent.com/f37747d65a9a6c89e181ff1f42aa2df8c105ab538e0cbb9e959f4b69c804c9dc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f72756e616c797a652f64656d2d7265616465722e737667)](https://packagist.org/packages/runalyze/dem-reader)[![Build Status](https://camo.githubusercontent.com/812754b9900ad8e44441c25a69e5f1cf6b0bc1b693d5c5c59b36842e5a0529b8/68747470733a2f2f7472617669732d63692e6f72672f52756e616c797a652f64656d2d7265616465722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/Runalyze/dem-reader)[![Code Coverage](https://camo.githubusercontent.com/90916895a92e02687445deacc134e237f5842601a734e677f776ad3b078fd393/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f52756e616c797a652f64656d2d7265616465722f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/Runalyze/dem-reader/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/ba62b593712786efab703ae0c31a880ad4e88b7884b9f10fd4c2fe42191bd610/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f52756e616c797a652f64656d2d7265616465722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/Runalyze/dem-reader/?branch=master)[![MIT License](https://camo.githubusercontent.com/303dea9542be6485f9a71df1f1d458783f4a8f1c73c95daa21e450492969e34c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f747762732f626f6f746c696e742e737667)](https://github.com/Runalyze/dem-reader/blob/master/LICENSE)

Library to read digital elevation models, such as GeoTIFF files for SRTM. The GeoTIFF reader itself is originally based on [Bob Osola's SRTMGeoTIFFReader](http://www.osola.org.uk/elevations/index.htm).

Usage
-----

[](#usage)

```
use Runalyze\DEM\Reader;
use Runalyze\DEM\Provider\GeoTIFF\SRTM4Provider;

$Provider = new SRTM4Provider('path/to/srtm/files');
$Reader = new Reader($Provider);
$elevations = $Reader->getElevations($latitudes, $longitudes);
```

To give you some more details: Each provider is valid for its own. You can just ignore the general reader and use your favorite provider:

```
use Runalyze\DEM\Provider\GeoTIFF\SRTM4Provider;

$Provider = new SRTM4Provider('path/to/srtm/files');
$elevations = $Provider->getElevations($latitudes, $longitudes);
```

But you may have more than one provider available or different paths where your dem files are located. You can attach as many providers as you want to the reader. Each of them will be checked if it can handle the given elevation data (in the order they were attached) and the wirst one that does will be used.

```
use Runalyze\DEM\Reader;
use Runalyze\DEM\Provider\GeoTIFF\SRTM4Provider;

$Reader = new Reader();
$Reader->addProvider(new SRTM4Provider('path/to/europe/srtm/files'));
$Reader->addProvider(new SRTM4Provider('path/to/america/srtm/files'));

$europeElevations = $Reader->getElevations($europeLatitudes, $europeLongitudes);
$americaElevations = $Reader->getElevations($americaLatitudes, $americaLongitudes);
```

License
-------

[](#license)

Code released under [the MIT license](LICENSE).

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~324 days

Recently: every ~469 days

Total

7

Last Release

1673d ago

PHP version history (2 changes)v1.0.0PHP &gt;=5.5.9

1.2.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/50d6353d737e2c48fd129760b241891b35565b6e608878a12b5413896ccf929c?d=identicon)[mipapo](/maintainers/mipapo)

![](https://www.gravatar.com/avatar/5c5df8039a12382d81c2d47ce24846dc6d8a8dcdb37876763d8d2ad99e010b8e?d=identicon)[laufhannes](/maintainers/laufhannes)

---

Top Contributors

[![laufhannes](https://avatars.githubusercontent.com/u/8313118?v=4)](https://github.com/laufhannes "laufhannes (17 commits)")

---

Tags

demelevation-datageotiffsrtm

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/runalyze-dem-reader/health.svg)

```
[![Health](https://phpackages.com/badges/runalyze-dem-reader/health.svg)](https://phpackages.com/packages/runalyze-dem-reader)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
