問題タブ [geospatial]

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.

0 投票する
5 に答える
1987 参照

algorithm - ベクトル輪郭領域(境界線)をラスターマップ(ピクセルグリッド)に変換する

世界地図上の国のように、境界線(等高線)によっていくつかの地域に分割された地図があります。各領域には、特定の表面カバークラスSがあります(たとえば、水は0、草は0.03 ...)。境界線は次のように定義されます。

  • Sのどの値がその両側にあるか(以下の例では、一方が0.03、もう一方が0.0)
  • 境界線がいくつのポイントで構成されているか(以下の例ではn = 7)、および
  • n個の座標ペア(xy)。

これは一例です。

各ピクセルが、ピクセルの中心が位置する領域に対応するSの値を持つラスターマップを作成したいと思います。

境界線はSのステップ変化を表すことに注意してください。Sのさまざまな値は、離散クラス(たとえば、草や水)を表し、平均化できる値ではありません(つまり、濡れた草はありません!)。

また、上記の例のように、すべての境界線が閉ループであるとは限らないことにも注意してください。これは国境に少し似ています。たとえば、米国とカナダの国境は閉ループではなく、両端でカナダと海と米国と海の「国境」という2つの国境で結ばれている線です。(それでも、閉ループの境界線は存在します!)

誰かがこれを行うことができるアルゴリズムを私に指摘できますか?車輪の再発明はしたくない!

0 投票する
6 に答える
49337 参照

math - Javaの緯度/経度座標から一定の距離離れたバウンディングボックスを計算する

座標 (緯度、経度) を指定して、座標から特定の距離 (たとえば 50 km) 離れた正方形の境界ボックスを計算しようとしています。したがって、入力として緯度、経度、距離があり、出力として2つの座標が必要です。1 つは南西 (左下) の角で、もう 1 つは北東 (右上) の角です。ここで、Python でこの質問に対処しようとするいくつかの回答を見てきましたが、特に Java の実装を探しています。

明確にするために、私は地球上でのみアルゴリズムを使用するつもりであるため、可変半径に対応する必要はありません。

非常に正確である必要はなく (+/-20% で問題ありません)、短距離 (150km 以下) の境界ボックスを計算するためにのみ使用されます。そのため、効率的なアルゴリズムのために精度をいくらか犠牲にしてもかまいません。どんな助けでも大歓迎です。

編集:私はもっと明確にするべきでした。私は本当に円ではなく四角形を求めています。四角形の中心と四角形の周囲に沿ったさまざまな点との間の距離は、円のように一定の値ではないことを理解しています。私が言いたいのは、中心から周囲の 4 つの点のいずれかに線を引くと、周囲の辺に垂直な線になる正方形のことだと思います。これらの 4 つの線は同じ長さになります。

0 投票する
3 に答える
2534 参照

javascript - 地心座標系を使用して緯度、経度、高さからの距離を計算する

私はこのメソッドをJavascriptで実装しましたが、約2.5%アウトであり、その理由を理解したいと思います。

私の入力データは、緯度、経度、およびWGS84楕円体の上の高さとして表される点の配列です。これらのポイントは、マラソンレース中に手首に取り付けられたGPSデバイスから収集されたデータから取得されます。

私のアルゴリズムは、各ポイントをデカルトの地心座標に変換してから、ユークリッド距離を計算することでした(ピタゴラスを参照)。デカルトジオセントリックは、Earth CenteredEarthFixedとも呼ばれます。つまり、地球と一緒に回転するX、Y、Z座標系です。

私のテストデータはマラソンのデータだったので、距離は42.26kmに非常に近いはずです。ただし、距離は約43.4kmになります。私はさまざまなアプローチを試しましたが、結果が1メートル以上変わることはありません。たとえば、高さデータをNASA SRTMミッションのデータに置き換えたり、高さをゼロに設定したりしました。

Googleを使用して、lat、lon、heightが変換され、変換アルゴリズムが一致している2つのポイントを文献で見つけました。

これを説明できるのは何ですか?Javascriptの二重表現に期待しすぎていませんか?(X、Y、Zの数値は非常に大きいですが、2つのポイントの差は非常に小さいです)。

私の代替案は、Vincentyのアルゴリズム(または同様のもの)を使用してWGS84楕円体全体の測地線を計算し、2つの高さでユークリッド距離を計算することですが、これは不正確に思えます。

よろしくお願いします!

0 投票する
2 に答える
3488 参照

geospatial - これはどのような空間SRIDですか?(.shpファイルをWSG84に変換しようとしています)

いくつかのシェープファイルマッピングデータをSql2008にインポートしようとしています。WGS84 / SRID 4326その前に、既存のデータはすべてこの形式であるため、に変換する必要があります。

これはソースファイル情報です:

私はこれのためにグーグルを試しましたが、あまり運がありませんでした。第二に、私はspatial_reference_systemsテーブルをチェックしようとしましたが、そこにそれを見ることができません。

例えば。SELECT * from sys.spatial_reference_systems

だから、誰かが私を助けることができますか?SRID 4326それが現在のSRIDであるかどうかわからない場合、私はそれを隠すことができません。

更新1

GDA 1994の技術仕様を説明しているこのページを見つけましたが、SRID番号を示唆していません... ???

更新2

この検索結果ページにもいくつかの興味深い結果があります。ここから、SR-ORG:6643:Australia Albers Equal Area Conicリンクをクリックすると、データム..が説明され、私が探しているものとほとんど同じです。これは、SRIDが6643であることを意味します。

それが答えですか?

0 投票する
7 に答える
10995 参照

python - 長方形の座標リストを反時計回りに並べ替えるにはどうすればよいですか?

長方形の座標リストを反時計回りに並べ替えて、北東の角を最初の座標にする必要があります。これらは、10進形式の地理座標(つまり、経度、緯度)です。1

たとえば、長方形の4つの角は、北西の角から始まり、時計回りに移動します。

これらを反時計回りに並べ替えて、「アンカー」/開始点を北東に変更する必要があります。

リストが最初にどのような順序になるか(つまり、時計回りまたは反時計回り)はわかりません。リストの最初の座標がどのコーナーを表しているのかわかりません。


1これは、地球の表面にマッピングされた場合、真の長方形ではありませんが、2つの対向するコーナーがあるため、読みやすくするために長方形と呼んでいます。+ 180/-180経度または+90/-90緯度をラップする形状は問題ではありません。

0 投票する
3 に答える
152 参照

geolocation - ソーシャル ネットワークでの地理

ユーザーが近くのユーザーを検索できるグローバルなソーシャルネットワークを作りたいです。

ユーザーが自分の居場所を簡単に指定できるようにするための推奨される方法は何ですか?

郵便番号は正確ですが、米国のみです。

緯度/経度は正確ですが、お母さんとお父さんのタイプには難しすぎます.

大陸、国、州、主要都市のドロップダウン メニューはシンプルですが、人里離れた場所や 2 つの主要都市の間に住んでいる場合は、正確ではない可能性があります。

あなたの考え?

0 投票する
2 に答える
7576 参照

language-agnostic - 線形補間を使用して、2つの地理座標間の現在の位置を推定するにはどうすればよいですか?

私は以下を利用できます:

  • 最後に報告された緯度、タイムスタンプ付きの経度
  • ターゲット緯度、経度
  • 目標とする推定時間
  • 見出し

時間の経過とともに推定位置を補間するにはどうすればよいですか?

残りの旅行に必要な平均速度を計算するには、これで十分です。直線距離を考えると、それはかなり些細なことです。私はそれがベクトルに関係していることを知っていますが、私は少し錆びていて、何人かの専門家に相談する方が良いと思いました。

この更新レートが必要な理由は限られているため、スムーズなアニメーションを表示するには、更新間の現在の位置を推測する必要があります。

ターゲットプラットフォームはGoogleマップアプリケーションであるため、2つの座標間の距離の地理補正機能などの基本的な機能を利用できます。私は多くのことを知っているので、言語は重要ではなく、必要に応じて任意の例を移植または適合させることができます。ただし、一般的なソリューションが推奨されます。


これは単に2つの独立したベクトル計算ですか?

0 投票する
4 に答える
1570 参照

c# - C# の php fmod に相当するもの

fmod に相当する C# が何か知っている人はいますか? このコード行を C# に変換しようとしています。

これが私がこれまでに持っているものです。fmodを変換するだけです。

0 投票する
2 に答える
1422 参照

iphone - iPhone用の地理空間ライブラリ

興味のあるポイント(POI)のリストがパッケージ化されて来ることで、オフラインで動作できる位置認識iPhoneアプリを作成することを考えています。アプリは、ユーザーの現在地を読み取り、ユーザーの現在地CoreLocationに近い順にPOIのリストを生成します。

このアプリケーションを軌道に乗せるには、2つの基本的な地理空間関数が必要です。1つ目は、ポイント(ユーザーの現在の場所)が特定の地理空間境界内にあるかどうかをテストする関数です。2つ目は、2つの緯度/経度のポイント間の距離を指定できる関数です。2番目の関数を使用して、POIのリストをユーザーの現在の場所の近くで並べ替えます。

この問題領域はよく理解されており、オープンソースのオプションがあることを理解しています。(私が知っている)主要な候補は、GEOSC ++ライブラリです。私がこれを使用すると想像する方法は、GEOSを静的ライブラリとしてコンパイルすることです(そして、three20ライブラリを含めるために行うように、プロジェクトの依存関係としてリンクします)。

私の質問は:

  1. 必要な2つの関数をアプリケーションに組み込むための最良の方法は何ですか。

  2. 質問1の最良の答えが、静的ライブラリとしてGEOSをコンパイルし、それを私のプロジェクトにリンクすることである場合、以前にこれを行ったことがある人は、いくつかのポインタを提供できますか?私はコンパイルや静的ライブラリの構築などの初心者です。GEOSをコンパイルしてプロジェクトに含める方法について、いくつかのサンプルコードまたはチュートリアルを簡単な使用例で見てみたいと思います。

0 投票する
4 に答える
1640 参照

c# - C# で GIS データから画像を作成する方法

C# を使用して、SQL Server 2008 データベースから空間データを取得しています。次に、そのデータに対して操作を実行しようとしていますが、開始するには...視覚化できるようにしたいと考えています。つまり、できればjpg形式でデータの画像を作成したいと思います。

手でやろうと思ったのですが、角度が整数ではなく、切り捨ててグラフィックス オブジェクトに描画することができないため、最初に考えていたよりも難しいことがわかりました。

この操作を実行するのに役立つ可能性のある適切なライブラリを教えてもらえますか?

注: 現時点では、ライブラリの料金を支払うことはできません。