ホームページ >バックエンド開発 >Golang >緯度/経度の点が領域内にあるかどうかを確認する

緯度/経度の点が領域内にあるかどうかを確認する

WBOY
WBOY転載
2024-02-06 09:24:091057ブラウズ

緯度/経度の点が領域内にあるかどうかを確認する

質問内容

緯度と経度の座標のペアが領域内にあるかどうかを確認する方法を見つけようとしています(他の緯度で識別される) /経度座標が生成されます)。

たとえば、領域が次の座標を使用して生成された長方形である場合:

リーリー

これらの座標がエリア内にあるかどうかを確認したい: 43.651989,-79.371993

このパッケージを使用しようとしましたが、動作させることができませんでした: github.com/kellydunn/golang-geo

リーリー

この実装を共有できる人はいないだろうか、または正しい方向に導いてくれるリソースを持っている人はいないだろうかと考えていました。グーグルマップAPIも使ってみたいと思います。


正解


この例では、これは長方形であり、次のように計算できます:

  1. 面積の最小点を見つけます。 minimumpoint.x = min(p1.x, p2.x) および minimumpoint.y = min(p1.y, p2.y)
  2. エリアの最大点を見つけます。 maximumpoint.x = max(p1.x, p2.x) および maximumpoint.y = max(p1.y, p2.y)
  3. 点がそれらの間にあるかどうかを確認します。 checkpoint.x >=minimumpoint.xandcheckpoint.x and<code>checkpoint.y >=minimumpoint.yandcheckpoint .y

または、contains 関数を使用することもできます: https://www.php.cn/link/fb6e7c396949fea1f6f6bf144dbc7908

プロジェクトに追加: github.com/paulmach/orb を取得します

これがあなたの質問に対して私が書いたサンプルコードです:

リーリー ###結果:### リーリー

以上が緯度/経度の点が領域内にあるかどうかを確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。