JSはshapefileを解析し、地図にプレゼンテーションをロードする
2252 ワード
JSはshapefileを解析し、地図にプレゼンテーションをロードする
SHPファイルのアップロード中にユーザーがプレビューを必要とするか、shpファイルをリアルタイムでロードする必要があるか、バックエンドで頻繁に解析される問題を解決するために.HTML 5でローカルファイルを直接読み取り、解析したバイナリストリームをshpとdbfのフォーマットで読み取り、olの仕様に従ってfeaturesをスペルしてレイヤーをロードできるようになりました.
プログラムの主なポイントは次のとおりです.
ローカルファイル読み込み:H 5のFileReaderを使用すると、input type=fileにロードされていることを前提として、ローカルのファイルを簡単に読み込むことができます.
html:
<input type="file" id="shpFile"> <br>
JS:
var file=document.getElementById("shpFile");
var reader = new FileReader();
//
reader.readAsBinaryString(file);
reader.οnlοad=function(){
var fileData = this.result ; //fileData
}
**FileReaderインタフェースのメソッド**
メソッド名
パラメータ
説明
readAsBinaryString
file
ファイルをバイナリエンコーディングとして読み込む
readAsText
file,[encoding]
ファイルをテキストとして読み込む
readAsDataURL
file
データURLとしてファイルを読み込む
abort
(none)
端末読取操作
FileReaderインタフェースイベント
FileReaderインタフェースには、読み取りファイルの状態をキャプチャするための完全なイベントモデルが含まれています.
≪イベント|Events|ldap≫
説明
onabort
わりこみ
onerror
エラー
onloadstart
スタート
onprogress
読み込み中
onload
読み込みに成功
onloadend
正常な失敗にかかわらず、読み取りが完了しました.
shp解析オープンソースshapefileのjs解析ライブラリを使用すると、shp、dbfなどのデータフォーマットを簡単に解析できます.
https://github.com/mbostock/shapefile
パブリックネットワークdemoは、次のように参照できます.
http://47.98.238.202:8000/ol_extension/shapefile/
ローカルdemoはindexを参照.html