回答:
ArcGIS 10.0以降を使用している場合は、クエリレイヤーを使用してPostGISデータに直接接続できます。これについての詳細は、各バージョンのヘルプに記載されています。
PostGISジオメトリタイプを使用するには、データベース管理者がPostGISをPostgreSQLデータベースクラスターにインストールする必要があります。PostGISは、サードパーティのオープンソースインストールです。データベース管理者は、インストール後、PostGISテンプレートデータベースを使用してPostGISジオメトリタイプを含むデータベースを作成するか、PostGISジオメトリタイプを使用するように既存のデータベースを構成できます。
ArcGIS 10.1およびArcGIS 10.2は、どちらもPostGreSQLおよびPostGISデータタイプをネイティブでサポートしています。両方のバージョンのヘルプには、GetGISのセットアップと、PostGISジオメトリタイプを使用するためのテーブルの構成のウォークスルーが含まれています。
私のブログでこの投稿をご覧ください:http : //www.paolocorti.net/2008/06/06/spatial-database-for-postgres-and-arcgis-users-how-to-choose/
基本的に2つのオプションがあります:
ジオデータベースのサポート(ドメイン、トポロジなど)またはArcCatalogのサポートが必要な場合は、現時点で最初のソリューション(ArcSdeを使用)が唯一の方法であることに注意してください。
ArcGis Desktop 10で聞いた限り(直接テストしていません)、ArcSdeゲートウェイなしでPostGisへの読み取り専用の直接接続を行うことができます。
zigGISはもうアクティブではなく、ウェブサイトはオフラインです
9.3でそれを行うための投稿がいくつかあります。最初はここにあり、そこから残りの部分にアクセスできます:http : //geobabble.wordpress.com/2008/05/28/using-arcsde-93-with-postgresql-part-1/
私は10.0で一度やってみましたが、問題はありませんでした。ArcSDEでPostgreSQLとPostGISを使用するときは、Esriでサポートされているバージョンに固執することを強くお勧めします。
最も簡単なのはObtuse SoftwareのzigGISです。現在、あなたはそれを支払う必要がありますが、通りの言葉は、バージョン3がオープンソースになるということです。
Google Code Archiveにziggis
よると:
zigGIS v1.2はサポートされなくなりましたが、ここからダウンロードできます。zigGIS v2.0は現在商用製品であり、主要な安定性の向上、パフォーマンスの向上、および完全な編集機能が含まれています。詳細については、Obtuse SoftwareのWebサイトを参照してください。
Obtuse SoftwareのWebサイトへのリンクが壊れているようです。
ArcGIS 10.1 SP1はPostGIS 2.0.0データベースにネイティブに接続できますが、接続は読み取り専用であり、ほとんどの場合、クエリレイヤーへのクリーンなフロントエンドとして機能します(実際、すべてのレイヤーをクエリレイヤーとしてロードします)。データベース接続では、データベース内のすべてのテーブルとレイヤーをカタログで表示できます。
別の方法として、arcgis-ogrもあります。これにより、すべてのOGRベクタータイプにArcGISプラグインとして接続できます。。また、現時点では読み取り専用です。
まず、OLE DB接続を使用して、ArcGISをPostgreSQLでのみ使用できます。つまり、共通のテーブルと列のみを読み取ることができます(空間列は読み取ることもできますが、ArcGISはそれら、
ArcGISおよびPostgreSQL + PostGISを使用するには(空間データを表示する必要があることを意味します)、ArcSDEまたはZigGISが必要です。
両方のオプションを使用して、PostGIS、ArcMapまたは他のESRIツール内に保存されているデータのクエリ、編集、分析を行うことができます。
ArcSDEはESRIが提供するミドルウェアであり、作業の全体のワークフロー(ジオデータベースのインストール、構成など)を変更し、ZigGISはデスクトップツールです(つまり、ESRIデスクトップツールが関係する場合にのみ使用されます)。
ArcEditorまたはArcInfoデスクトップレベルがある場合は、SQL Server Expressを使用できます。一度に編集できるユーザーは1人だけですが、ロックとロック解除の方が優れている場合があります。最初に試してみてください。それを行う方法に関するドキュメントはたくさんあり、あなたはdbaである必要はありません-私はpostgresが好きですが。攻撃的なQGISの人はいません;)
また、Esriの営業担当者がエンタープライズではなく「ArcGIS Server Workgroup」の見積もりを提供していることを確認してください。以下を参照してください-10の同時編集接続が可能です。それはもっと$ 3-5kのようなはずです。価格http://www.esri.com/software/arcgis/arcgisserver/pricing
SDEおよびSQL Server Express ArcSDEデスクトップライセンスに関するライセンスとリンクの適切な説明については、この投稿も参照してください。
「ジオデータベースを作成し、カタログウィンドウまたはArcCatalogの[データベースサーバー]ノードを介してデータベースサーバーのその他の管理タスクを実行します。これらのタイプのArcSDEジオデータベースを作成して使用します。
データベースサーバー上のジオデータベースへの接続は常に直接接続です。クライアントのArcSDEライブラリファイルを使用して接続します。この場合、クライアントアプリケーションは、ArcEditorまたはArcInfoライセンスレベルのArcGIS Desktop、ArcGIS Engine、およびArcGIS Server Workgroupです。
これらの製品のメディアには、SQL Server Expressのインストールファイルが含まれています。SQL Server Expressインスタンスを作成し、ウィザードを実行してインスタンスにジオデータベースを保存できるようにすると、クライアントアプリケーション内のライブラリを使用して、データベースサーバーに接続して操作し、データベースサーバーでジオデータベースを作成して操作できます。
ArcGIS Desktop(ArcEditorおよびArcInfo)およびArcGIS Engineを使用すると、データベースサーバーをセットアップし、少数のユーザーがアクセスして一度に1人のユーザーが編集できるArcSDEジオデータベースを作成できます。
ArcGIS Desktopを使用するArcGIS Server Workgroupを使用すると、データベースサーバーをセットアップし、同時に最大10人のユーザーがアクセスできるArcSDEジオデータベースを作成できます。すべてのユーザーが同時に編集できます。ArcGIS Server Workgroupを通じてライセンスされたデータベースサーバーを使用する場合、接続制限のないWebアプリケーションを使用してジオデータベースに接続することもできます。
ArcGISが50以上のベクター形式(PostGISを含む)にアクセスできるプラグインを作成しました。まだ実験段階ですが、試してみて、どのようになるか教えてください。
ArcGISの組み込み機能よりもこのアプローチを使用することには利点があります(FAQをご覧ください)が、やはり実験的です。
私は同様のツールが欲しかったので、この投稿とこれに対する解決策のためのより広いウェブを監視してきました。今日は、James FeeのブログへのRSSフィードを介して(私たちの)ソリューションに出会いました。そして、私はあなたが求める解であると信じてPgMapによりST-リンク。
ArcGIS 9.3バージョンを試してみましたが、印象的です。しかし、私はまだPostGIS初心者なので、編集にはまだ苦労しています(ID列のこと)。また、PostGISローダーへの洗練されたESRIが付属しており、何よりも無料です![OpenGeoSuite Community Edition 2.4.1でテスト済み]
[スタート]-> [コントロールパネル]-> [パフォーマンスとメンテナンス]-> [管理ツール]-> [データソース]に移動します。
[システムDSN]タブに移動します。
追加をクリックします。
リストを下にスクロールします。PostgreSQL ODBCドライバーをインストールすると、そこに表示されるはずです。リスト内の最初のPostgreSQL ODBCドライバーをクリックします。
接続の詳細をフォームに入力します。接続がPostgreSQLデータベースと同じマシン上にある場合、サーバーフィールドにlocalhostと入力します。それ以外の場合は、ネットワーク上のコンピューターの名前。ネットワーク上のデータベースに接続するには、pg_hba.confファイルにいくつかの変更を加える必要があります。ユーザー認証セクションのPostgreSQLマニュアルをご覧ください。これが完了したら、[完了]をクリックします。
リストにあるすべてのPostgreSQL ODBCドライバーを同様に追加します。
OKをクリックします。これで、ODBCドライバーを介してPostgreSQLデータベースに接続できます。ドライバは、接続情報とともにデータベースに送信するだけで済みました。
2011年の時点で、ST-Links SpatialKitをお試しください。このソフトウェアはフリーウェアであり、ArcGIS 9.3 / 10.0 / 10.1 / 10.2で動作します。
ダウンロードには、表示、編集などの機能を文書化するための素晴らしいPDFが含まれています。
以前、ArcGIS 10.1および10.2を使用する際に多くの問題を起こさずにこれを実行しましたが、残念ながら9.3およびpostgres 9.2では動作しません。
esriのドライバーを使用しました。ESRIカスタマーケアサイトへのログオン
「PostgreSQLQLクライアントライブラリ(Windows)」が表示されるまで下にスクロールします。サイズは2.21 MBです。
ダウンロードをクリック
PostgreSQL / PostGISの場合、ダウンロードしたファイルは、libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、およびssleay32.dllの必要な32ビットバージョンを含むライブラリの「pg_client_windows86」クライアントセットである必要があります。これらをArcGIS binディレクトリにコピーします。10.1を使用しているコンピューターでは、C:Program Files(x86)ArcGISDesktop10.1bin 32ビットウィンドウを使用している場合は、C:Program FilesArcGISDesktop10.1binのようになります。
これを行うと、データベースに接続してデータを追加できるようになります。データクエリレイヤーを使用するには、まずデータベースに接続する必要があります。ArcGIS 10.1では、[ファイル]、[データの追加]、[クエリレイヤーの追加]の順に選択する必要があります。
唯一注意することは、返されるデータには、ArcGISが主キーとして使用できる一意のフィールドが必要であることです。基本的なクエリ以外のものを使用していて、ArcGISがどのフィールドを使用するかを判断できない場合は、指定する必要がある場合があります。これを行うには:
また、その場でidフィールドを作成する必要がありますが、postgresデータベースに対して空間クエリを比較的簡単に実行できます。例えば、これは100kmのバッファを行う例です。
SELECT row_number() over(order by cities.the_geom)::integer as oid,
ST_BUFFER(cities.the_geom, 100000) AS the_geom,
cities.name
FROM mygis.public.cities As cities
それだけでなく、クエリレイヤーをレイヤーファイルとして保存し、それをいくつかの標準ArcGISツールに渡すこともできます。これはあまりテストしていません。そのため、列やそのようなものを追加すると、大混乱を引き起こすことがわかります。SQLServerやOracleのような他のデータベースで空間SQL呼び出しを行うこともできますし、ちょっとした操作でon the fly idフィールドを作成することもできます。
しばらく前に完全なチュートリアルを行いました:http : //www.gisuser.org.nz/resources/tips-and-tricks/look-mum-dad-no-hands
ArcGIS 10.4で効果的に、追加の拡張機能を必要とせずに、サポートされているPostgreSQLデータベースの PostGISジオメトリを読み書きできます。これにはAdvancedライセンスのみを使用しましたが、Standardライセンスは非ジオデータベースPGサーバーデータベースに接続し、そのワークスペースをベクター作成ツールの宛先として使用することもできます。面倒ですが、Basicライセンスクライアントを使用して、PythonでSQLを使用してテーブルに書き込むこともできます(経由arcpy.ArcSDESQLExecute
)。読み取り専用クエリレイヤーは、ArcGIS 10.0以降、すべてのライセンスレベルでオプションになっています。
PostgreSQL 9はArcGIS 10で動作しますか?
Postgis ZigGIS 3.0の編集用
http://groups.google.com/group/ziggis/browse_thread/thread/8e17f4c2ac57f428?hl=en
読み取り専用は、適切なODBC Postgresドライバーを介して実行でき、ArcCatalogで直接接続できます
GISquirrelは、SDEの数分の1のコストでジョブを実行します。MSSQLとPostGISの両方へのarcgis接続をサポートしています。セットアップが非常に簡単(shapefile / featureclassからpostgresにインポート可能)で、保守も簡単です。マルチユーザー編集機能を必要とする少数のユーザーにとっては、問題ありません。
GISの「パワーユーザー」にはGISquirrel / Arcgisを使用し、「基本ユーザー」のQGISは同じPostGISサーバーに接続できるため、ライセンスコストを節約できます。
PgMapはst-links spatialKitに置き換えられ、PostGISをサポートするだけでなく、SQL Server 2008もサポートします。ArcMap9.3およびArcMap 10で動作し、要件を満たします。www.st-links.comで確認してください
SDEを使用する以外にもいくつかのオプションがあると思います(ただし、SDEでPG_Geometryを使用できるため、ESRIソフトウェアまたはPostGIS互換OSソフトウェアを介してデータにアクセスできます)。ESRI Data Interoperabilityエクステンション、ZigGISがあり、おそらくジオサーバーまたはマップサーバーのコピーをインストールし、ArcGISのWMSサービスを介して接続できます。zigGISに関する以前の投稿とpgAdminを介してクエリを管理する必要性と同様に、ジオサーバー/マップサーバーでクエリを作成するためにそれを使用する必要があります。理想的には、同じクエリを再利用している場合、それらをpostgresqlのビューとして保存し、その方法でデータにアクセスできます。
ST-Links SpatialKitは、ArcSDE、ArcInfo、ArcGIS Serverなしで空間データベースに直接接続するためのArcMap拡張機能です。
ライセンスによると、188 CADかかりますが、「ライセンス料を払えないユーザーには無料ライセンスを発行し続けます。無料ライセンスには時間制限があります。無料ライセンスをリクエストする場合は、理由を教えてください。ライセンス要求メール。」
PostGISデータをArcMapに追加する簡単な方法は、「相互運用性接続」を追加することです。これを行うには、「Data Interoperability Extension」が必要です。
接続を作成する前に、「数値インデックス」と「プライマリキー」をPostGISデータベーステーブルに追加することをお勧めします。