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

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

1
地球の表面に線が与えられた場合、それに垂直な線をどのようにプロットしますか?
地球の表面に線が与えられた場合、それに垂直な線をどのようにプロットしますか? これが非常に単純な質問である場合はお詫びします。これは簡単な作業だと思いましたが、直観に反していることがわかりました。 下の図の青い線から始めます(リンクを参照してください-まだ数値をアップロードできません)。青い線(m)の勾配を計算し、次に勾配-1 / mの別の線(緑)をプロットして、垂直線を見つけました。( 'plot'と 'axis equal'を使用して)Matlabで線をプロットすると、期待どおりに垂直に見えます。 http://imgur.com/7qMkx ただし、これらの線を(KMLツールボックスを使用して)Google Earthにエクスポートすると、垂直に見えなくなります(下のリンクを参照。短い方の線は前の図の青い線です)。 http://imgur.com/ncJQ7 曲面で奇妙なことが起こることは理解していますが、線は少なくとも局所的に垂直に見えるべきだと思いました。これはGoogle Earthの投影に関係しているのではないかと思います。特に、グリッドセルはほぼ同じ辺の長さを持っているように見えますが、縦の辺の長さは1度ですが、緯度の辺の長さは0.5です。程度。 つまり、要約すると: 垂線を見つける方法は曲面で有効ですか?(つまり、勾配-1 / mの線をプロットします) Google Earthの画像で、垂線が期待どおりに表示されますか、それとも何か奇妙なことが起こっていますか? 更新: より多くのコンテキストを提供するために:私は飛行機から取られたレーダーデータを見ています。マルチカラーの領域は、観測が記録されている「帯」です。上記の説明で始めた青い線は、スワスと平行です。これは航空機の飛行線です(飛行機はほぼ南西方向に動いていました)。レーダーは、左側の飛行線に直交する方向を向きます。私は飛行線に垂直な線を引こうとしています。これは、レーダーが見ている方向であり、帯をきれいにカットする必要があります。ご覧のとおり、そうではありません。

2
ArcGIS関数のカスタム実装
ArcGIS関数のカスタム実装を作成するために必要なものを知りたいのですが。特に、GeoAnalyst.ISurfaceOp2.Visibility()を実装して、実行を高速化したいと考えています。現在、Visibility()の呼び出しごとに最大3秒かかります。私の限られた理解から、ボトルネックは一時的なラスターのファイルシステムへの書き込みです。これがインメモリで実行できれば、処理時間が大幅に短縮されると思います。私は.NETプロジェクトでこれを行っていますが、任意の言語のソリューションを歓迎します。

3
場所の保存とクエリアルゴリズムを理解していますか?
GISを備えたデータベースの最も重要な側面の1つは、追加の基準に一致する任意の地理的領域内のすべてのポイントをすばやくクエリできる機能をユーザーに提供することです。(たとえば、「地図上でこの場所に最も近い3つのレストランを見つけてください。」) 関係するアルゴリズムの理論的な議論を誰かに教えてもらえますか?私はそれらがどのように機能するかを学びたいです。 最終的に、私は同じ機能を一般化された数値データのセット(任意のn次元の非ユークリッド空間の点群)に適用したいと考えています。たとえば、人の顔は数値のベクトルとして特徴付けることができます:[目の間の距離、目から口までの距離、顔の幅、顔の長さなど]。歩道の交通量を撮影し、各人物の顔の特徴を推定して、後で「この人物の顔を与えれば、最も似ている100人の顔を見つけてくれ」などのデータをクエリできるようにしたいと考えています。 現在、これらの一般化されたスペースを検索する機能を提供する既存のソフトウェアはありますか?

4
コロプレス表現のための小さなJS離散化ライブラリ
すぐに使用できる小さなstat / discretization jsライブラリが存在するかどうかを知りたいです。 jStat(もう少し詳しく調べます)の存在を知っています。mapfishにコロプレスマップを作成するgeostatsモジュール/ウィジェットがあることは知っています。コードはこちらです。しかし、それはopenlayersに依存しているので、スタンドアロンのlibを用意して、最終的にはopenlayersと自由に通信できるようにしたいと考えています。 私はいくつかの基本的な方法を持ちたいと思います: 分 最高 平均 中央値 クラスの数と精度(10進数)を指定する機能を使用して、次の離散化を実装できます。 分位 等間隔 ナチュラルブレイク(ジェンクス) それがまだ存在しない場合、私はおそらく自分で何かをコーディングし、無料のライセンスの下でgithubにリリースするでしょう。リソースやアドバイスは大歓迎です。

3
群れアルゴリズムはどのようにGISで使用できますか?
最初のフロッキングアルゴリズムは、1986年にCraig Reynoldsによって作成されました。最近のブラウザ実装は、こちらにあります。 ノートは、ジェームズ・マギルとスタン・オープンショーによる「地理的分析機械を動かすための群れの使用」(1998)に言及しています。 自然群れが個々の鳥が管理できるよりも優れた採餌を提供するのと同じように、空間データセット内のクラスターをより適切に検索するために、boid間の通信を伴う群れモデルを使用します。 このアルゴリズムの他の実例としてGISで使用されているものはありますか?GISアプリケーションはこの機能を実装していますか?

2
2つの緯度/経度を指定した場合、それらが互いに1マイル以内にあるかどうかをどのように確認できますか?
2つのポイントが互いに1マイル以内にあるかどうかを確認する非常に効率的なチェックを実装しようとしています。 私の現在のアプローチは、Haversine距離を計算し、それが1マイル未満かどうかを確認することです。 大きなレコードセットの場合は、このyes / noフラグを計算する必要があるため、この場合は効率が重要になります。 私はそれらが1マイル以内にあるかどうかだけを気にします -距離については何も私には関係ありません。 それでは、2つの緯度/経度のポイントが互いに1マイル以内にあるかどうかを確認する最も効率的な方法は何ですか? コメントに応えて、私はSQL Serverでこれを行っています。私のコードは以下です。 CREATE FUNCTION dbo.USR_UFN_HAVERSINE_DISTANCE ( @LAT1 FLOAT(18) ,@LONG1 FLOAT(18) ,@LAT2 FLOAT(18) ,@LONG2 FLOAT(18) ,@UnitOfMeasure NVARCHAR(10) = 'KILOMETERS' ) RETURNS FLOAT(18) AS BEGIN DECLARE @R FLOAT(8) ,@DLAT FLOAT(18) ,@DLON FLOAT(18) ,@A FLOAT(18) ,@C FLOAT(18) ,@D FLOAT(18) ; SET @R = CASE @UnitOfMeasure …

3
ロスレスポリゴンの単純化?
元の境界を縮小せずにポリゴンを単純化するための標準/推奨アルゴリズムはありますか? 現在、私はJTS内でTopologyPreservingSimpliferを使用しており、アプリケーションで後で「損失のある」ポリゴンに遭遇したときに問題が発生します。理想的には、凸包よりも小さいが、元のポリゴンのスーパーセットのままである簡略化されたポリゴンを作成したいです。 更新: 私は最終的に、入力ポリゴンの周りに「ラッパー」を配置し、余分な領域が入力の合計領域のパーセンテージを超えなくなるまで縮小する確かに不完全なアルゴリズムを思いつきました。直線に沿った冗長ポイント。100%データ依存ですが、余分な領域を最小限に抑えて約80%の頂点を圧縮しています。感謝/すべてのフィードバック/コメント: public class LosslessPolygonSimplifier { protected final static Logger logger = Logger.getLogger(LosslessPolygonSimplifier.class.getName()); public static Polygon simplify(Polygon input) { final double AREA_THRESHOLD = 0.005; // allow excesses up to half a percent of total original area final double LINE_THRESHOLD = 0.0001; // fine threshold to strip straight lines …

2
GISデータのハッシュ関数
ベクターデータセットからジオメトリを取得し、ハッシュに縮小したいと思います。次に、このハッシュを使用して、そのデータの整合性を検証し、同一のジオメトリを識別します。 使用できる適切なアルゴリズムはありますか?どのような落とし穴に遭遇する可能性がありますか?

2
ポイントを最適に配置するためのアルゴリズム
私は、数千の施設が実際に建設された場所と、人口の移動時間を最小限に抑えるために最適に配置される場所を比較しようとしています(国勢調査区または地域の重心で表されます)。ポイントを最適に配置する方法について、ほとんど何も見つけられません。 これらの場所を選択する方法についてはいくつかのアイデアがありますが、空間に配置するポイントの数が多いため、巧妙に最適化されていないアルゴリズムには長い時間がかかり、おそらく数年かかることになります。したがって、私の質問:固定数のポイントを配置する場所を選択するための標準アルゴリズムはありますか? 最終的には、見つけたアルゴリズムをすべて出発点として採用し、それを適応させて、人口だけではなく、より多くの情報を組み込みます。したがって、好ましい答えには、アルゴリズム、コードの詳細な説明が含まれるか、オープンソース言語で記述されるため、複製して拡張することができます。ただし、ArcGISにこの最適化に便利な機能がある場合は、それから始めます。

3
重複ポリゴンアルゴリズムを見つける
ポリゴンのグループがあります。私の目的は、これらのポリゴンのグループから重複するポリゴンを見つけることです。 NetTopologySuite(JTSのc#ポート)を使用すると、2つのgeometireを比較して、それらが等しいかどうかを確認できます。力ずくの方法(各ポリゴンを他のすべてのポリゴンに対してチェックする)が頭に浮かぶ唯一のアイデアですが、ポリゴンの数が多い場合は使えません。この場合、ブルートフォースを改善するアルゴリズムはありますか? 私 が探しているものへのアイデアが含まれているように見えるこのスクリプトを見つけました(コメントは分割統治アプローチを示していますが、コメントの詳細はあまりありません)。しかし、私はそれから何も得ることができないと認めなければなりません:) ..それは私がよく知らないArcViewのために行われました。 注:この質問のように、PostGIS /データベースソリューションを探していません。カスタマイズ(c#、c ++、pythonなど)を通じてAutoCAD、Quantum GIS、またはそのようなデスクトップGIS製品に統合できるものを探しています。

1
デカルト座標を測地座標に変換する計算上の最も効率的な方法
文献を理解している限り、一連の地心座標の直交座標を測地座標に変換する方法はいくつかあります ボウリング、1976 ボルコウスキー、1989 リン・ワン、1995 トムズ、1996 ... デカルト座標を測地座標に変換する最も効率的な方法は何でしょうか。コンピュータに実装されている場合、最も効率的で最も速く(そして最も直接的)です。

1
ArcGIS Desktopを使用して建物の方位を計算していますか?
平面図で建物の主な方位を取得することは可能ですか? (IDで)建物を作成したいのですが、その建物の主な方位(例:E / 90°またはW / 270°)です。アイデアは、polygon-featureクラスをline-featureクラスに変更することです。次に、各辺の長さを計算できます。両側の方位も計算できます。フロアプランがより複雑な建物私は、ベアリングの側面の長さを累積することを計画しました。 問題は、方位計算の開始点のために、4つの平行な側面を持つ1つの建物が4つの異なる方位を取得することです(画像を参照)。さらに、計算は常に行の同じ終わりで始まるとは限りません。

3
ArcGIS Desktopを使用して特定の距離でラインを自動的に分割しますか?
開始点からさまざまな距離で分割する必要がある一連のポリラインがあります。 一般的に、エディターツール内のSPLIT関数に似たものを探しています。そこで、分割を適用する必要がある特定の行の長さを指定することが可能です。 たとえば、3200mの長さのラインAがあり、1つは0から1700mまで、もう1つは1700mから3200mまでの2つの別々のジオメトリに分割する必要があります。 これはArcGIS Desktopで実行できますか? ArcGIS Desktop 9.3.1を使用しています。WinXP on Python 2.7.2。

2
貯水池に接続されている運河のみを選択しますか?
貯水池のポリゴンレイヤーと運河のポリラインレイヤーがあります。 私のデータでは、いくつかの運河は貯水池に由来し、他の運河に通じています。一方、孤立している、または何にも接続されていない運河もあります。(これがどのようにして起こったのかは別の日の話です) 分離された運河と、貯水池に接続されていない運河ネットワーク(接続された運河のセット)を削除する必要があります。 何らかのネットワークトレースを使用する必要があると思いますが、どこから始めればよいかわかりません。 このタスクを解決するために、ArcGISデスクトップとNetwork Analystがあります。 あなたはこの仕事にどのように取り組みますか?

5
ポイントを囲むポリゴンを見つけるアルゴリズム
私はいくつかのポイントをカバーするために可能な限り最小のポリゴンを決定できるアルゴリズムを見つけようとしています。 すべてのポイントの周りに凸包を取得する方法を知っていますが、ポイントが異なるアイランドにあると言いますが、異なるグループ間にギャップがあると判断し、グループごとに個別のポリゴンを取得できますか?

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