phaza / norwegian-ssr-parser

解析挪威地点名称注册(Norsk stedsnavnregister)geojson数据输出为流

0.6 2015-03-09 12:46 UTC

This package is auto-updated.

Last update: 2024-09-13 20:30:00 UTC


README

是什么

此包包含将“挪威地点名称注册”(Norsk stedsnavnregister)geojson数据输出解析为流的函数。与其他解析器相比,其主要优势在于它基于流,因此不会一次性将整个文件(通常约为500MB)加载到内存中。为此所付出的代价是速度。它依赖于用PHP编写的json流解析器,这自然比本地的json_decode慢。

如何使用

安装包

composer require "phaza/norwegian-ssr-parser"

使用解析器

#!PHP
<?php
  
use Phaza\SSR\Feature;
use Phaza\SSR\Listener;

$handle = fopen('Stedsnavn.geojson', 'r');

$listener = new Listener(function(Feature $item) {
	/* Do your magic in the closure */
});
$parser = new JsonStreamingParser_Parser($handle, $listener);
$parser->parse();

fclose($handle);

提示

请记住,使用PHP的流过滤器,您可以即时解压缩。

示例

#!PHP
<?php

$handle = fopen('Stedsnavn.bz2', 'r');
stream_filter_append($handle, 'bzip2.decompress', STREAM_FILTER_READ);
$parser = new JsonStreamingParser_Parser($handle, $listener);
fclose($handle);

// pr

$handle = fopen('compress.bzip2://Stedsnavn.bz2', 'r');
$parser = new JsonStreamingParser_Parser($handle, $listener);
fclose($handle);