色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php geojson

林子帆1年前9瀏覽0評論

在開發基于地理位置的應用程序的過程中,了解什么是geojson和如何使用php生成geojson數據是非常重要的。

GeoJSON是一種用于編碼地理空間信息的開放標準,它是一種基于JSON的格式。使用GeoJSON,可以將各種形式的地理空間數據編碼為JSON格式,例如點、線、面和多面體。GeoJSON數據可以輕松地在Web地圖上顯示,并且可以很方便地進行大規模數據交換。

在php中,可以使用GeoJSON編碼庫來將數據編碼為GeoJSON格式。下面是一個示例,演示如何使用php GeoJSON庫將包含行政區劃信息的數組編碼為GeoJSON格式,并將其輸出到瀏覽器中:

$data = array(
'type' =>'FeatureCollection',
'features' =>array()
);
foreach($districts as $district) {
$feature = array(
'type' =>'Feature',
'geometry' =>array(
'type' =>'Polygon',
'coordinates' =>array(
array(
array($district->northWest->lng, $district->northWest->lat),
array($district->northEast->lng, $district->northEast->lat),
array($district->southEast->lng, $district->southEast->lat),
array($district->southWest->lng, $district->southWest->lat),
array($district->northWest->lng, $district->northWest->lat),
)
)
),
'properties' =>array(
'name' =>$district->name
)
);
array_push($data['features'], $feature);
}
header('Content-type: application/json');
echo json_encode($data);

在上面的示例中,$districts是一個包含行政區劃信息的數組。該數組中的每個元素都代表一個行政區劃,包含該區劃的名稱和四個點的經緯度。通過使用php的geojson庫,這些數據將被編碼為符合geojson標準的數據,并在瀏覽器中輸出。

除了將php數組編碼為GeoJSON格式外,還可以將數據庫中的數據編碼為GeoJSON格式。下面是一個使用php GeoJSON庫將MySQL數據庫中的數據編碼為GeoJSON格式的示例:

$db = new PDO("mysql:host=localhost;dbname=test;charset=utf8","root","");
$stmt = $db->prepare("SELECT * FROM markers WHERE 1");
$stmt->execute();
$data = array('type' =>'FeatureCollection', 'features' =>array());
while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
$feature = array('type' =>'Feature',
'geometry' =>array(
'type' =>'Point',
'coordinates' =>array($row->lng,$row->lat)
),
'properties' =>array(
'name' =>$row->name,
'description' =>$row->description,
)
);
array_push($data['features'], $feature);
}
header('Content-type: application/json');
echo json_encode($data);

在上面的示例中,從MySQL數據庫中檢索標記的信息,并通過使用php GeoJSON庫將其編碼為GeoJSON格式。標記的名稱、描述和經緯度將存儲為標記的屬性,并將其作為GeoJSON輸出。

除了編碼數據以供Web地圖顯示之外,在GeoJSON格式中,還可以為每個圖形添加屬性,這些屬性可以用于過濾和樣式控制。下面是一個示例,演示如何為點添加自定義屬性:

$data = array('type' =>'FeatureCollection', 'features' =>array());
$points = array(
array('id' =>1, 'lat' =>40.7128, 'lng' =>-74.0060, 'name' =>'New York'),
array('id' =>2, 'lat' =>51.5074, 'lng' =>-0.1278, 'name' =>'London'),
array('id' =>3, 'lat' =>35.6895, 'lng' =>139.6917, 'name' =>'Tokyo')
);
foreach($points as $point) {
$feature = array('type' =>'Feature',
'geometry' =>array(
'type' =>'Point',
'coordinates' =>array($point['lng'], $point['lat'])
),
'properties' =>array(
'name' =>$point['name'],
'id' =>$point['id'],
)
);
array_push($data['features'], $feature);
}
header('Content-type: application/json');
echo json_encode($data);

在上面的示例中,添加了自定義屬性id。這些屬性可以用于標記點,以便將它們與其他數據或樣式進行匹配。

總之,使用php GeoJSON庫可以方便地將數據格式化為GeoJSON格式。除了將數據編碼為GeoJSON格式外,還可以通過使用自定義屬性控制樣式和創建過濾器。GeoJSON使處理各種地理空間數據變得輕松,這對于地圖應用程序和其他涉及地理空間數據的應用非常重要。