New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plateauの方が新しいものだけをインポートして、それ以外はタブの未入力部分だけをインポートする #73
Comments
はとちゃん@小江戸らぐです。 すべての入力データは履歴(タイムスタンプ)があります。 hatori@hatochan.dyndns.org 2022-04-06 |
hayashiです。 <はとちゃん@小江戸らぐ>さんからの回答の通りです。すべてのオブジェクトには編集日時が記録されていますがあくまでも編集した日付であって、編集されたオブジェクトが編集時点に存在していたかどうかはわかりません。 現時点での方針結局のところ、既存データとPlateauデータのどちらが新しいかというよりは、「''現実の現在の状況とPlateauデータとに相違がないかどうかを編集者が判断する''」ものという思想をベースにして、このスクリプトを作成しています。 Plateauデータが現状と相違ないならば入力しますし、現状と相違しているようならば入力をしない。という判定操作を編集者が容易にできるようにするのがこのスクリプトの目的です。 「建て替え」への対応「日付を比較する」目的はPlateauデータが作成された後に、建物が変更される可能性があるというとだと思います。
というようなケースがかんがえられます。 そして、A~Eのそれぞれのケースについて、OSM上でその変更が反映された場合と、反映されていない場合の二つの状態がありえます。 ライフサイクルキーが付いている建物上級編集者はこの問題を考慮して、オブジェクトの取り壊しや建て替えに際してLifecycleキーを明示している場合があります。
本スクリプトでは現在のところ、 "end_date" キーがついている建物の扱いライフサイクルとセットで使われることが多いのですが、共用の終了日を示す
ただし、下記のパターンでは
本スクリプトでは現在のところ、 "start_date" キーがついている建物の扱い
これについては "Issue#74" で対応することにします。 実際の建物状況とマッピング状況との関係
その他のアイディア募集上記の様に、Plateauデータの判別に利用できるロジックがございましたら提案いただけると助かります。 できれば、提案の際には提案のロジックが正しく動作できることが検証可能なマトリックス表などを提示していただけると、スムーズに実装できるとおもいます。 |
'start_date'の値'start_date'から値を読み取るのが意外と難しい。 編集日時と'key:start_date'との関係一見、オブジェクトの編集日時と'start_date'には関係がないように見えるが、実は密接に関係している。
|
すべての市町村にあるわけではないのですが、gmlのなかにある、uro:surveyYearを利用するのはどうでしょうか。 伊那市のデータだと、こんなかんじに入っています。
|
nyampireさんからの情報を活用させていただきます。
2. 3. という感じでPLATEAU側のソースDATEを決定しようと思います。 |
現物 : PLATEAU : OSM のパターン検証下記の図において、「今日現在」、「OSMオブジェクトの最終更新日」、「PLATEAUのソース調査年」をそれぞれを変数として想定し、考えられるそれぞれのパターンについての考察を行ってみます。 (1) 「今日現在=450」(建物Aが実在する)、 「OSMオブジェクトの最終更新日=400」(建物Aが存在する)、 「PLATEAUの調査日=400」(建物Aが存在する) ケース。
(2) 「今日現在=800」(建物Bが実在する)、 「OSMオブジェクトの最終更新日=750」(建物Bが存在する)、 「PLATEAUの調査日=400」(建物Aが存在する) ケース。
(3) 「今日現在=1100」(建物Bが撤去済み)、 「OSMオブジェクトの最終更新日=400」(建物Aが存在する)、 「PLATEAUの調査日=750」(建物Bが存在する) ケース。
|
結局、PLATEAUと現物とを比較するしか無いのでは?過去2週間、この問題に本格的に取り組んできましたが得心できるロジックを見出すことができずにいます。 やはり、「既存データ」vs「PLATEAU」ではなく、「PLATEAUは現物と合致しているか?」という基準で判断すべきではないかと思います。 プログラムではなく、マッパーが判断すべきでは?ここまで煮詰まった原因は『既存データ優先という思想』が足を引っ張っている。ということに思い至りました。 v1.4.6現在のプログラムでは、OSM既存データがPLATEAUよりも新しい疑いがあるものについてはすべて、PLATEAUからの変換を行いません。
何でもかんでも「既存優先」にするのではなく、 マッパー主権の仕様に変更するそこで、現在の『インポートデータをプログラムで完成させてアップロードするだけ』、という現在の設計方針を改め、『マッパーが判断しやすい&操作しやすいデータをプログラムで用意してあげる』という考え方にシフトしようと思っています。 第1弾: 「
※ ただし、マッパーが行う作業が煩雑化するというデメリットがあります。このあたりの兼ね合いが難しいです。ぜひ皆様のご意見を伺いたいです。 |
更新日時を利用する合理的なロジックが提案されないようなのでこのIssueはボツとします。 |
Takeshi.Sです。
素朴な質問ですが、建物オブジェクトにはタイムスタンプ的な作成日記録はないのでしょうか?
無くても履歴を追跡すればわかると思いますが、それと比較してPlateauの方が新しいものだけをインポートして、それ以外はタブの未入力部分だけをインポートするというのはスクリプトで出来ないのでしょうか?
Talk-ja mailing list 2022-04-05 t_sannoji01@yahoo.co.jp
The text was updated successfully, but these errors were encountered: