gpt4 book ai didi

php - 在PHP(Laravel)中将Json重新格式化为geoJson

转载 作者:行者123 更新时间:2023-12-01 11:38:43 25 4
gpt4 key购买 nike

我有 laravel 输出以下内容:

[
{
"id": 3,
"lat": "38.8978378",
"lon": "-77.0365123"
},
{
"id": 4,
"lat": "44.8",
"lon": "1.7"
},
{
"id": 22,
"lat": "37.59046",
"lon": "-122.348994"
}
]

我希望它是 geoJson 格式:

{ "type": "FeatureCollection",
"features": [
{ "type": "Feature",
"geometry": {"type": "Point", "coordinates": [lat, lon]},
"properties": {
"name": "value"
}
}
]
}

我知道我需要某种循环。但我不确定如何在 PHP 中构建它。任何指导将不胜感激。尝试构建一个可以在世界 View 上具有数千个标记的 map 应用程序。我已经在考虑集群,但需要完成这个基本步骤。

谢谢!

最佳答案

我修改了循环,安排有点不对劲。如果有人感兴趣的话,把它变成一个函数:

function geoJson ($locales) 
{
$original_data = json_decode($locales, true);
$features = array();

foreach($original_data as $key => $value) {
$features[] = array(
'type' => 'Feature',
'geometry' => array('type' => 'Point', 'coordinates' => array((float)$value['lat'],(float)$value['lon'])),
'properties' => array('name' => $value['name'], 'id' => $value['id']),
);
};

$allfeatures = array('type' => 'FeatureCollection', 'features' => $features);
return json_encode($allfeatures, JSON_PRETTY_PRINT);

}

关于php - 在PHP(Laravel)中将Json重新格式化为geoJson,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24275119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com