問題タブ [sqlgeography]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 多くのポリゴンの地理的和を計算する効率的な手法
多くの (70,000 以上)GEOGRAPHY
ポリゴンを含むデータベース テーブルがあります。(ポリゴンはプロパティ パーセルです。)MULTIPOLYGON
これらすべてのパーセルの地理的結合で構成される集合形状 (a ) について、「これらのポリゴンによってカバーされる凸包の割合」など、多くの計算を実行する必要があります。 ? (注: これは思ったほど単純ではありません。区画が重複することはありますが、それらを二重にカウントしたくないため、区画の面積を単純に合計することはできません。)
これらの計算を実行するために、すべてのポリゴンの地理的結合を表す新しい形状を生成したいと考えています。この質問への回答に基づいて、次のクエリを試しました。
ただし、クエリには永遠に時間がかかります(これまでのところ 60 分と数えています。まだ回答はありません)。他の人が考えることができる、より効率的な他のテクニックは何だろうと思っています。このクエリは、リアルタイム クエリである必要はありませんが、60 分以上も機能しません。
sql - 「Microsoft.SqlServer.Types.SqlGeography」タイプを同期するときの Visual Studio データ比較のバグ
Visual Studio のデータ比較ツールによって生成されたスクリプトを実行しようとすると、エラーが発生します。Google検索しても解決策が見つかりませんでした。
これは、オフィスで試したすべての開発マシンで発生します。
ネットワーク経由でリモート サーバー インスタンスに接続している Microsoft SQL Sever Management Studio 2006 R2 内から実行しています。
- Microsoft SQL Server Management Studio 10.50.2550.0
- Microsoft 分析サービス クライアント ツール 10.50.2500.0
- Microsoft データ アクセス コンポーネント (MDAC) 6.1.7601.17514
- マイクロソフト MSXML3.0 4.0 5.0 6.0
- Microsoft Internet Explorer 9.11.9600.16476
- マイクロソフト .NET フレームワーク 2.0.50727.5472
- オペレーティング システム 6.1.7601
エラー
SQL
http://pastebin.com/embed_iframe.php?i=R9ResyeX
テーブル列「Shape」が次のように宣言されていることに注意してください。
生成された TSQL を修正しようとしました。http : //technet.microsoft.com/en-us/library/microsoft.sqlserver.types.sqlgeography.write%28v=sql.105%29 に従って .WRITE を .Write に変更しました。.aspx を削除し、最後から 2 つの冗長な NULL、NULL パラメータを削除しました。念のため、SQL が自動的に 16 進文字列を、メソッドが期待する BinaryWriter に変換していました。これにより、予期されたエラーが発生しました。
よくわかりませんが、これはコード比較ツールのバグのようで、無効な SqlGeography SQL コマンドを生成していますか?
「.WRITE」を完全に削除して = 演算子だけを残すと、TSQL が 16 進値を強制する方法のように見えます。ただし、別のエラーが発生します。
このエラーに触れている唯一の記事はこれです。
http://blogs.msdn.com/b/isaac/archive/2009/08/10/spatial-data-type-structure.aspx
ただし、Visual Studio がソース データ テーブルから抽出した HEX に関しては、私もそれほど賢くはありません。
sql-server - ポリゴンの端から始まるポリゴンの外側のポイントの最短距離を見つける方法は?
次の点を考慮してください。
- ポイントA
DbGeography
(オフィス住所) - ポイントB
DbGeography
(営業所サービスエリア外のお客様ご住所) - ポリゴンC
DbGeography
(オフィスのサービスエリア)
上記のポイントとポリゴンを使用して、BからCのエッジまでの最も近い距離を見つけるにはどうすればよいですか? 最初にAとBの間の線を見つけ、次に線がC (= D ) と交差する場所を見つけて、DからBまでの距離を計算する必要があると思いますか?
SQL Server の空間機能の使用が制限されており、Entity Framework を使用しているため、それをコードで表現する方法がわかりません。SqlGeography
また、制限があるため、これを使用する必要があると思いますDbGeography
。私はおそらく拡張機能を書くことになるでしょうDbGeography
。
上記のタスクをどのように達成できるかについての提案(コード例が大好きです)をいただければ幸いです。