問題タブ [geography]
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.
nhibernate - NHibernateとSQLServerGeographyを使用した距離による高度な検索
リポジトリに既存の高度な検索方法がありFormCollection、検索基準の存在を確認し、存在する場合は、検索に基準を追加します。
また、各住居が検索条件からどれだけ離れているかを見つけるための基本的な距離検索もあります。クエリのHBMは
NHibernateに地理関数のコロンをエスケープさせる方法がなかったため、距離を計算する関数を定義する必要がありました。
そして、リポジトリは名前付きクエリを次のように呼び出します。
だから私の質問は; 2つを組み合わせる(または最初から始める)には、高度な検索結果をフィルタリングして、検索場所から10マイル以内の住居のみを含めることができますか?
UPDATE次のコードでNHibernate.Spatialを使用してみました。
しかし、SpatialExpression.IsWithinDistanceを返しましたSystem.NotImplementedException。
sql-server-2008 - SQL 2008 の地理とジオメトリ - どちらを使用するか?
Google マップのマッシュアップを作成しており、SQL 2008 を使用しています。
地球上に多数のポイントがあり、特定のポリゴン内に含まれるすべてのポイントを選択したり、XY から 10 km 以内のすべてのポイントを選択したりするなど、SQL でさまざまな計算を実行したいと考えています。
以前に SQL 空間機能を使用したことがありません。geographyこれにはまたはgeometryデータ型を使用する必要がありますか?
math - 地球の平面地図上の2点間の最短経路を計算する
地球の平らな地図上の2点間の最短距離を表す曲線をどのように描きますか?
もちろん、地球は曲がっているので、直線にはなりません。(たとえば、2つの空港間の最短距離は曲がっています。)
編集:すべての答えの人に感謝します-申し訳ありませんが私は解決策を選ぶのが遅かったです:/
nhibernate - 有効な Geometry シェイプを Sql Server 2008 Geography 列に永続化する
Spatial.NHibernate を使用して、いくつかのジオメトリ シェイプを Sql Server 2008 の Geography 列に保存しています。私のマッピングは次のとおりです。
マッピングは有効なようです。クラスは次のとおりです。
ただし、次のような領域を保存すると:
次のエラーが表示されます。
指定された入力は、有効な地理インスタンスを表していません。
タイプ: System.ArgumentException ソース: Microsoft.SqlServer.Types TargetSite: Microsoft.SqlServer.Types.SqlGeography ConstructGeographyFromUserInput(Microsoft.SqlServer.Types.GeoData, Int32) ...など。
地理タイプの有効なポリゴンは反時計回りにプロットする必要があり、閉じている必要があり、それ自体が重なってはならないことを理解しています。私はこれらすべての制限を満たしていると確信しています (ただし、間違っている場合は修正してください) ので、ここで少し困惑しています。ポリゴンに問題があるか、NHibernate がポリゴンを正しく永続化していないかのいずれかです。
編集 さて、私は今混乱しています。
簡単にするために、ポリゴンを次のように変更しました。
私は同じことを得る
指定された入力は、有効な地理インスタンスを表していません。
多角形は反時計回りにプロットされていることに注意してください(さまざまな情報源によるとそうであるように)。しかし、座標を時計回りに変更すると:
大丈夫そうです。それで、時計回りは有効ですか、それとも何ですか?
linq-to-sql - Linq とサポートされていないデータ型 (地理)
そのため、Linq はデータ型をサポートしていませんGeography。これは、美しい「テーブルを Linq デザイン サーフェスにドラッグする」開発モデルの作業に大きな影響を与えます。
Linq を拡張して Geography データ型を操作する方法はありますか? それとも、Geography 列を使用する必要があるたびに、まったく新しいデータレイヤーと一連のクエリを構築する必要がありますか?
私はこれに数日間立ち往生しており、可能であれば解決できません。
math - 小数緯度/経度の最大長 度?
緯度と経度の 1 度が地球表面で持つことができる最大の長さ (キロメートルまたはマイルで指定してください) は?
十分に明確であるかどうかわかりませんが、言い換えさせてください。ご存知のように、地球は完全な円ではありません。赤道 (またはエクアドル) での緯度/経度の 1.0 の変化は 1 つの距離を意味し、極での同じ変化は別の完全に異なる距離を意味します。
大円の式を使用して複数のポイント間の距離を計算できるように、データベース (この場合は MySQL) によって返される結果の数を削減しようとしています。すべてのポイントを選択してから個別に計算する代わりに、緯度/経度の境界内にある座標を選択したいと考えています。
PS: 遅くなりましたが、私の英語が思ったほど上がらなかったように感じます。理解できないことがあれば言ってください。必要に応じて修正/改善します。ありがとうございます。
sql-server-2008 - 特定の行から特定の地理的距離内にある行を返すクエリ (SQL Server 2008 を使用)
複数のレコードを持つテーブルがあり、それぞれに「coords」というフィールドが含まれています。このフィールドは地理ポイントで更新されました。
私がしなければならないことは... ユーザーがログインすると、そのユーザーに属するレコードがあります。この例では、そのレコード ID #1 を示しています。「座標」フィールドが特定の距離内にある他のすべてのレコードを示すページにアクセスする必要があります。
これは私が思いついた最高のものです。
まず、このステートメントに一致する開始を見つけることができます。
これにより、元の座標が coords.Lat および coords.Long として得られます。
それなら近くにあるものを探したいので、これを持っています。
元の座標をその2番目のステートメントに入れて機能させる方法がわかりません。
ストアド プロシージャが必要ですか、それとも coords.Lat/ coords.Long を STDistance の括弧内に配置できますか? それとも、これがどのように機能することを期待しているかに完全に基づいていませんか。
参考までに、私はSQLサーバーの経験がほとんどなく、「高度な」ことは何もしたことがなく、単純select * from table where record = 1で基本的な挿入と更新のみを行いました。
gps - マルチ座標で構成された面積を計算する方法は?
トピックとして、座標値 (緯度と経度) がわかっています。これらの座標は多角形の面積として構成されます。私の質問は、地理に基づく多角形の面積を計算する方法ですか?
ご協力いただきありがとうございます 。
javascript - 地理に焦点を合わせたアプリの構築:何を知っておくべきですか?
地理データに大きく依存するアプリケーションを構築することを楽しみにしています。
このアプリケーションは、HTML5のGPSデータを取得する機能を使用し、最も近い通りの検索、2地点間の最短経路の検索などの計算を行います。私は、Googleマップなどのプラットフォームを使用することを考えていたので、おそらく次のように記述されます。 Javascriptで。ただし、サーバー側で(おそらくC ++またはスクリプト言語で)重い計算を行うことにより、クライアントのCPUの負荷を軽減する可能性があります。
コーディングを始める前に知っておくべきテクノロジー、フレームワーク、標準などはありますか?
sql - SQL Server 2008 でパスに沿ってポイントを移動する
データベースに保存されている地理フィールドがあり、折れ線パスを保持しています。
nこの折れ線に沿ってポイントメートルを移動し、目的地を返したいと思います。
たとえば、線ストリングに沿って、最初から 500 メートルの地点を目的地にしたいとします。
ここに例があります - とは何YourFunctionHereですか? または、別の方法はありますか?