問題タブ [gis]
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.
geometry - 一連の緯度/経度座標でコリドー範囲検索を実行する最善の方法
指定された幅が与えられた場合、ポイントのパス内にある、たとえば約 5,00 から座標のセットを見つけるための最良のアプローチは何でしょうか。たとえば、いくつかのウェイポイントをたどる航空機。
ルートと同じ順序で並べ替える良い方法はありますか。
私は提案のリストを作成しようとしているので、計算速度は正確さよりも重要です。
私が見てきたことから、それは簡単ではなく、質問は少し広いと思いますが、次のような提案/ポインタは大歓迎です:
- 緯度/経度を保存する、または球座標を使用する最良の方法
- 座標セットに追加のクラスタリング情報を持つ
- 範囲チェックを簡素化するために何らかの変換を使用できますか
- ポイントを注文する最良の方法は何ですか
ここでは、パスに沿って等距離にあるいくつかの点で円形/正方形のチェックを行うよりも優れたアプローチがあります。
c# - 強力な .NET マップ API?
私の同僚は、ユーザーエンド アプリケーションで使用する多くのデータを視覚化するための優れた方法を考えましたが、フックする利用可能な SDK や API が多くあることを認識していません。
私たちは本質的に、CNN の「魔法の壁」を再現しようとしています。「ヒート マップ」のような方法で全国の傾向を示し、州にドリルダウンして郡全体の同じ傾向を示すことができるようにしたいと考えています。コメンテーターが好んで使用していた、あらゆる場所に状態を移動する機能は必要ありません。
Mappoint については認識していますが、必要な機能を備えているかどうかについては、さらに調査を行う必要があります。
自分で試してロールする方が理にかなっていますか?他の誰かがこれらの線に沿って何かを試しましたか? 私が見ることができる唯一の問題は、各州の境界を定義すること、または州レベルの郡ごとに定義することです。
考え?アイデア?
database - ラインストリングを含むデータセットを最適化するための最良の方法。一部の線は同じ座標で開始および終了します
セットアップ
ラインストリングを含むテーブルがあります。線ストリングは、複数の地理的ポイントで構成されています。各ポイントは緯度と経度で構成されています。注:ラインストリング値は、データベースにTEXTとして格納されます。
したがって、テーブルの1つの行は次のようになります。id:
整数の
線文字列:x1、y2、x2、y2、x3、y3、x4、y4
問題
Googleマップでは、一度に最大1000個の要素しか表示できません。私の場合、850行の行を表示しているので、将来さらに多くの行を追加する必要があります。
質問
かなりの数の線ストリングが1つまたは複数の他の線ストリングと接続しています。つまり、同じ座標で開始および/または終了します。私がやりたいのは、データセットを最適化して、両端で接続するラインストリングがDBテーブルにマージされるようにするための最良の方法を見つけることです。これにより、DBテーブルを解析して、Googleマップの表示ファイルを作成するときに要素の総数が減ります。
例
この例では、アルファ(A、B、C)値が地理的なポイントを表すと想像してください。最適化されていないテーブルは次のようになります。
最適化前:
id linestring
1 A、B、C
2 C、D
3 B、A
4 F、G、H
5 G、I
6 H、J
最適化後:
1 A、B、C、D
2 F、G、H、J
3 G、I
では、データを最適化するための最良の方法は何ですか?最適に機能する特定のアルゴリズムはありますか?私は私が定式化して追加する解決策についていくつかのアイデアを持っていますが、それらは冗長であり、混乱しているようです。
私はCS専攻ではないので、ずさんな用語を言い訳して、どこかで説明が必要かどうか教えてください。ありがとう!
参考までに..MySQLDBを使用しています。私は空間拡張を使用していません。空間拡張を使用する恥ずかしいほど単純なソリューションがある場合は、とにかくそれについて聞いてみたいと思います。
gis - Salesforceのリードを地域別に並べ替え/グループ化するにはどうすればよいですか?
Salesforceのすべてのリードの緯度/経度データがある場合、それらをグループ化するクエリを作成する方法、またはカリフォルニア州サンフランシスコから10マイル以内のすべてのリードを一覧表示する方法はありますか?
[編集:明確化]私は完全な住所とlong/latsの両方を持つ何千ものリードを持っています。これらのリードについてクエリを作成し、カリフォルニア州サンフランシスコ近郊のすべてのリードを取得したいと思います。これは、セールスフォース内でGISタイプの作業を行うことを意味します。
もちろん、特に都市、郵便番号、市外局番でフィルタリングすることもできますが、大都市圏全体をロールアップしようとすると、いくつかの問題が発生します。
gis - SHX ファイルはどのように機能しますか?
地理データが ESRI シェイプに格納されている場合、少なくとも 3 つのファイルがあります。1 つはベクトル データを含む .shp で終わるファイル、もう 1 つは属性を含む .dbf で終わるファイル、およびインデックスを含む .shx で終わるファイルです。
shxファイルに興味があります。それはどのように機能しますか?すべてのジオメトリについて、「最初のジオメトリは dbf の 3 行目にマップされ、2 番目のジオメトリは最初の行にマップされる」などの完全なマッピングが含まれていますか? それとも働き方が違う?
database - ArcGISの日付のデフォルト値
Microsoft SQLでは、GETDATE()関数をDATETIMEフィールドのデフォルト値として使用できます。ArcGISジオデータベースの日付フィールドに対しても同じようなことができるようにしたいと思います。これは可能ですか、それともリテラル値に制限されていますか?
私のジオデータベースはArcSDE9.1を使用しています。属性を定義するフィーチャクラスがバージョン管理されます。
ありがとう、
キャメル
gis - 等高線図を使用するカリフォルニアの x、y、z 座標はどこで取得できますか?
等高線図でカリフォルニアの地図を作りたいです。ただし、必要な x、y、および z 座標を取得する方法がわかりません。
sql-server - MS SQL Server 2008の空間インデックス-機能しますか?
誰かがそれを使ってみて、それがうまく実装されているかどうかを言うことができますか?
--Assaf(ここ数週間、MySQLのOpenGIS関数の不十分な実装にますます不満を感じ、現在MSSQLへの切り替えを検討しています)
ms-access - ArcGIS MapControl と Ms Access はマップの再描画を遅らせますか?
これは、ESRI MapControls を Access データベース フォームに埋め込むことに関連しています。
フロントエンドとバックエンドに分割された 2 つのアクセス ファイルがあります。私のバックエンドは、ArcGIS が埋め込み ESRI マップ コントロールからの表示用のフィーチャクラスを格納するために使用する PersonalGeoDatabase でもあります。
フィーチャ クラスには、特定の ProjectID に関連付けられたポリライン、ポイント、およびポリゴンが格納されます。
フロントエンドからは、バックエンドに関連付けられた MXD ファイルをロードする埋め込み mapControl があります。
私は CenterPoint という VB 関数を持っています。これは偶然にも、プロジェクトに関連付けられたフィーチャクラス (存在する場合) を中心にマップ エンベロープを配置し、目的の表示範囲を設定します。プロジェクトのフィーチャクラスがまだ存在しない場合は、すべてのプロジェクトが含まれる地域全体をマップの中心にして、全体像を示します。
それで、それがすべて理にかなっていて、私があなたを失っていないなら...
Form_Current イベントで最初に CenterPoint サブルーチンを呼び出しました。これは、必要なすべての機能を実行するという点で機能しました。ただし、CenterPoint 関数の実行中はフォームが応答せず、再描画が完了するまで別のレコードに変更できませんでした。つまり、10 レコードをジャンプしたい場合は、1 レコードをジャンプし、再描画を待ち、別のレコードをジャンプし、再描画を待つ必要があります。MXD 画像を最適化し、再描画を大幅に高速化しました。レイヤーがありましたが、それでも受け入れられませんでした。
次に、次のコマンドを実行して、CenterPoint サブルーチンを呼び出す前に、数秒の遅延を確立しようとしました。
つまり、最初に再描画を試みる前に複数のレコードをクリックできます。
残念ながら、すべての Form_Current 呼び出しがキャッシュされているようです。たとえば、3 つのレコードをスキップし、遅延が終了するのを待って画面を見ると、再描画 (つまり、CenterPoint の実行) が 3 回連続して行われます。
さらに奇妙なことに、散発的に行のゼロ除算エラーが発生します。
ラインに分割がないにもかかわらず。
だから、私の質問は次のとおりだと思います:
- form_current 呼び出しを 1 回だけ実行する方法はありますか?
- そうでない場合、CenterPoint 関数を呼び出す前に、特定の時間、ユーザーが現在のレコードにとどまっていることを確認する方法はありますか?
- ゼロ未満の比較をゼロ除算エラーから隔離する方法はありますか?少なくとも、複数回再描画されても、ユーザーはレコードをすばやく連続してクリックできますか?
現在、私の回避策は、CenterPoint サブをフォーム上のボタンのクリック イベントとして配置することでした。これは機能しますが、理想的ではありません。
意味が分からない場合や、さらに情報が必要な場合は、お知らせください。
ありがとう、スペンサー
java - 標高ラスターからベクトル等高線を近似するにはどうすればよいですか?
標高マップをラスターとして保存しています。滑らかな「ベクトル」曲線を一定の高さの等高線に合わせたいと思います。私のアプリケーションでは、データは実際には地理的な標高ですが、問題は2つの変数の任意の関数に一般化できます。
アンチエイリアス処理された等高線を使用して別のラスターを作成し、それが役立つ場合は、それをベクトルフィッティングプロセスへの入力として使用できます。
この質問も似ていますが、Javaアプリケーションで使用できる無料のライブラリ、または私(数学者ではない)が自分で実装できるアルゴリズムの説明を探しています。また、私の場合、気になるすべての「エッジ」をすでに見つけました。それらをベクトル化する必要があります。
別の質問が私のものに触れていますが、ポスターは彼が最終ステップをどのように実行したかを説明するために戻ってきませんでした。それは私が欠けている部分です。