タグ付けされた質問 「enterprise-geodatabase」

このタグは、ArcGIS for Serverのエンタープライズジオデータベース(以前のバージョンのArcSDE)コンポーネントに関する質問に使用します。


8
ArcSDEを使用したバージョン管理で、投稿された編集をキャンセルまたは拒否できるのはいつですか?
ArcGIS 9.3.1を使用しており、バージョン対応登録済みのSDEジオデータベース(1つのポリゴンフィーチャクラス)で作業しようとしています。私はバージョン管理に慣れていないのですが、基本的な機能のいくつかをまだ解明しようとしています。これまでのところ、親バージョンに投稿された特定の編集を「キャンセル」または「拒否」できるかどうかを発見できませんでした。 たとえば、バージョン付きとして登録されたときに作成された元のSDE.DEFAULT、SDE.QA(品質保証用)と呼ばれるデフォルトの子バージョン、およびSDEと呼ばれるQAの子バージョンの3つのバージョンがあるとします。 .Edit1(編集が最初に行われる場所)。SDE.Edit1の特定の機能が編集された場合(たとえば、シンプルにするために、1つのポリゴンが追加され、1つのポリゴンが削除されたとしましょう)後でこの変更を元に戻す方法はありますか?この質問をフォローアップすると、一部の変更のみを拒否できますか?たとえば、最初のポリの追加は受け入れますが、2番目のポリの削除は拒否しますか? 私の知る限り、編集が親バージョンに投稿されると、これらの変更はすべて親バージョンの「永続的な」(より良い言葉がないため)部分になります。これらの変更はすべて「ADD」テーブルと「DELETE」テーブル(「デルタ」テーブルと呼ばれることもあります)の2つのテーブル内にすべて記録され、実際には元のFC自体を変更しないという事実を認識しています。これらのデルタテーブルを手動で変更することを検討しましたが、適切な解決策ではない可能性があることを知るために、それに対して警告する十分な人が見つかりました。 おそらく、多少の作業が必要なのはバージョン管理についての私の理解ですが、変更を拒否したり、変更が投稿された後に元に戻す方法を見つけることができなかったようです。これは、エラーを含む投稿を取り消す方法がないことを意味するため、私には奇妙に思えます。また、これらのバージョンの系統(つまり、どのバージョンがどの親の子であるか)を追跡する方法を見つけることもできないようです。このトピックについては、ArcSDEの理解に役立つ(そしておそらくこれらの質問のいくつかに答える)特に有用なArcSDEリファレンス(リンク、記事、書籍など)を知っている人がいれば幸いです。 ! これまでの回答は役に立ちましたが(リンクをありがとう)、私の質問の核心に対する答えがまだ見つかりません。繰り返しますが、おそらくそれは私自身の状況に対する誤解です。私が知りたいことは次のとおりです。 あなたは(逆の、I平均で逆にすることができ、アンドゥそれは親バージョンの子バージョンから作られた後、ポスト)?このシナリオでは、親はSDE.DEFAULTバージョンである場合がありますが、そうである必要はありません。さらに良いことに、投稿後に投稿の一部(たとえば、ポリゴンの1回の編集)を元に戻すことができるかどうかを知りたいですか?また、競合を検出する必要なくこれを実行できるかどうかも知りたいと思います。 この質問に対する明確な答えが見つからないという事実(つまり、「はい」または「いいえ」)がどこにも文書化されているため、ArcSDEのバージョン管理に関する重要な何かを見逃していると思われます。また、AテーブルとDテーブルを手動で操作することも避けたいと思います。

5
ArcGIS 10.1ではArcSDEは不要になりましたか?
ArcSDE 10.1でインストール後ウィザードが見つからず、SDEデータベースでSDEサービスを開始するコマンドラインツールで失敗するという不満から、データベースにアクセスし、機能をコピー/貼り付け/追加/削除できることがわかりました機能/など すべて、SQL Server 2012マシンへの直接接続を介して。これはArcSDEを実行せずに実行されました。 だから...質問は、デスクトップツールを使用してデータベースを管理できる場合に、なぜSDEサービスを実行しようとするトラブルを経験する必要があるのか​​ということです。エンタープライズジオデータベースを作成することもでき、必要なビジネステーブルがすべて作成されたことを確認しました。ArcGIS Server 10.1ですべてのマップサービスを直接接続で再作成しましたが、Web編集は完全に機能しています。 おそらく私は何かが欠けている... 更新: ジオデータベースの新機能トピックで示されているように: 「エンタープライズジオデータベースにアクセスするための推奨される方法は、ArcGISクライアントから直接接続することです。ジオデータベースへの直接接続のみを使用する場合、ArcSDEアプリケーションサーバーをインストールする必要はありません。」 ただし、ArcSDEシステムテーブルの設定を編集する必要がある場合は、アプリケーションサーバーに含まれているコマンドラインツールをインストールする必要があります。SQLを介したシステムテーブルの直接編集は技術的にサポートされていないと思います。

2
オープンソースとESRIの両方の使用に最適なジオデータベースタイプはどれですか?
主な質問:ESRIとオープンソース製品の両方でシームレスに動作するジオデータベースタイプはありますか? 詳細:私の会社は現在、さまざまなベクターおよびラスターファイル形式でジオデータを渡し、特に編成されていません。ほとんどの処理はオープンソースツールを使用して行われますが、一部の顧客はデータをESRI Mapサービス形式でホストすることを要求しています。これらのサービスをホストするArcGISサーバーインスタンスは既にありますが、ESRI arcsdeジオデータベースに結果をダンプする前に、オープンソースツールを使用してアップストリームで処理します。私の知る限り、ogr / gdalにはarcsdeジオデータベースからの読み取り/書き込み機能が多少制限されていますが、すべてのデータをarcsdeジオデータベースに合理的に格納し、処理ツールがarcsdeを使用できることを期待できるほどではありません会社のプライマリデータストアとしてのジオデータベース。私が間違っている?postgisなどのオープンソースジオデータベースに切り替えた場合、処理ツールは正常に機能しますが、ESRIサービスをホストするためのデータストアとしてpostgisデータベースを使用できるとは思いません。私が間違っている?オープンソースとESRIの両方をシームレスに処理できるジオデータベースタイプはありますか?そうでない場合、オープンソース用とESRI用の並列ジオデータベースを維持するのが一般的ですか? 追加のしわ:私が得た答えはPostgreSQL / PostGISを使用することでした。唯一の潜在的なしわは、このデータベースをAmazon Web Services(AWS)でホストし、可能であればAmazon Relational Database Service(RDS)を使用してデータベース管理のオーバーヘッド(バックアップ、負荷分散)を最小限にしたいことですなど)。ただし、RDSは現在、データベースエンジンとしてMySQL、Oracle、およびSQL Serverのみをサポートしています。RDSがPostgreSQLのサポートを開始する場合、これが理想的なシナリオになると考えていますが、再確認するには、PostgreSQLはArcGIS + gdal / ogrベースのオープンソースの相互運用性の正しい唯一のオプションですか?その場合、AWSでPostgreSQLデータベースを作成する可能性が高いので、それを管理するためにより多くのリソースを費やす必要があります。

7
ArcSDEからPostGISへのデータの移行?
もう一度この質問をすることをお勧めしますが、おそらく複数のシェープファイルをPostGISに一括ロードする方法とは異なる言い方をしています。 私はpostgisとsqlを初めて使用しますが、ArcSDEのスレーブとして(当分の間)postgisを使用したいです。したがって、私が望んでいるのは、毎晩PostGISにArcSDEデータをバッチアップロードする方法を理解するのに役立つことです。 Pythonスクリプトを作成してArcSDEデータを夜間にSHPにエクスポートできますが、エクスポートされたSHPファイルをPostGISにバッチアップロードし、postgisにすでに存在するファイルをすべて自動タスクとして上書きする方法がわかりません(バッチファイルだと思います) )。 私の大計画は、ArcSDE / ArcGISをPostGIS、QGIS、GeoServerまたはMapServerに時間をかけて置き換えることです。

3
ArcObjectsのIFeatureClass.Search(直接接続を使用するSDEのみ)のメモリリークに対処しますか?
ESRIサポートは、問題を再現し、バグレポート(NIM070156)を開いたと言います。 .NET / C#ArcMapアドインのツールが空間クエリ(クエリフィルターでICursorfrom IFeatureClass.Searchを返す)を実行するときに発生するメモリリーク(アンマネージヒープメモリ)があると判断しましたISpatialFilter。すべてのCOMオブジェクトは、必要がなくなるとすぐに解放されます(を使用Marshal.FinalReleaseCOMObject)。 これを判断するには、まず、ArcMap.exeのプライベートバイト、仮想バイト、ワーキングセットのカウンターを使用してPerfMonセッションを設定し、クエリを実行するツールを使用するたびに3つすべてが着実に増加(反復ごとに約500 KB)することに注意しました。重要なのは、直接接続(ST_Geometryストレージ、Oracle 11gクライアントおよびサーバー)を使用してSDEのフィーチャクラスに対して実行された場合のみです。ファイルジオデータベースを使用する場合、およびアプリケーション接続を使用する古いSDEインスタンスに接続する場合、カウンターは一定のままでした。 その後、LeakDiagとLDGrapherを使用し(このブログ投稿からのいくつかのガイダンスを使用)、Windowsヒープアロケーターを3回ログに記録しました。さらに数十回。 LDGrapherのデフォルトビュー(合計サイズ)に表示される結果は次のとおりです。 赤い線の呼び出し履歴は次のとおりです。 ご覧のとおりSgsShapeFindRelation2、sg.dll の関数がメモリリークの原因となっているようです。 私が理解しているように、sg.dllはArcObjectsで使用されるコアジオメトリライブラリSgsShapeFindRelation2であり、おそらく空間フィルターが適用される場所です。 他のことをする前に、他の誰かがこの問題(または同様の問題)に遭遇したかどうか、そしてそれについて何ができるかを確認したかっただけです。また、直接接続でのみこれが発生する理由は何ですか?これは、ArcObjectsのバグ、構成の問題、またはプログラミングの問題のように聞こえますか? この動作を生成するメソッドの最小動作バージョンは次のとおりです。 private string GetValueAtPoint(IPoint pPoint, IFeatureClass pFeatureClass, string pFieldName) { string results = ""; ISpatialFilter pSpatialFilter = null; ICursor pCursor = null; IRow pRow = null; try { pSpatialFilter = new SpatialFilterClass(); pSpatialFilter.Geometry = pPoint; …

3
ArcPyを使用してArcGIS DesktopでポイントごとにArcSDEポリゴンを選択しますか?
私は何かが足りないに違いないと考え続けていますが、ArcPyを介してポイント(X、Y)の位置にあるレイヤーからフィーチャ(特にポリゴン)を選択するツールはArcGIS 10にはないようです。このようなツールのパラメーターは、レイヤー名とXYロケーションのみです。 現時点では、ポイントを含むポイントフィーチャクラスを作成し、その上でSelectLayerByLocationを実行することでこれを回避します。ただし、ポリゴンフィーチャクラスがOracleにあり(ArcSDE 9.x経由でアクセス)、350万個のポリゴンが含まれている場合、選択を行うのにかかる時間は、2、3秒(より少ないコードで)より適切な。フィーチャクラスには空間インデックスがあり、arcpy.env.extent(SelectLayerByLocationが無視するように見える)を使用してアクセスする地理的領域を制限しようとしましたが、パフォーマンスは非常に低いままです。 ArcGIS Desktop 10とArcPyを使用してこれを行う簡単な方法はありますか?

2
ArcPyを使用して関連レコードを効率的に選択しますか?
以下は、ArcMapの「関連テーブル」ボタンを複製するために使用しているコードです。ArcMapでは、そのボタンは、別の関連フィーチャクラスまたはテーブルのフィーチャの選択に基づいて、あるフィーチャクラスまたはテーブルのフィーチャを選択します。 ArcMapでは、そのボタンを使用して、選択を関連テーブルに数秒で「プッシュ」できます。ボタンを複製するarcpyに組み込まれたものを見つけることができなかったため、同じタスクを実行するためにいくつかのネストされたループを使用しました。 以下のコードは、「治療」のテーブルをループします。各処理について、「ツリー」のリストをループします。治療のIDフィールドとツリーの間で一致が見つかると、ツリーレイヤーで選択が行われます。治療に一致するものが見つかると、コードは追加の一致のためにツリーレイヤーを検索し続けません。処理テーブルに戻り、次の処理を選択して、再びツリーフィーチャクラスを検索します。 コード自体は正常に機能しますが、非常に遅くなります。この場合の「治療テーブル」には16,000レコードがあります。「ツリー」フィーチャクラスには60,000レコードがあります。 あるテーブルから別のテーブルに選択をプッシュするときに、ESRIが実行していることを再作成する別のより効率的な方法はありますか?テーブルのインデックスを作成する必要がありますか?注:このデータはSDEに保存されます。 # Create search cursor to loop through the treatments treatments = arcpy.SearchCursor(treatment_tv) treatment_field = "Facility_ID" for treatment in treatments: #Get ID of treatment treatment_ID = treatment.getValue(treatment_field) # Create search cursor for looping through the trees trees = arcpy.SearchCursor(tree_fl) tree_field = "FACILITYID" for tree in trees: …


2
ArcGISとPostgreSQLをArcSDEだけで使用することの利点は何ですか?
ArcGIS空間データ型(ST_GEOMETRY、バージョン対応ジオデータベースなど)を活用するには、ArcSDEをインストールする必要があることを理解しています。10.1クライアントでは、自動的にインストールされます(2層クライアント>> DBMS、こちらを参照)。 ただし、EsriフロントエンドをPostgreSQL(またはOracle)に接続する利点を理解しようとしています。スケーラビリティ/パフォーマンス/冗長性/ DBAabilityなどの純粋にバックエンドの利点ですか、それともPostgreSQL / PostGISセットアップによって提供される追加のフロントエンド機能がありますか?Esriのヘルプは精巧ではないようです 参考までに、私はPostgresql / PostGIS / QGISがArcGIS /他のデータベースよりもスケーラブル/柔軟(そして安価)である理由を説明することを目的としたGIS論文を設計しているデータベース初心者です。実装する余裕はありません。この最後のポイント、特にワークフローに関するリンク(たとえば、シェイプファイルが大量に散らばっていないなど)は大歓迎です。d。

2
ArcSDE(SQL Server)からPostGIS(PostgreSQL)への移行
ArcSDEデータベース内に(SQL Server経由で)弊社のすべての地理空間情報があります。 ポイント(アンテナの位置)、 線(標高、河川)、 ポリゴン(保護されたエリア、家)。 これらのデータは、ArcGIS DesktopおよびArcGIS Serverで使用します。 すべての情報を(PostgreSQLを介して)PostGISに移行することを計画しており、いくつかの手順と留意すべき考慮事項に従うべきドキュメント/ウェブページがあるかどうか疑問に思っています。データモデルをエクスポートするのは非常に難しいですか? 私は調査し、GDAL-Pythonスクリプトを使用してSDEから読み取り、PostGISに書き込むいくつかのテストを行ってきましたが、経験はありがたいです。 ところで、ArcGIS Desktop(QGISとともに)およびGeoServerでPostGISからの情報を使用する予定です。 事前にどうもありがとうございました。

2
ArcSDEデータベースの古いバージョンと新しいバージョンの違いを取得しますか?
異なるサーバーでホストされている同じデータベースの2つのバージョンを比較するときに、ArcSDEデータベースのスキーマに加えられた変更を明らかにできるツールまたはプロセスはありますか? サイトを実行している古いデータベースと新しいバージョンがあり、スキーマとコンテンツの点で何が変更されたかについて頭を上げたいと思います。

1
小さなデータセットで単純な結合を行うと、ArcMapの速度が大幅に低下するのはなぜですか?
ArcGIS 9.3.1、ArcInfo。属性結合を実行しているいくつかの小さなファイルジオデータベースとSDEフィーチャクラス(それぞれ数千のレコード、50列)があります。結合後、マップの描画は毎秒1秒未満から数秒に、場合によってはさらに遅くなります。結合からフィールドを参照する定義クエリを追加し、再描画中にコーヒーを飲みましょう。これが起こる理由についてのアイデアはありますか?これを経験した人はいますか?


3
選択フィーチャからレイヤーを作成ツール:フィーチャのリストはどのように保存されますか?
ArcGIS Desktopには、[ 選択したフィーチャからレイヤーを作成]というツールがあります。このツールを使用して、選択範囲をArcMapのレイヤーに変換できます。 地図に表示する機能を分離するレイヤーのどこかに埋め込まれた「機能のリスト」があると思います。 私は、「機能のリスト」がのリストwhereとして定義クエリの句に格納されると考えていたでしょうobjectids。例:where objectid in(123,456,789,...)。ただし、そうではありません。 レイヤーにWHERE句または定義クエリがない場合、フィーチャのリストはどのように保存されますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.