Сохранить вывод PHP как файл GeoJSON - PullRequest
0 голосов
/ 17 сентября 2018

Пытаясь найти решение для этого, поскольку я хочу использовать Bootleaf , и он использует данные GeoJSON. Я следовал одному из его руководств о том, как преобразовать файл CSV в файловую структуру GeoJSON, и сумел это сделать. Вот код, который у меня есть

<?php
/*
* Title:   CSV to GeoJSON
* Notes:   Convert a comma separated CSV file of points with x & y fields to 
GeoJSON format, suitable for use in OpenLayers, Leaflet, etc. Only point 
features are supported.
* Author:  Bryan R. McBride, GISP
* Contact: bryanmcbride.com
* GitHub:  https://github.com/bmcbride/PHP-Database-GeoJSON
*/
# Read the CSV file
$csvfile = 'Property_CSVTruncated.csv';
$handle = fopen($csvfile, 'r');
# Build GeoJSON feature collection array
$geojson = array(
  'type' => 'FeatureCollection',
  'features' => array()
);
# Loop through rows to build feature arrays
$header = NULL;
while (($row = fgetcsv($handle, 1000000, ',')) !== FALSE) {
  if (!$header) {
      $header = $row;
  } else {
      $data = array_combine($header, $row);
//        print_r($data) ;
      $properties = $data;
      # Remove x and y fields from properties (optional)
//        unset($properties['x']);
//        unset($properties['y']);
      $feature = array(
          'type' => 'Feature',
          'geometry' => array(
              'type' => 'Point',
              'coordinates' => array(
                  $data['51.045681'],
                  $data['-114.191544']
              )
          ),
//            'properties' => $properties
      );
      # Add feature arrays to feature collection array
      array_push($geojson['features'], $feature);
  }
}
fclose($handle);
header('Content-type: application/json');
echo json_encode($geojson, JSON_NUMERIC_CHECK);

?>

Часть вывода выглядит следующим образом: enter image description here

Не уверен, что я действительно понимаю разницу между JSON и GeoJSON, но могут ли они быть взаимозаменяемыми с точки зрения использования? Могу ли я сохранить вывод как JSON и связать его с кодом загрузочного листа?

1 Ответ

0 голосов
/ 17 сентября 2018

GeoJSON - это просто схема для общих геоданных, таких как точки, линии и полигоны, с указанием, что данные кодируются в JSON.

Любой анализатор JSON может анализировать GeoJSON в своих данных и в вашем приложении.затем отвечает за интерпретацию данных в пределах.

...