Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 以编程方式将.shp文件转换为excel电子表格_Php_Javascript_Gis_Shapefile - Fatal编程技术网

Php 以编程方式将.shp文件转换为excel电子表格

Php 以编程方式将.shp文件转换为excel电子表格,php,javascript,gis,shapefile,Php,Javascript,Gis,Shapefile,我有一个.shp格式的文件,需要它以编程方式将其转换为Excel电子表格。我想使用PHP或JavaScript来实现这一点。一旦我使用了小型PHP库ShapeFile,您就可以将其放入。虽然这是一个有点不太好的设计,它的作品 下面是我自己代码中的一个小示例: require_once 'lib/ShapeFile.inc.php'; $shp = new ShapeFile($filename, array('noparts' => false)); if ($shp->getErr

我有一个.shp格式的文件,需要它以编程方式将其转换为Excel电子表格。我想使用PHP或JavaScript来实现这一点。

一旦我使用了小型PHP库ShapeFile,您就可以将其放入。虽然这是一个有点不太好的设计,它的作品

下面是我自己代码中的一个小示例:

require_once 'lib/ShapeFile.inc.php';
$shp = new ShapeFile($filename, array('noparts' => false));
if ($shp->getError() !== '')
  print_r($shp->getError());
else
{
  $records = array();
  while ($record = $shp->getNext())
  {
    $dbf_data = $record->getDbfData();
    $shp_data = $record->getShpData();

    //Dump the information
    $obj = array(
      'type' => $shp->getShpTypeName($record->getShpType())
    );

    $obj['shape'] = $shp_data;
    $obj['meta'] = $dbf_data;

    $records[] = $obj;
  }
}

print_r($records);
因此,在此之后,
$records
包含来自shapefile的所有数据。当然,您需要一些时间来弄清楚什么是shapefile以及它可以保存哪些数据(假设您不熟悉它)。从…开始。实际上,有很多带有一些标签的数组


然后使用一些php excel库(只需在so中查找),您就完成了:)

非常感谢兄弟!让我试试这个。它给出了一个错误:对非object调用成员函数assign()。当然,它给出了错误,因为您没有object$view:)它只是现有代码中的一个工件。这意味着将一个变量放入视图中,以便在模板中可用。代码只是一个参考。用
$view->assign
删除行,并在末尾打印($records)。注意:运行WAMP 2.2.22和PHP5.4.3以及
ShapeFile.inc.PHP
时遇到一些问题。从PHP 5.3开始,不再包括PHP数据库。我这里有一个工作分机。。。