ArcSDE-後でSDEから移行するためにネイティブジオメトリタイプを使用しますか?


8

背景: SQL Serverバックエンドを備えた非空間レポートWebアプリケーションがあります。このアプリケーションに空間コンポーネントを追加します。いくつかのベースマップを提供し、表示と編集のためにポイントとポリゴンを提供し、選択したポリゴンのレポートを作成します。

そのために、SQL ServerでArcSDEを使用し、ArcServerを使用してベースレイヤーとベクタージオメトリを提供する計画です。(WMS / WFS-Tのようなもの)

問題:ある時点で、高価なプロプライエタリソフトウェアから離れ、FOSSの代替手段(GeoServer、またはTinyOWS(SQL Serverをサポートしている場合))を使用することを決定する場合があります。できれば、ESRIテクノロジを使用してアプリケーションを完全に構築できないようにしたいと思います。

SDEについての私の理解は、ESRI固有の空間フォーマット、またはそれがインストールされているデータベースシステムにネイティブな空間フォーマットのいずれかを使用できるということです。(ネイティブ形式を使用すると、パフォーマンスが低下するものと思います。)

私の質問:ネイティブのSQL Server空間フォーマットを使用してこのSQLサーバーデータベースにSDEをセットアップする場合、SDEが管理していたテーブルに対して実行するように、たとえばGeoServerをセットアップできますか?SDEを取り除き、別のものを使用するには何が必要ですか?(また、メタ質問:これは質問するのに妥当な質問ですか?何か欠けている重要な点はありますか?)


2
SQL Serverの代わりにArcSDE for PostGISを検討することをお勧めします。ArcGISはネイティブの空間タイプでも直接機能するようです。help.arcgis.com
en

私たちの国立(US Fish&Wildlife Service)データベースは、SQL ServerからESRIと連携するPostGIS / Postgreに移行しました。
Roy

@mwalkerできればいいのに!アプリケーションには多くのストアドプロシージャとSSRSベースのPDFレポートがあり、完全な書き直しなしではPostgreSQLに移植できなかったと私は考えています。今、誰かが私が間違っていると私に言うことができるならば...
canisrufus '19 / 07/19

回答:


5

部分的な答え:私はGeoserverユーザーではありませんが、実際のSDEフィーチャクラス(SQL Server 2008)に格納されているネイティブジオメトリを使用して、空間駆動の非Esri Webアプリ(ASP.NET)を構築しました。バージョン管理されていない(またはバージョン管理されていて、編集内容をベースに移動するために存在する遅延を受け入れる)限り、問題はありません。私のアプリは空間的に駆動され、マップは含まれていませんでしたが、SELECTステートメントとストアドプロシージャで頻繁に使用される空間関数です。

ArcGISはネイティブまたはEsriのST_GEOMETRY実装にバグがある可能性があり、多くの場合、ベンダーが指を指す結果になることがわかりました。この質問を参照してください: Oracle / SDEでST_GEOMETRYのポリラインの頂点を増やす方法は? (短いバージョン:Oracle:「それがそのままです。Esriはそれに対処する必要があります。」Esri:「それはバグです。Oracleが修正するまでお待ちください。」)

ネイティブジオメトリを使用しないのは理由ではありませんが、バグに最初に遭遇した場合に注意する必要があります(データセットのSDE_BINARYバージョンをtest / dev環境に置いて、確認またはルールを設定できるようにすることをお勧めします)両方のストレージデータタイプで奇妙な動作が発生します)。


1

この計画された空間データベースの編集について言及します。完全な答えを得るために十分なデータを提供できないのは、この場合です。
編集されたテーブルに固有の特徴(データ型)がある場合は、荒海を計画しています。
空間テーブル(サードパーティ)のセットアップ、ユーザー権限、ビューア権限、ロックの回避、バージョニングのサポートなし、arcgisでのバージョン管理されていないデータの編集、...他にも多くのブリッジ、ハードルがあります。 、そして乗り越えるための裂け目さえ。
したがって、モデルが単純であればあるほど、達成するための問題は少なくなります。
とは言っても、短い答えはイエスです。
この道路の問題の1つは、道路を移動するという決定が下されるとすぐです。
道を降りるための車はたくさんあります。
適切な車両に決定を下すのは、サンドボックスを何年もプレイするのではなく、何ヶ月にもわたって行われることがよくあります。

EDIT
あなたの編集ポリゴンもし、あなたが品質管理(半径のような多分他のソフトウェア・スタック)を支援するための場所でtopolgyルールを望むかなり洗練されたテクニックとツールを使用しないでください。ポリゴンを分割する場合、両方に同じ属性を取得するかどうかを指定します。頂点を移動すると、スライバーがない場合でも別の頂点にスナップされます。などなど。esriを使用しない場合は、独自の(または空間データベース)を使用して基本的なGIS機能を適用します。あなたはあなたが何をしたいのか、そしてそれをどのように行うのか(またはそれができること)を知っている必要があります。


ESRIスタックは初めてですが、ポイントとポリゴン以外は保存しないと思います。ここで行う編集はポリゴンのものであり、Webアプリケーションからのブラウザーのみでの編集に制限する必要があります。実現可能だと思いませんか?
canisrufus

おそらく少し不器用
Brad Nesom 2012

1

SQLサーバー2008のネイティブジオメトリタイプにsdeデータを保存します。別の方法では保存しません。これにより、データベースでの空間クエリで最大限の柔軟性が得られます。GeoserverはSQLサーバーのデータ型のサポートに大幅な改善を加えたばかりですが、これを利用していないため、その点について多くの情報を提供することはできません。注意すべきことは、標準のポストインストールでsdeデータベースを構築すると、sdeのテーブル構造が構築されるということです。その構造を調べるのが賢明でしょう。Fossソリューションを優先してsdeを削除した場合、不要なsdeシステムテーブルがすべて必要になることはありません。したがって、クリーンなDBを再構築して、テーブルを新しい環境に移動します。geoserverにはpostgisの開発履歴があるため、SQLサーバーの代わりにpostgisを試す機会になります。私は

お役に立てば幸いです。


私があなたが答えた最初の質問であることを嬉しく思います。回答いただきありがとうございます。問題が発生していないとのこと、大変嬉しく思います。今週後半にSDEのインストールを開始するので、ネイティブジオメトリを先に進めると思います...
canisrufus '25 / 07/25
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.