geojson rewind
v1.0.1 - PHP 8 Support
一組PHP助手類,以幫助生成符合Geojson規範的Geojson幾何形狀。
多邊形環訂單在原始Geojson規範中未定義,但是由於RFC7946授權右手規則。
線性環必須遵循相對於其邊界區域的右手規則,即逆時針逆時針,孔是順時針方向的。
(如果您知道英式英語而不是美國英語,只需逆時針逆時針方向。 )
geojson-rewind是Tom McWright等人的Mapbox Node.js geojson-rewind模塊的PHP端口。全部學分,榮譽和致謝歸功於湯姆和Mapbox團隊的其餘部分。
安裝geojson-rewind的最簡單方法是使用Composer:
$> composer require vicchi/geojson-rewind
<?php
include " vendor/autoload.php " ;
$ source = [
' type ' => ' Polygon ' ,
' coordinates ' => [
[ [ 100.0 , 0.0 ], [ 101.0 , 0.0 ], [ 101.0 , 1.0 ], [ 100.0 , 1.0 ], [ 100.0 , 0.0 ] ],
[ [ 100.2 , 0.2 ], [ 100.8 , 0.2 ], [ 100.8 , 0.8 ], [ 100.2 , 0.8 ], [ 100.2 , 0.2 ] ]
]
];
$ enforce_rfc7946 = true ;
$ output = Vicchi GeoJson Rewind:: rewind ( $ source , $ enforce_rfc7946 );
// show output for demonstration purposes
var_dump ( $ output );
?>輸出可能看起來像這樣( $>是命令行提示符)。
$> php test.php
array(2) {
["type"]=>
string(7) "Polygon"
["coordinates"]=>
array(2) {
[0]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(100)
[1]=>
float(0)
}
[1]=>
array(2) {
[0]=>
float(101)
[1]=>
float(0)
}
[2]=>
array(2) {
[0]=>
float(101)
[1]=>
float(1)
}
[3]=>
array(2) {
[0]=>
float(100)
[1]=>
float(1)
}
[4]=>
array(2) {
[0]=>
float(100)
[1]=>
float(0)
}
}
[1]=>
array(5) {
[0]=>
array(2) {
[0]=>
float(100.2)
[1]=>
float(0.2)
}
[1]=>
array(2) {
[0]=>
float(100.2)
[1]=>
float(0.8)
}
[2]=>
array(2) {
[0]=>
float(100.8)
[1]=>
float(0.8)
}
[3]=>
array(2) {
[0]=>
float(100.8)
[1]=>
float(0.2)
}
[4]=>
array(2) {
[0]=>
float(100.2)
[1]=>
float(0.2)
}
}
}
}
geojson-rewind根據BSD-3-CAREASE許可發布。有關更多信息,請參見許可證文件。