-
Notifications
You must be signed in to change notification settings - Fork 2
共同編集者としての参加
本リポジトリをgitでcloneし、作業PC上にダウンロードしてください。
ダウンロードしたファイル構造の中にbin
フォルダがあるので、そこに管理用プログラムを設置します。
管理用プログラムとしてはToriiというプログラムを用いますが、左記のリンクからアクセスし、ご利用のPCのOSにあわせた実行ファイルの含まれたzipファイルを取得してください。
zipファイルのファイル名は、torii_[OS名]_[バージョン].zip
のようになっています。
zipを展開すると、qgis2Xlsx_[OS名]
とxlsx2Qgis_[OS名]
で始まる、各OS用の実行ファイルが含まれているので、これを先述のbin
フォルダの下に配置すれば、管理環境の構築は完了です。
(なお、これらの実行ファイルの初回実行時は、怪しい実行ファイルを実行してよいかの注意が出る可能性がありますが、こちらは実行することを許可してください。将来的に、注意を出さないような施策を打ちたいとは考えていますが、現状は初回に注意が出てしまいます。)
データマスタとしては、Excelファイル(tatebayashi_stones.xlsx
)もしくはGeoJSONファイル(pois.geojson
、books.geojson
、refs.geojson
、images.geojson
)のどちらかで管理されますが、どちらでも管理している情報は同じです。
4つのテーブルが、Excelでは異なるワークシート、GeoJSONではテーブル毎に異なるファイルで管理されます。
属性名(GeoJSON) | 属性名(Excel) | データ種別 | 備考 |
---|---|---|---|
fid | ID | 数値 | 昇順、項目削除などで飛びが生じてもよいが一度つけると変更厳禁 |
name | 名称 | 文字列 | |
type | 種別 | 文字列 | "地蔵菩薩像","如来像","馬頭観世音","庚申","道標"など、取り得る値は他のデータを参考にしてください 庚申兼道標など、コンマで区切って複数の値を認めます |
era | 和暦 | 文字列 | 和暦の年号を記載します 天保年間などあいまいな記載でも大丈夫です |
year | 年 | 文字列 | 西暦での年を指定しますが、あいまいな和暦に対応するため、空や複数記載でも構いません(そのため数値ではなく文字列になっています) |
area | 地域 | 文字列 | 館林内での地域"館林","赤羽","郷谷","六郷","渡瀬","多々良","三野谷"のいずれかを採ります |
oaza | 大字 | 文字列 | 現在の町丁目名を指定します |
koaza | 小字 | 文字列 | 町丁目内での小字が分かっていれば記載します |
detail_place | 詳細場所 | 文字列 | 寺社や公民館、あるいは交差点、○○氏宅など所在地情報がわかっていれば記載します 番地情報などは元本にあっても経緯度で表現するので削除します |
reference_memo | 参照本情報 | 文字列 | 参照本に記載されている情報で、形状やサイズなど他に項目がない内容をここに書きます(向いている向きなど) |
folklore | 言い伝え | 文字列 | 参照本などに記載されている情報で、言い伝えに類するもの(詣でれば虫歯が直る、他)を記載する |
history | 歴史 | 文字列 | 参照本などに記載されている情報で、歴史、来歴に類するものを記載する |
survey_memo | 調査情報 | 文字列 | 実際の調査の際に判明した情報を記載する |
surveyed | 調査日 | 文字列 | 最新の調査が実施された年月日 |
confirmed | 現況調査済み | Boolean | 一度でも調査がなされればTRUEとする |
primary_image | 優先画像ID | 数値 |
images テーブルで管理されている関連画像の内、表示を最優先する画像のfidを指定する |
height | 総高 | 数値 | 石造物の総高、cmで |
statue_height | 像高 | 数値 | 石造物の像など主要部分の高さ、cmで |
width | 幅 | 数値 | 石造物の幅、cmで |
depth | 厚さ | 数値 | 石造物の厚さ、cmで |
shape | 形状 | 文字列 | 形状に関する情報 |
material | 材質 | 文字列 | 石造、木造、銅造など材質情報 |
inscription | 刻銘 | 文字列 | 刻銘の記載内容 |
color | 色 | 文字列 | 彩色されている場合などの色情報 |
contradiction | データの矛盾 | 文字列 | 言及されている複数の本同士の記載の矛盾や、記載内容と調査の矛盾など、今後再調査などで解決すべき矛盾 |
need_action | 要対応 | 文字列 | 地物をGoogle StreetViewで見つけた場合など、データの矛盾ではないが今後追加調査が必要な場合、その内容を記載 |
status | 状況 | 文字列 | "新規発見""消失?"など、状況を表す文字列 |
longitude | 経度 | 数値 | 経度 |
latitude | 緯度 | 数値 | 緯度 |
属性名(GeoJSON) | 属性名(Excel) | データ種別 | 備考 |
---|---|---|---|
fid | ID | 数値 | 昇順、項目削除などで飛びが生じてもよいが一度つけると変更厳禁 |
name | 書籍名 | 数値 | 書籍の名称を記載 |
editor | 著者 | 文字列 | 著者、編者等を記載 |
published_at | 出版年 | 文字列 | 出版年を記載、雑誌の場合はmonthly等の発行間隔を指定 |
reference_type | 参照タイプ | 文字列 |
refs テーブルで記載場所を指定する形式、"page"の場合ページ指定、"journal"の場合雑誌なので発行年月など指定 |
属性名(GeoJSON) | 属性名(Excel) | データ種別 | 備考 |
---|---|---|---|
fid | ID | 数値 | 昇順、項目削除などで飛びが生じてもよいが一度つけると変更厳禁 |
book | 書籍ID | 数値 | 関連するbooks テーブルのfid |
poi | 石造物ID | 文字列 | 関連するpois テーブルのfid |
description | 説明 | 文字列 | 記載に関する説明文 |
note | ノート | 文字列 | 記載に関する備考 |
pages | 参照ページ | 文字列 | 記載場所を指定する形式、ページ指定や雑誌の場合発行年月など |
属性名(GeoJSON) | 属性名(Excel) | データ種別 | 備考 |
---|---|---|---|
fid | ID | 数値 | 昇順、項目削除などで飛びが生じてもよいが一度つけると変更厳禁 |
poi | 石造物ID | 数値 | 関連するpois テーブルのfid |
path | 画像パス | 文字列 | 元画像の格納位置の相対パス |
shooting_date | 撮影日 | 文字列 | 画像の取得年月日時刻 |
shooter | 撮影者 | 文字列 | 画像の撮影者 |
description | 説明 | 文字列 | 画像に関する説明文 |
note | ノート | 文字列 | 画像に関する備考 |
mid_thumbs | 中サイズサムネイル | 文字列 | 中サイズサムネイルの格納位置の相対パス |
small_thumbs | 小サイズサムネイル | 文字列 | 小サイズサムネイルの格納位置の相対パス |
このディレクトリの下に、pois
テーブルで管理されている地物のfid
と一致するディレクトリが用意され、その下にその地物と紐づく画像が管理されます。
この画像は1枚1枚、images
テーブルの中で対応づくレコードで管理されていますが、その対応レコードはTorii
プログラムの実行で自動生成されるので、手動で作る必要はありません。
images
ディレクトリ下の画像1枚1枚に対応する、サムネイル画像が同じディレクトリ構造で管理されます。
サムネイルは、Torii
プログラムの実行で自動生成されるので、手動で作る必要はありません。
index.html
、tatebayashi_stones.geojson
、assets
ディレクトリ下のファイルは、Web配信用です。
特に手動で変更を管理する必要はなく、Web用のデータであるtatebayashi_stones.geojson
はTorii
プログラムの実行で自動的に更新されますので、github
に反映すればWeb配信も自動的に更新されます。
bin/torii.json
は、Torii
の動作を制御する設定ファイルです。
データ項目を追加したい場合など、この設定を変更することで対応できますが、通常は触らないでください。
bin/torii_local.json
は、最初は設定されていません。もし必要であれば、torii_local_template.json
をコピーして、内容を修正して利用してください。
内容は
{
"shooter": "Kohei Otsuka",
"date": "2021-12-25T00:00:00"
}
のような感じですが、この内容を編集すると、
shooter: 画像を追加する際の、撮影者のデフォルト値
date: 画像を追加する際、写真のメタデータから撮影時間が取れなかった場合のデフォルト値
が設定できます。
マスタデータであるExcelもしくはGeoJSONを、上記テーブルの定義に従って修正してください。
ExcelとGeoJSON双方に同時に変更を加えるのはやめてください(Torii
プログラムの実行時に、一方の変更が失われてしまいます)。
必ず、一方を変更=>Torii
の実行でもう一方に反映=>もう一方を変更、の手順を踏んでください。
Excelでのデータは、tatebayashi_stones.xlsx
を更新してください。
Excel内には注意
pois
books
images
refs
の5ワークシートが存在しますが、注意
ワークシートは変更にあたっての注意が記載されているので、そちらをよく確認して更新作業を行ってください。
注意
ワークシートはTorii
プログラムを実行しても引き継がれるので、追加で注意点、コメントなどを加える場合は、注意
ワークシートに追加してください。
GeoJSONは4つの*.geojson
ファイルで管理されていますが、これはテキストファイルなので、小さな変更ならばメモ帳、秀丸などのテキストエディタで修正しても問題はありません。
が、位置情報などを変更するのにはGISツールであるQGIS
を使うのが便利です。
QGIS
を利用するには、専用のプロジェクトファイルtatebayashi_stones.qgz
を開くと、4つの*.geojson
ファイルがリレーションも定義された形で読み込まれますので、QGIS
を通じて効率よく編集できます。
QGIS
の使い方などについては、他の本やサイトなどを参考にしてください。
画像を追加したい場合は、images
ディレクトリの下に地物のfid
名のディレクトリを作成し(既にある場合はそれを利用)、その下に追加したい画像を置きます。
複数の画像を追加する際に、特定の画像をその地物の代表画像としたい場合は、画像ファイル名をPRIM.
で始まるようにしてください(例: IMG4235.JPEG => PRIM.IMG4235.JPEG)。
テーブルデータの更新、画像の追加などを行ったのちに、もう一方のテーブルに更新を反映させるため、Torii
のプログラムを実行します。
実行の前に、Excel、QGISなどのプログラムは全て終了してください。
その上で、ExcelからQGIS(GeoJSON)側にデータを反映する場合は、bin
ディレクトリ下に配置したxlsx2Qgis_[OS名]
で始まるプログラム、QGIS(GeoJSON)からExcel側にデータを反映する場合は、qgis2Xlsx_[OS名]
で始まるプログラムを実行してください。
そうすると、
- テーブルデータへのもう一方への反映
- 画像のデータへの反映
- Web配信用データである
tatebayashi_stones.geojson
の更新
が行われます。
実行する場合は、画像が更新されない場合、あるいは画像の更新があってもbin/torii_local.json
が設定されている場合は、GUIからプログラムをクリックしての実行で大丈夫です。
bin/torii_local.json
が設定されていない場合は、コマンドプロンプト(Macの場合はコンソール)からコマンドを実行して、デフォルトの画像撮影者や画像撮影日を指定する必要があります。
Windowsの場合(TatebayashiStonesのディレクトリ下で)
> bin¥qgis2Xlsx_win.exe -s '撮影者名' -d '撮影年月日時'
Macの場合(TatebayashiStonesのディレクトリ下で)
$ ./bin/qgis2Xlsx_macm1 -s '撮影者名' -d '撮影年月日時'
git、Githubをよくわかっている技術者であれば、あるいは他の人の更新がないので衝突が発生しないと確実にわかっている場合は、ブランチを作らずに直接ローカルのmaster
からリモートのmaster
にプッシュしても構いません。
が、自信がない場合はまず新しいブランチを作成し、変更は全て新しいブランチにコミットしてください。
新しいブランチにリモートのmaster
をマージします。
衝突などがなければ、そのまま新しいブランチをローカルのmaster
に再マージし、リモートのmaster
にプッシュして反映は完了です。
衝突が発生した場合、その衝突がtatebayashi_stones.xlsx
での衝突か、それともGeoJSON
での衝突かで対応が異なります。
tatebayashi_stones.xlsx
だけが衝突した場合は、GeoJSON
から再反映すればよいので、bin/qgis2Xlsx_[OS名]
を実行してExcelを再構成します。
そうしてExcelが再構成されると、衝突を解決済みにし、新しいブランチをローカルのmaster
に再マージし、リモートのmaster
にプッシュして反映は完了です。
GeoJSON
が衝突した時は間違いなくtatebayashi_stones.xlsx
でも衝突が起きているので、Excelからの再反映はできません。
なので、手作業でGeoJSON
の衝突を解決した後、Excelに反映し、master
に反映してプッシュする必要がありますが、もし自信がない場合は、マージを中止して新しいブランチの元の状態に戻し、(master
ではなく)新しいブランチをリモートにプッシュして、技術者に対応を依頼してください。
上記のような作業の末にmaster
をプッシュすると、変更はWebページへも反映されます。
Webページはこちらのリンクで確認できます。