2012-01-27 12 views

答えて

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はシェープファイルからのすべてのデータが含まれていた後。もちろん、シェイプファイルがどのようなものか、どのデータを保持できるかを把握するのに時間が必要です(あなたがそれに慣れていないと仮定して)。 wikipediaから開始してください。実際にはいくつかのラベルを持つ配列がたくさんあります。

はその後、いくつかのPHPはlibが優れて使用(だけのでシーク)、あなたはGISシェープファイルと同様に、:)

+0

おかげです!私はこれを試してみましょう。 –

+0

そのエラー: 非オブジェクト上の代入関数assign()への呼び出し –

+0

もちろん、それはエラーが与えられます。あなたはオブジェクト$ viewを持たないからです:)それは既存のコードからのアーティファクトです。ビューに変数を入れてテンプレートで利用できるようにすることを意味します。コードは単なる参考情報です。 '$ view-> assign'で行を削除し、最後にprint_r($ records)を実行してください。 – dmitry

関連する問題