PHPackages                             livemap/svg-parser - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. livemap/svg-parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

livemap/svg-parser
==================

Layout SVG Parser for livemap project

1.2.2(1y ago)043MITPHPPHP 8.\*

Since Jun 13Pushed 1y ago1 watchersCompare

[ Source](https://github.com/AREALCity/LiveMap.SVGParser)[ Packagist](https://packagist.org/packages/livemap/svg-parser)[ RSS](/packages/livemap-svg-parser/feed)WikiDiscussions main Synced yesterday

READMEChangelog (7)Dependencies (3)Versions (8)Used By (0)

SVG to JS parser/convertor for LiveMapEngine project
====================================================

[](#svg-to-js-parserconvertor-for-livemapengine-project)

```
$svg_content = \file_get_contents( $svg_filename );

$parser = new SVGParser($svg_file_content, $options);

//@todo: переделать под RESULT
if ($_svgParserClass->parser_state->isError) {
    throw new RuntimeException( "[JS Builder] SVG Parsing error " . $_svgParserClass->parser_state->getMessage() );
}

$layer_name = "Image";
$_svgParserClass->parseImages( $layer_name );

if ($json->type === "bitmap" && $_svgParserClass->getImagesCount()) {
    $image_info = $_svgParserClass->getImageInfo();

    // использовать параметры из файла карты НЕЛЬЗЯ, потому что размеры слоя разметки привязаны к размеру карты в файле
    // если мы изменим размеры (maxBounds) до размеров оригинальной картинки - все сломается :(
    // $image_info['width'] = $json->image->width;
    // $image_info['height'] = $json->image->height;

    $_svgParserClass->set_CRSSimple_TranslateOptions( $image_info['ox'], $image_info['oy'], $image_info['height'] );
} else {
    $_svgParserClass->set_CRSSimple_TranslateOptions( 0, 0, $image_info['height'] );
}

foreach($json->layout->layers as $layer) {
    $layer_config = null;

    if (!empty($json->layers->{$layer})) {
        $layer_config = $json->layers->{$layer};
    }

    $_svgParserClass->parseLayer($layer);   // парсит слой (определяет атрибут трансформации слоя и конвертит в объекты все элементы)

    // установим конфигурационные значения для пустых регионов для текущего слоя
    $_svgParserClass->setLayerDefaultOptions($layer_config);

    // получаем все элементы на слое
    $paths_at_layer = $_svgParserClass->getElementsAll();

    // Всё, на этом работа парсера закончена
}
```

Опции:

- allowEllipse - (false), парсить ли эллипс или трансформировать его в окружность?
- roundPrecision - (4), точность округления
- registerNamespaces - (true), регистрировать ли неймспейсы?

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance47

Moderate activity, may be stable

Popularity9

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

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 ~60 days

Recently: every ~89 days

Total

7

Last Release

392d ago

Major Versions

0.9.9 → 1.0.02024-06-26

PHP version history (2 changes)0.9.0PHP ^7.4 | 8.\*

1.1.0PHP 8.\*

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2164874?v=4)[Karel Wintersky](/maintainers/KarelWintersky)[@KarelWintersky](https://github.com/KarelWintersky)

### Embed Badge

![Health badge](/badges/livemap-svg-parser/health.svg)

```
[![Health](https://phpackages.com/badges/livemap-svg-parser/health.svg)](https://phpackages.com/packages/livemap-svg-parser)
```

###  Alternatives

[symfony/http-kernel

Provides a structured process for converting a Request into a Response

8.1k869.4M8.8k](/packages/symfony-http-kernel)[symfony/cache

Provides extended PSR-6, PSR-16 (and tags) implementations

4.2k373.5M3.3k](/packages/symfony-cache)[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.7k38.9k](/packages/matomo-matomo)[wikimedia/parsoid

Parsoid, a bidirectional parser between wikitext and HTML5

187557.3k3](/packages/wikimedia-parsoid)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k15](/packages/tempest-framework)[ecotone/ecotone

Enterprise architecture layer for Laravel and Symfony — CQRS, Event Sourcing, Durable Workflows (Sagas, Orchestrators), Projections, and Outbox messaging via PHP attributes.

564576.7k52](/packages/ecotone-ecotone)

PHPackages © 2026

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