タグ付けされた質問 「algorithm」

一連のステップで問題を解決するために使用される数学的手順。アルゴリズムは通常、一連のコンピューターコマンドとしてエンコードされます。

4
交差する線のセットからポリゴンを生成する
これは、すでに別の目的のために頼まれた、シンプルで非常に一般的な質問です(参照このリンクをし、これも、例えば)、ここでは、しかし、私たちは、探しているではないソフトウェアパッケージが、アルゴリズム我々が言う実装しようとすることができていることPython。 したがって、以下に示すように、一連の線がマップされます(これらは既にトリミングされていますが、BTW)。 ポリゴンを生成するためのアルゴリズム/アイデア(赤いものを示しています)?

2
アルゴリズム:ソースポリラインを参照ポリラインに移動します(完全または部分的に)
私たちのシステムでは、いくつかのソース行(低精度)を参照行(高精度)に移動したいという要件があります。次の図は、通常の使用例を示しています。赤い線はソース線で、青い線は参照線です。 この場合、ソース行は部分的に移動され、結果は緑の線が示すようになります。 ソース行を完全に移動する必要がある場合があります。 結果: 現在、私たちの解決策は、ソースラインのヘッド/エンドポイントをリファレンスラインに投影し、その逆を行い、ソースとリファレンスライン上の投影されたポイントを見つけることです。これらの投影された点を使用して、ソースと参照線の必要な部分を抽出し、それらを新しいものに結合できます。 これはほとんどの場合に機能しますが、この方法が機能しない場合もあります。具体的には、どちらかの線が「C」のような形をしている場合、またはヘッドポイントがエンドポイントに非常に近い場合。次の2つの図はシナリオを示しています。 私のアルゴリズムを適用すると、結果が得られます: 現在のアルゴリズムは投影された点を見つけて線を抽出するだけなので、ある意味で理解できます。 私たちが期待したのは次のようなものです: これを行うには、前のような特殊なケースも処理できるように、より堅牢なアルゴリズムが必要です。私はすべての点を線から別の点に投影し、投影された線の先頭/終了点に最も近い2つの投影点を見つけようとしましたが、うまくいきませんでした。それでも、予期しない結果をもたらすケースを見つけることができます。 誰かが以前に同様の問題に遭遇したことがありますか?同様の仕事をすることができるソフトウェアまたはライブラリがあればそれも素晴らしいでしょう。どんな答えでもいただければ幸いです。
10 algorithm 

1
不確実性を伴う方位角データを視覚化する方法は?
各点で不確実性の範囲が異なる方位角データを示す図を作成しようとしています。1991年の論文からのこのオールドスクールフィギュアは、私が目指している「ボウタイプロット」のアイデアを捉えています。 同様の図を作成する方法について何か提案はありますか?私はGISの初心者ですが、大学を通じてArcGISにアクセスできます。私のArcの経験は地質図の作成に限定されているので、あまりエキゾチックなことをする必要はありませんでした。 ArcとQGISのシンボルオプションをいろいろ調べてみましたが、その仕事をすると思われる設定は見ていません。これは、蝶ネクタイの形をしたシンボルを方位角で回転するだけの問題ではないことに注意してください。各「ボウタイ」の角度範囲は異なる必要があります。 私のPythonスキルは「強い中級」、Rのスキルは「中級」と評価しているので、必要に応じてmatplotlib、mpl_toolkits.basemapまたは類似のライブラリと一緒に何かをハッキングするのを嫌いません。しかし、聞いたことのないGISランドからのより簡単な解決策がある場合に備えて、その道を進む前にここでアドバイスを求めたいと思いました。

1
軌跡の類似性測度を探す
私の最後の学術研究のために、GPS軌跡の圧縮アルゴリズムを開発しました。圧縮された軌跡と元の軌跡との間の同期ユークリッド距離(SED)を計算することにより、時空間圧縮の品質を推定し、既知の圧縮アルゴリズムに対するアルゴリズムのパフォーマンスを評価できます。 私のような時空間アルゴリズムは、可能な限り多くの時間情報を維持しようとする軌跡を減らします。空間アルゴリズム(ダグラスピーカーアルゴリズムなど)は、空間特性のみを参照して圧縮を実現します。 今、何が起きた?時空間的な側面を考慮すると、私のアルゴリズムはDPよりも優れています。SED測定でこれを保証できます。3つの軌道(オリジナル、地雷、DP圧縮)をプロットすると、DPで圧縮された軌道は、元の軌道との適合性が高くなります。目だけの測定は私のニーズを満たしていません。確かに、DPアルゴリズムが空間的にマイニングよりも優れていることを数値で示すエラーメトリックが必要です。 したがって、「時空間係数を参照すると、DPのSED係数よりもSED係数が小さいため、私のアルゴリズムはDPよりも優れています。ああ、単純な空間係数は、その(新しいメトリックの名前)私のものよりも優れています。」 私は垂直ユークリッド距離を考えていましたが、これが役に立つかどうか本当にわかりません。ダイナミックタイムワーピング?これにはどのメトリックを使用できますか?

2
標高プロファイルのサンプルポイントアルゴリズム
標高プロファイルを生成する場合、基になるラスターからサンプルを取得する必要があります。目的が最高品質のプロファイルを作成することである場合、サンプルポイントの場所はどのように決定する必要がありますか?それらのサンプル点を補間するためにどのようなアプローチを取るべきですか?

4
アークのセットからカバレッジ+オーバーラップを計算するアルゴリズム
肥料を散布するトラックが農場に移動する経路を表す弧を含むシェープファイルがあります。 散布幅が30mであることを知っているとしましょう。つまり、トラックは車両の両側15mに肥料を散布できます。 次のような一連のポリゴンを生成したいと思います 。1)肥料を受け取った総面積 2)オーバーラップの面積、つまり2つの別々のパスが近すぎて、農場の一部が2倍の正しい「線量」を受け取った場合"肥料の。 素朴なアプローチは、アークの周りのバッファとしてカバレッジポリゴンを作成することです。これは、スプレッドラインが互いに異なる特別な場合に機能します。ただし、トラックは徐々に減少するスパイラルでファーム内を移動する可能性があり、単純なバッファーは、スパイラルの2つのパスが接近しすぎているオーバーラップを表示できません(スパイラルが単一の円弧の場合、重複部分のない単一のポリゴン)。 関連性がある場合は、TatukGIS VCL DKを使用していますが、具体的なソリューションではなくアルゴリズムを実際に探しています。 これまでの議論に応じた明確化: 1)特定のメタデータ(GPSログや拡散率など)を持つベクターデータに依存できません。ユーザーがレイヤーを選択してスプレッド幅を指定できるようにすると、レポートが実行されます。 2)レポートの目的は、実際にユーザーに車両オペレーターの「スキル」を示すことです。ここで、「スキル」とは、「重なりが最も少なく、カバレッジが最も高い」ことを意味します。 3)ラスターランドよりもベクターランドの方が快適なので、ベクターベースのソリューションを優先します。 おかげで、 ダレン。

2
過去の地図を最新のGISシステムにインポートするためのツールですか?
古いスキャンされたマップから最新のGISシステムで使用するためのジオメトリを導出するためにどのようなツールが存在しますか? 機能を手動で編集またはトレースするためのインターフェースを提示するのではなく、実際のデータを生成するライブラリーについて言及しています。 そのようなツールが存在しない場合、問題に光を当てるかもしれない関連分野の学術論文や研究(または恥知らずなハック!)はありますか?

1
地形湿潤指数の計算(さまざまなアルゴリズムからの選択)
地形湿潤指数は次のように表すことができます Ln(a/tanB) based on the idea of Beven and Kirkby (1979) どこ a is the specific catchment area (a=A/L, catchment area (A)divided by contour length(L)) そして tanB is the slope ここでの基本的な考え方は単純ですが、aとtanBの両方を計算する方法は複数あるため、TWIの結果は大きく異なる可能性があります(Qin et al。2011 )。 流量の蓄積と集水域は、たとえば次のように計算できます。 D8 (O'Callaghan, J.F. / Mark, D.M. (1984)) D-infinity (Tarboton, D.G. (1997) Triangular Multiple flow direction …

4
オーバーラップしていない新しいポリゴンにオーバーラップを爆発させますか?
複数の方法で重複する複数のポリゴンがある場合、これらの機能から、他のポリゴンと重複しないすべてのポリゴンを繰り返しエクスポートします。 製品は、重なり合わないでオリジナルを構成するいくつかの機能になります。 次に、積をゾーン統計への入力として使用できます。これは、各ポリゴンでゾーン統計を繰り返すよりもはるかに高速です。 私はこれをArcPyでコーディングしようとしましたが、成功しませんでした。 これを行うコードはすでに存在しますか?

1
マップポイントを固定クラスターサイズにグループ化しますか?
約100のグループに分割したい緯度と経度の655ペアのデータセットがあります。グループには、互いに地理的に近い5〜10のペアが必要です。密なグループはより多くのポイントを持つべきであり、疎なグループはより少ないべきです。たとえば、都市のグループは大きく、地方のグループは小さくなければなりません。 この種のグループ化を行うための確立されたアルゴリズムはありますか、それとも最初からアルゴリズムを設計する必要がありますか? 私はgoogle maps v3 apiを使用してこのデータを表示していますが、これは固定データセットであるため、オフラインで数値を計算する準備ができています。

2
類似したマップパスの検索
傾斜/距離/形状/などの属性を持つマップ上の特定のルートが与えられたときに、(属性に関して)似ているが別のポイントから始まるルートを見つけることができるアルゴリズムを探しています。地球上の別の地域で。 明らかに、ほとんどすべてのケースで完全な適合を見つけることは不可能ですが、類似性を理想的に測定する方法を備えた「ベストマッチ」の種類のシステムを探しています。 探してみましたが、ほとんどのクエリで、マップマッチングの問題か、同じパスに沿ったGPSポイントのルートの類似性が考えられます。私は正しい用語を知らないかもしれません!この問題に名前はありますか?これを解決するために使用できるアルゴリズムは何ですか?

2
ファジー最小粗共通分割アルゴリズム
形状の2つの異なるパーティション(引数として、国の2つの異なる行政区画)が与えられた場合、これらのパーティションの両方が適合する新しいパーティションを見つけて、いくつかのエラーを許容(および最適化)するにはどうすればよいですか? たとえば、エラーを無視して、これを行うアルゴリズムが必要です。 おそらく、これを一定の条件で表現すると役立ちます。次の番号を使用します。 上記のパーティションは次のように表現できます。 A = {{1}、{2}、{3,4,7,8}、{5}、{6}、{9,10,13,14}、{11}、{12}、{15} 、{16}} B = {{1,2,5,6}、{3}、{4}、{7}、{8}、{9}、{10}、{13}、{14}、{11,15} 、{12、16}} ドットB = {{1,2,5,6}、{3,4,7,8}、{9,10,13,14}、{11,15}、{12,16}} そして、AドットBを生成するアルゴリズムは単純に見えます(2つの要素がA(B)で一緒にパーティションにある場合、B(A)にあるパーティションをマージします-AとBが等しくなるまで繰り返します)。 しかし、これらの行の一部が2つのパーティション間でわずかに異なるため、この完全な答えは不可能であると想像してください。代わりに、いくつかのエラー基準を最小限に抑えて最適な答えを求めています。 新しい例を見てみましょう: ここの左側の列には、共通の線のない2つのパーティションがあります(外側の境界自体は別です)。上記の種類の唯一の可能な解決策は、ささいな解決策、右の列です。しかし、「ファジー」ソリューションを許可する場合、中央の列は許容される可能性があり、たとえば、総面積の5%が競合します(つまり、粗いパーティションごとに異なるサブエリアに割り当てられます)。したがって、真ん中の列は、「エラーが5%以下の最も粗い共通パーティション」を表すものとして説明できます。 実際の答えが一番上の行、中央の列、または中央の行、中央の列、またはその中間のパーティションであるかどうかは、それほど重要ではありません。

1
(大円)パス上のプロジェクトの場所
私はこのSEサイトをかなりの時間検索してきましたが、それでも私の質問の解決策を見つけるのに苦労しています。私の目標は、OSMの方法と私の場所(緯度/経度座標)を考慮して、その方法で最も近い場所(緯度/経度座標)を見つけたいということです。ポイントは、ウェイを定義するために使用されるポイントに限らず、ウェイ上のどこにでも置くことができます。 だから私は次のアルゴリズムを考えています: パスを別々のエッジに分離し、各エッジは2点のみを接続します。 最も近いエッジを選択します。 私の場所をその端に投影します。 ここで、場所とパスの間の距離の計算について多くの質問があります。 WGSポイントからWGSラインセグメント(大円)までの距離 ポイントと2つの緯度/経度の仮想線の間の距離を計算する 球の点からセグメントまでの距離を概算する方法は? また、非常によく似た質問で、計算を正しく行うことも検証することもできません。 直線上の最も近い点を見つける その主題についての数学博士からのいくつかの情報もあります。しかし、手順3で位置を計算するアルゴリズムを見つけることができないようです。(ベクトル)代数に触れていないので、これらの答えのロジックがよくわかりません。 誰かがこれを行うアルゴリズムを示すことができますか?適切なプログラミング言語での解決策は私には問題ありません。

4
OpenLayersを使用した日付ラインの折れ線の分割
数年前、私は投稿の周り日付変更線ラップをし、@jdeoliveは、私は機能を分割提案日付変更線で。だから私は試しました。 日付変更線でsplitWithを使用して衛星トラックを分割しようとすると、戻りnullます。グリニッジラインで分割すると期待どおりの結果が得られるため、正しく分割していることがわかります。 OpenLayersを使用して、プログラムでLinestringを日付ラインに沿って適切に分割する方法を知っている人はいますか?もしあれば、サンプルコードを探します。 私は試しましたwrapDateLineが、ベクターレイヤーが次のようになっているにもかかわらず、ベクターレイヤーで動作していないようです: vectorLayer = new OpenLayers.Layer.Vector("GroundTracks", { renderers: ['Canvas', 'VML'], wrapDateLine: true}); // <-- shoud be wraping. これが私のコードです: var features = []; var format = new OpenLayers.Format.WKT({ 'internalProjection': map.baseLayer.projection, 'externalProjection': prjGeographic }); var satTrack = format.read("LINESTRING (95.538611 13.286511, 94.730711 16.908947, 93.901095 20.528750, 93.043594 24.145177, 92.150978 27.757436, 91.214579 31.364666, …

1
正距円筒図法のティソ楕円の例?
私はティソインディカトリスを介して正距円筒図法の歪みを計算しようとしています。(特に)この投稿の指示に従ってみましたが、アマチュアとしての私の理解を超えています。 だから、誰かが正距円筒緯度/長さの例(どちらがお好みでも、正距円筒図法では歪んでいる)に対して単一のティソ楕円を計算するほど親切になるのではないかと思います。変数とは何か、どこから来るのか正確に理解していないので、方程式を実際に見ると非常に役立ちます。 これらの方程式を理解して、コーディングしているマッピングプログラムにプラグインできるようにしています。私はこのスレッドでたくさんの一般的な質問をしましたが、特定の例が残りを理解するのに役立つと思います。 いつものように、どうもありがとう。 NCashew

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.