Satu set kelas pembantu PHP untuk membantu dalam menghasilkan geometri Geojson yang sesuai dengan spesifikasi Geojson.
Urutan Cincin Poligon tidak terdefinisi dalam spesifikasi Geojson asli, tetapi karena RFC7946 aturan tangan kanan diamanatkan.
Cincin linier harus mengikuti aturan kanan sehubungan dengan area yang dibatasi, yaitu, cincin eksterior berlawanan arah jarum jam, dan lubang searah jarum jam.
(Jika Anda tahu bahasa Inggris Inggris daripada bahasa Inggris Amerika, cukup gantikan berlawanan arah jarum jam dengan berlawanan arah jarum jam .)
geojson-rewind adalah port ke PHP dari Mapbox's Node.js geojson-rewind Module oleh Tom McWright et al. Kredit penuh, pujian, dan ucapan terima kasih adalah karena Tom dan tim Mapbox lainnya.
Cara termudah untuk menginstal geojson-rewind adalah dengan menggunakan komposer:
$> 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 );
?> Output bisa terlihat seperti ini ( $> adalah prompt baris perintah).
$> 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 diterbitkan di bawah lisensi BSD-3-Clause. Lihat file lisensi untuk informasi lebih lanjut.