タグ付けされた質問 「sql-server-spatial」

4
xおよびyフィールドからgeography / geometry列を作成する-SQL Server 2008
私はSQL Server 2008の初心者です。私の質問/必要性を理解してください。 したがって、データベース(空間)に3つのフィールド(Name、Lat、Long)を含むテーブルがあります。これらのフィールド(LatおよびLong)に基づいてジオメトリ/ジオグラフィ列を作成したいのですが、残念ながら成功しません。 私の質問は、どうすればそれを行うことができますか?

3
SQL Server Spatialで地理データ型ではなくジオメトリを使用していますか?
歴史的に、私は主にSQL Serverの単純な緯度と経度の座標を扱ってきました。それらを地理データ型としてSQL Serverに保存し、さまざまなディスプレイ(主にGoogleマップ)でレンダリングしました。 最近、さまざまなソースからのシェープファイルデータセットの使用を開始しましたが、それらはほぼ排他的にジオメトリです。さらに、さまざまな座標参照系を使用します。 動作するのはかなり厄介です。 USGSは、一部のデータについて、非常にまれで困難なCRSを使用しています。 ロサンゼルス郡では、State Plane 5(特にCRSを参照せずに)を使用していること、そしてもちろんQGISには複数の「State Plane 5」を選択できると述べています。 これらの特定の空間参照システムには、実際にWGS84を使用しても達成できない利点がありますか?

3
SQL 2008のポリゴンの「利き手」を変更する(ポリゴンの頂点の順序を逆にする)
SQL 2008に取得しようとしている数万のポイントで構成される数百の形状(polygonsとmultipolygons)があります。 残念ながら、インポートしようとしたシェイプは「右利き」です(各シェイプの周囲は、含まれているポイントの周りに時計回りに描かれています)。SQLサーバーは、少なくともgeography型については、「左回り」の形状(内部で反時計回り)を想定しています。これは、SQLが、自分の形状を除いて地球全体を選択しようとしていることを前提としていることを意味します。一部の人々は、これを「裏返し」の形状と表現しています。 MSDNから、どのリングの向きを使用するべきかについてイライラするほど言っていません: geographyデータタイプを使用して空間インスタンスを格納する場合、リングの方向を指定し、インスタンスの場所を正確に記述する必要があります。 SQL 2008で間違ったリング方向を使用すると、次のエラーでクラッシュします(強調は私のものです)。 ユーザー定義ルーチンまたは集計 "geography"の実行中に.NET Frameworkエラーが発生しました:Microsoft.SqlServer.Types.GLArgumentException:24205:指定された入力は、単一の半球を超えているため、有効なgeographyインスタンスを表していません。各geographyインスタンスは、単一の半球内に収まる必要があります。このエラーの一般的な理由は、ポリゴンのリングの向きが間違っていることです。 geometryではなくとしてシェイプをインポートすることはgeography問題ありませんが、geography可能であれば使用したいと思います。 SQL 2012では、この問題を修正するのはかなり簡単ですが、私は2008に縛られています。 形状を変換するにはどうすればよいですか?

2
Geometry.STIntersectクエリの最適化
ESRIベースのプロセスからSQL Serverに単純なジオプロセシングルーチンを移動しようとしています。私の仮定は、それがはるかに効率的であるということです。私の最初のテストでは、重複する線形データを関連付けるために交差ルーチンに取り組んでいます。 私のWCASINGテーブルには1610レコードがあります。これらのケーシングを関連するメインに関連付けようとしています。約277,000のメインがあります。最大1,600のケーシングがあります。 以下のクエリを実行して、個々の一致を見つけるのにかかる時間の一般的な意味を取得します。このクエリは、40秒で5つの有効な交差を返しました。 SELECT Top 5 [WCASING].[OBJECTID] As CasingOBJECTID, [WPUMPPRESSUREMAIN].[OBJECTID] AS MainObjectID, [WCASING].[Shape] FROM [dbo].[WPUMPPRESSUREMAIN] JOIN [WCASING] ON [WCASING].[Shape].STIntersects([WPUMPPRESSUREMAIN].[Shape]) = 1 私の主な質問; 検索順序によっては、この処理が速くなりますか? 「B」の内部で「A」を見つけると、 「A」の内部で「B」を見つける これらのデータセットからの5つのレコードの最初のリターンは問題ではないということです 最初にバッファリングして小さなメインセットに制限してから検索すると、この処理は速くなりますか? SQL Server Tuningを使用して、ジオメトリベースのクエリを操作できますか? SELECT WCASING.OBJECTID AS CasingOBJECTID, WPUMPPRESSUREMAIN.OBJECTID AS MainObjectID, WCASING.UFID AS UFID, WPUMPPRESSUREMAIN_IPS.UFID AS MainUFID, WCASING.SHAPE INTO WCASING_INTDefsV6 FROM WCASING with …

2
SRID:4326データをジオメトリまたは地理として保存しますか?
OGR2OGRを使用して、SRID 4326ポイントデータをMSSQLサーバーにインポートしました。4326としてデータを検出してgeography列を作成するのではなく、geometry列を作成することにデフォルトで気付いていませんでした。私はこれを回避するためのコードを知っているので、問題はありません。 ジオメトリ列のデータはそのままQGISに表示されます。それで、実際にデータを地理列に入れる必要がありますか? ありがとう!

1
SQL Server Spatialを使用して地球のすべての土地の重心を計算していますか?
地球のすべての土地の中心点を見つけたいです。 私が今までに試したことは、すべての国と地球の極地のシェープファイルをダウンロードすることです。次に、そのシェープファイルをSQL Server 2008データベースにインポートし、いくつかのクエリを実行してそのポイントを見つけようとしましたが、すべてが無駄でした。 SQL Serverを使用して地球のすべての土地の重心を計算するにはどうすればよいですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.