tissot going over the North Pole

オープン
#451 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python

調査の方向性

まず、報告された Python スニペットを Basemap 1.2.0 で実行し、北極を横切る tissot 呼び出しを確認します。tissot の経路とその測地計算を追跡し、極のケースで ValueError が発生する理由を特定します。北極の例がエラーなしで完了し、既存の南極での動作が維持されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Sorry if this is a known bug, but I could not find it in this repository, I think I might have seen it in Matplotlib:

When using tissot to plot the theoretical field of view of a satellite looking down to Earth, a ValueError is encountered if the tissot polygon crosses the North Pole. It does not happen on the South Pole.

ValueError: undefined inverse geodesic (may be an antipodal point)

Code snipplet below. I installed Basemap (v1.2.0) through pip.

import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import math

earth_radius = 6371000.  # m
fig = plt.figure()
m = Basemap(projection='cyl', resolution='l',
            llcrnrlat=-90, urcrnrlat=90,
            llcrnrlon=-180, urcrnrlon=180)

# define the position of the satellite
position = [300000., 75., 0.]  # altitude, latitude, longitude

# radius needed by the tissot method
radius = math.degrees(math.acos(earth_radius / (earth_radius + position[0])))
m.tissot(position[2], position[1], radius, 100, facecolor='tab:blue', alpha=0.3)  # longitude, latitude
m.scatter(position[2], position[1], marker='*', c='tab:red')

plt.show()
主要言語
Python
スター
817
フォーク
395
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

matplotlib/basemap のほかの issue

matplotlib/basemap の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。