【发布时间】:2012-01-27 06:51:40
【问题描述】:
我有一个 .shp 格式的文件,我需要它以编程方式将其转换为 Excel 电子表格。我想使用 PHP 或 JavaScript 来实现。
【问题讨论】:
标签: php javascript gis shapefile
我有一个 .shp 格式的文件,我需要它以编程方式将其转换为 Excel 电子表格。我想使用 PHP 或 JavaScript 来实现。
【问题讨论】:
标签: php javascript gis shapefile
一旦我使用了小型 PHP 库 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 库(只要在里面寻找)就完成了:)
【讨论】:
$view->assign 的行并在最后执行 print_r($records)。
ShapeFile.inc.php 时遇到了一些问题。自 PHP 5.3 起,php_dbase 不再包括在内。我在这里有一个工作扩展...hrazdil.info/blog/…