ArcGIS Pro 3.2からFilegeodatabaseのObjectIDが64bitになっていた件

こんにちは。今回は(も)テクニカルな細かい話です。
年度末が繁忙期の業界にいると、ちょっとした時間も惜しいと思います。
そんな時にこの事象に遭遇してあたふたしないよう1つ話題提供です。


まずは、以下のページを見てください。

解決策も書いてあるので、「以上です」、といえばそれまでなんですが。
これはFilegeotatabaseのデータをやりとりする必要が出たときに問題になるわけですが、実際起こりえるケースでいうと以下のようなケースです。

どんな時に問題になるのか

  1. ArcGISPro3.2とそれ以前のProのバージョン、もしくはArcMap10.8、CItyeEngineなどが混在していて、ArcGISPro3.2からそれ以外とデータのやり取りをする必要がある場合

  2. ArcGISPro3.2とQGISなど他のソフト

他者とのやり取りもさることながら、自分自身の環境の中でも起こりえます。私の場合は上記2のケースで発生しました。
QGISでは図のような形でFilegeodatabaseのVectorデータ(Featureclassの出データ)をRead Onlyで読みこめるのですが、ArcGISPro3.2で作ったデータは空のデータとして読み込まれてしまいます(読み込めるのも不思議ですが)。
このnote執筆時点のQGISのバージョン3.34でも状況は同じです。

QGISでFilegeodatabaseのVectorデータを読む

QGISでは空のデータとして読み込まれますが、ArcMapで開こうとすると、エラーになって読み込むこともできません。
では交換形式として、中間ファイルを用意すればいいのではないかという話ですが、一番スタンダードなshapeファイル形式では駄目です。これは上記ESRIJapanのページにも書いてあります。64bitのIDが受け入れられないようです。ArcMap自体が32bitアプリケーションです。
別途コンバーターを使えばできますが、それ以外の方法としては、GeoJSON形式を経由するようにすればうまくいきます。
QGISで使う場合には、フィーチャ → JSON (Features To JSON) (変換)で、GeoJSONに出力オプションを選んでください。

モデルによる解決策


とは言え、直接読みこめていたものが、何かを経由しないといけないというのはやはり面倒です。おそらくそのうち機能追加されると思いますが。
上記のウェブサイトにも書いてありますが、ObjectIDを32bitにした空のFeatureclassデータを元のデータの属性構造(ObjectIDは除く)をコピーした形で作り、そこに元のデータを転写することになります。
ただ、このようなデータが1個や2個ならいいですが、正直、あまり気づかない部分ですし、後になって大量に作ってしまっていたりすると面倒です。

そこで以下のようにModelBuilderでモデルを作ってみました。基本、必要なのは元データA①と新規データB②のみです。


64bitのFeatureclassデータを32bitのFeatureclassデータにするモデル

①~④の右肩にPがついているのはパラメーターでバッチファイルで使用できます。
③と④は特には不要な部分ですが、格納場所を分けたい場合や、Featureclass名を細かく分けたい場合はこの2つもパラメーターにしてください。なお処理後に①が不要になったら削除してください。

黄色の四角部分はそれぞれこうなります。

フィーチャークラスの作成

ここで大事なのはOIDタイプで、ここを32bitにします。ジオメトリタイプは元データと同じ形状にし、テンプレートデータセットも元データと同じにします。これで形状と属性が同じな空のデータが一旦出来ます。座標系も元データと同じ方が良いでしょう。さらにアペンドは次のような形にします。

アペンドの設定

元のAのデータを、今作った空のDBであるBに転写するイメージです。
これで32bitになったデータが出来ます。

この問題に遭遇した時に気づいたのですが、QGISのファイル標準形式のGeoPackage(拡張子gpkg)のObjectIDはそもそも64bitになっています。そのうち、元のように直に読み取れるようになるのかもしれませんね。期待して待ちます。
しかしこんなに大きい数字が何故必要なのでしょう?
点群データとかならわからなくもないですが、よほどのことがない限り32bitでデータが足りないことはないと思います。
まあ64bitで統一されてくれれば、余裕はある方が良いに決まっているので、更新を町ましょう。

最後に

ここまでご覧いただき、ありがとうございました。

普段は北海道に本拠地を置くNPOに所属し、環境保全を主な題材としてGISやリモセンに関する仕事をしています。

コンサベーションGISコンソーシアムジャパン の活動もその1つです。
ご相談、ご質問、お仕事のご依頼などがございましたら、コンサベーションGISコンソーシアムジャパンWEBサイト掲載のメールアドレスまでメールをお寄せください。

コンサベーションGISコンソーシアムジャパンの活動及びこのnoteでの活動はボランティアで行っているのですが、何分資金が不足しています。
もしサポートしてもいいなという方がいらっしゃいましたら、そちらもよろしくお願いします。

noteの中の人は都内に居るので、お仕事などお声がけいただければと思います。

この記事が気に入ったらサポートをしてみませんか?