1

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

4

1 回答 1

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

然后使用一些 php excel lib(只是在里面寻找),你就完成了:)

于 2012-01-27T09:43:59.700 回答