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

时间:2012-01-27 06:51:40

标签: php javascript gis shapefile

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

1 个答案:

答案 0 :(得分:2)

一旦我使用了小型的PHP lib ShapeFile,你就可以在phpclasses.org中获得它。虽然它有点不太好设计,但它确实有用。

以下是我自己的代码中的一个小例子:

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是什么以及它可以容纳哪些数据(假设您不熟悉它)。从wikipedia开始。实际上有一堆带有一些标签的数组。

然后使用一些php excel lib(只需查找),你就完成了:)