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. livemap/svg-parser

ActiveLibrary

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

Layout SVG Parser for livemap project

1.2.2(11mo ago)040MITPHPPHP 8.\*

Since Jun 13Pushed 11mo 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 1mo ago

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

30

—

LowBetter than 64% of packages

Maintenance51

Moderate activity, may be stable

Popularity9

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity45

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

346d 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

[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k5](/packages/elgg-elgg)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)[api-platform/metadata

API Resource-oriented metadata attributes and factories

223.5M96](/packages/api-platform-metadata)[phpro/http-tools

HTTP tools for developing more consistent HTTP implementations.

28137.8k](/packages/phpro-http-tools)[flowwow/cloudpayments-php-client

cloudpayments api client

2188.2k](/packages/flowwow-cloudpayments-php-client)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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