これは、ソフトウェアアプリケーションの新機能の命名に関する4部構成シリーズの第3回目です。特に、命名が不十分な場合の影響についてです。 シリーズの第1部では、新機能の名前がその機能の動作を明確かつ簡潔に説明しているケースを見ています。 シリーズの第2部では、その同じケースで新しい機能が元の動作を変更した場合を見ています。 シリーズの第3部<\/STRONG>では、この変更された機能に対応するためにドキュメントがどのように変わったかを見ています。 最後に、シリーズの第4部では、これらすべてがエンドユーザーと開発者にとって何を意味するかを議論しています。<\/EM><\/P><\/P>このシリーズの第1部(What's in a Name: When in_memory = In-memory)では、in-memory workspace の導入といくつかの基本的な例を取り上げて検証しました。 基本的には動作し、新しい in_memory 機能は in-memory を意味していました。 このシリーズの第2部(What's in a Name: When in_memory != In-memory)では、同じ例を見て ArcPy と Background Processing の導入後にどうなったかを検証しています。 正直なところ、その例がどうなったかは言い難いです。 丁寧に言うなら「結果はまちまち」と言えるでしょう。 in_memory が in-memory に見える場合もあれば、on-disk に見える場合もありました。 また、in_memory が in-memory に見えても、一部のツールや関数で奇妙な挙動がありました。<\/P><\/P>何が起こっているのかをよりよく理解するために、サポートドキュメントを少し調べる必要があります。オンラインマニュアルはどこから始めても良い場所です。 このシリーズの第2部で見た動作は ArcGIS 10.0 から始まり ArcGIS 10.2.2 まで続いているので、最新かつ最良の情報が記載されていると想定して ArcGIS 10.2.2 マニュアルに直接飛びます。 ArcGIS Resources にアクセスすると、最新バージョンの ArcGIS ヘルプへワンクリックで行けます。 少し探ると ArcGIS 10.2\/10.2.1\/10.2.2 Help の永続URLを見つけました。 'in_memory' で検索すると ArcGIS Help 10.2 - Using in-memory workspaceへのリンクが出てきて、ここから始めるには良さそうです。 ページは長く内容も多いためスクリーンショットは控えますが、重要な抜粋を以下に貼ります。<\/P><\/P>ArcGIS は出力フィーチャクラスやテーブルを書き込むための in-memory workspace を提供しています。ジオプロセシング出力をディスク上やネットワーク上の場所に書き込む代わりに、この in-memory workspace に書き込むことができます。in-memory workspace にデータを書き込むことは、シェープファイルやジオデータベースフィーチャクラスなど他のフォーマットに書き込むよりもかなり高速です。ただし、in-memory workspace に書き込まれたデータは一時的であり、アプリケーション終了時に削除されます。in-memory workspace に書き込むには、以下のようにパスとして in_memory を使用します。<\/SPAN><\/LI>データが in-memory workspace に書き込まれると、コンピュータの物理メモリ(RAM)が消費されます。<\/SPAN><\/LI><\/UL><\/P>Delete ツールは in-memory workspace 内のデータ削除に使用できます。個別のテーブルやフィーチャクラスを削除したり、ワークスペース全体を削除してすべての内容をクリアできます。<\/SPAN><\/LI>in-memory workspace に書き込まれたテーブル、フィーチャクラス、またはラスターは GPInMemoryWorkspace のソースロケーションを持ちます。<\/SPAN><\/LI>Python でも in_memory ワークスペースを使用できます。<\/SPAN><\/LI>
<\/P>
このシリーズの第1部(
何が起こっているのかをよりよく理解するために、サポートドキュメントを少し調べる必要があります。オンラインマニュアルはどこから始めても良い場所です。 このシリーズの第2部で見た動作は ArcGIS 10.0 から始まり ArcGIS 10.2.2 まで続いているので、最新かつ最良の情報が記載されていると想定して ArcGIS 10.2.2 マニュアルに直接飛びます。
マニュアルには明確に、in-memory workspace はコンピュータの物理メモリ内であり、そのワークスペースには in_memory を使ってアクセスすると記載されています。また、このパスはツールや Python でサポートされているとも述べています。さらに、in-memory workspace は GPInMemoryWorkspace のソースロケーションを持ち、Delete ツールで個別テーブルやフィーチャクラスを削除できるとも記載されています。
しかし実際に ArcGIS Desktop 10.x で適用してみると、この ArcGIS Help 10.2 - Using in-memory workspace ページで説明されていることは一貫して理解できるものの、一部例外があります!私はヘルプが正しく、in-memory workspace は GPInMemoryWorkspace のソースロケーションを持ち、それらはコンピュータ物理 RAM に格納されていると思います。しかしそれ以上は確信できません。このシリーズ第2部で示した例では、in_memory が必ずしも常に in-memory ではなく on-disk に繋がる場合もありました。また Delete ツールが in-memory テーブルを削除できなかったケースもありました。それはおそらく最初からそのテーブルを見ることができず削除できなかったためです。不思議なことに Delete ツールは on-disk に作成された in_memory テーブルの場合にも何も削除せず成功したように見えました。
このシリーズ第2部の例からは Background Processing が in_memory パスの動作に影響している印象があります。しかし驚くべきことに Background Processing は in-memory workspace のヘルプページには一度も言及されていません。おそらく Background Processing が in_memory パスに与える影響は Background Processing のヘルプページで説明されているのでしょう。本体検索バーで 'background processing' を検索すると ArcGIS Help 10.2 - Foreground and background processing が表示されますので次はこちらを見ると良さそうです。このページも長く内容豊富なのでスクリーンショットは控えます。一部抜粋します:
このページには上記以外にも多く情報がありますが、それらはいずれも in-memory workspace とは関係ありません。実際、『in-memory』や『in_memory』という用語はドキュメント全体で一度も参照されていません。同様に ArcGIS Help 10.2 - Background Geoprocessing (64-bit)でも両用語はいずれも一度も登場しません。このシリーズ第2部では Background processing が Python コードや ArcGIS ツールで in_memory を使う機能性に影響することが明確ですが、それにもかかわらず Background processing の主要ページには両用語とも記載されていない点は奇妙です。
もし主要または入門的なヘルプページが私たちが見ている現象について触れていないならば、その情報は関連トピックのヘルプページ内に埋もれている可能性があります。例えば Managing intermediate (scratch) data in shared model and tools ページには「中間データも in-memory workspace に書き込める」とあります。ただし Background processing についてはいっさい触れられていません。同様に A quick tour of managing intermediate data ページでも同様で、in-memory workspace の利用について述べていますが Background Processing は言及していません。Background processing を検索すると似た結果になり、一方のみについて話しもう一方には触れていません。興味深いことに Guidelines for arcpy.mapping (arcpy.mapping) ページには次の記述があります:
I have heard back from Esri Support and Esri Development. I will restrict comments on the first three parts in the series and post final comments with part four of the series: What's in a Name: When Known = Unknown .
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.