問題タブ [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 - 地理データ型列に値を追加する方法は?
以下のようにレコードを挿入しようとしt-sql
ています。geography データ型列に値を追加することに感銘を受けました。
これは地理の値です。
t-sql
ステートメントで地理的な値に値を追加する方法を教えてください。
ステートメントを挿入
テーブル
以下の csv ファイル形式で挿入するデータを参照してください。
c# - SQL Server で STIntersection クエリを使用して複数のフィールドを返す方法
私は SQL Server 内でポリゴンの交差を計算しており、次の例に基づいて次の表を作成しています。
以下のように提案された SP をテストしましたが、機能しますが、「ZoneName」フィールドも返す方法がわかりません。これは重要です。
結果には交差座標が表示されますが、ポリゴン座標を保持するデータベース内の行は示されません。交差点が発生する 'ZoneName' を取得しようとしています (これは必須です):
これは簡単なはずですが、私は苦労しています。
- - 編集 - -
これは機能するはずで、機能するように見えます...しかし、ポリラインの近くにないゾーンを取得しています:
Google マップに手動でプロットして、ポリラインが正しいことを確認しました。同じことを行ってポリゴン座標が正しいことも確認しましたが、なぜデータベースはポリラインから 50 マイルも離れた交点のないゾーンを返すのでしょうか?
テストとして、ポリラインはロンドンを通過するので、ブリュッセルのゾーンも返されるかどうかを確認しようと思いました.そうではありませんでした. したがって、これは精度の問題でしょうか? プロットされたポリラインが正確にレンダリングされ、ゾーンの近くには行かないので、私はそれを疑っています.
私は今少し必死になっているので、座標を正しい順序(lat lng)で保存しているのか、それともlng latである必要があるのか も疑問に思っていますか?
c# - SqlGeographyはマルチポリゴンからポリゴンを取得します
関連する町のポリゴン(データ型)を含むTown
列を持つテーブルがあります。TownBoundary
geography
町ごとに、次のような KML (XML) ファイルを生成するために必要なポリゴン データを取得します。
town.TownBoundary.WellKnownValue.WellKnownText
で始まる値POLYGON(..
WellKnownText
しかし最近、一部の町にはより多くのポリゴンが含まれてMULTIPOLYGON(..
おり、機能STPolyFromText
がエラーで終わることに気付きました。
これをtry{}
ブロックに配置しましたが、catch{}
-値がマルチポリゴンの場合-どうにかして個々のポリゴンを取得することは可能ですか? method があることは知っていSTMPolyFromText
ますが、そこにある個々のポリゴンにアクセスすることはできず、 method のようにポイントにのみアクセスできますSTPolyFromText
。
私の目標は、マルチポリゴンをポリゴンに分割し、foreach ポリゴンよりも上記と同じ方法を実行することです。
sql-server - 「SqlDataReader」で「geography」列を読み取る方法は?
Entity Framework 6.0.0-alpha3 でgeography
生成された列を持つ SQL Server 2008 データベースがあります。System.Data.Entity.Spatial.DbGeography
次に、その列を . で読む必要がありますSqlDataReader
。しかし、これを行う方法がわかりません。古いコンテキストを使用することはオプションではありません。私はそれを次のようにキャストしようとしましたDbGeography
:
しかし、私はこのエラーが発生します:
タイプ 'Microsoft.SqlServer.Types.SqlGeography' のオブジェクトをタイプ 'System.Data.Entity.Spatial.DbGeography' にキャストできません
何か提案はありますか?
google-maps - SQL Server 2012 地理 STIntersects の理解
ポリゴン内のすべてのポイントを取得しようとしていますが、いくつかのテストの後、最終的にキャッチしました。
STIntersects
ポイントが「視覚的に」ポリゴンにない場合でも、すべてのエンティティに対して常に1を返します。
ポリゴンの作成方向に関する投稿を見つけて試してみましたが、役に立ちませんでした:)
そこで、単純なケースを作成することにしました。
- ロシアのどこかにある 4 つの頂点を持つポリゴン (コーナー: 55 37、56 38)
- この多角形内の 1 点
- そして外にもう一人
ここにポイント付きのGoogleマップへのリンクがあります
そして、このテストの結果は私を轍から抜け出させました
なぜこれが起こるのですか?何が欠けているのか理解できません
pointIn
ポリゴンが小さい場合は 1 を返し、ポリゴンが全世界から選択した領域を引いたpointOut
場合は 0 を返し、最初のケースでは 0 を返し、2 番目のケースでは 1を返すことを期待しています
ただし、反時計回りのポリゴンでは両方のポイントが 1 を返します。
アップデート
最後に、私のエラーは、geography::STPolyFromText
最初の入力パラメータの順序がlngで、2番目がlatである必要がありました。拡張機能では、順序が
異なります msdn は次のように述べています。Point ( Lat, Long, SRID )
sql - 地理と距離を使用して SQL Server データベースからレコードを選択する
SQL Server 地理データ型を使用して、データベースにレコードの場所を格納しています。特定の場所から特定の距離内にあるすべてのレコードを選択したいと思います。
私のテストデータベースに数十のレコードがあると、これは非常に速く実行され、問題はありませんが、WHERE 句がデータベースのすべてのレコードに対して STDistance を実行していることを知っています。数千のレコードがあると、這うのが遅い。
これを行うより良い方法はありますか?ある種のリージョンを作成し、最初に隣接するリージョンのデータを選択するのでしょうか?
python - 長方形内の点のリストを返します
地理的 (緯度、経度) ポイントのデータベース (MySQL) があり、1 つの四角形 (頂点ごとに 2 つの座標を持つ) からポイントのリストをクエリする必要があります。この問題を迅速に解決するためのクエリまたはアルゴリズムはありますか。
ありがとう。