Use Wikipedia API for coordinates
This commit is contained in:
parent
18741def49
commit
f9449ac9af
1 changed files with 21 additions and 44 deletions
|
@ -134,57 +134,34 @@ fi
|
|||
str_city=$(echo "$city" | sed "s/ /_/g" -)
|
||||
message "str_city $str_city"
|
||||
wiki_url="https://en.wikipedia.org/wiki/$str_city"
|
||||
python3_cmd=$(which python3)
|
||||
if [ "${python3_cmd}" == "" ]; then
|
||||
echo "Python3 not found"
|
||||
exit 3
|
||||
fi
|
||||
escaped_city=$("${python3_cmd}" -c 'import urllib.parse; import sys; print(urllib.parse.quote(sys.argv[1]))' "${str_city}")
|
||||
wiki_url="https://en.wikipedia.org/w/api.php?action=query&prop=coordinates&format=json&titles=${escaped_city}"
|
||||
message "wiki_url $wiki_url"
|
||||
wiki_content=$("${curl_cmd}" -s $wiki_url)
|
||||
latitude=$(echo $wiki_content | egrep -o "[0-9]{1,2}°[0-9]?[0-9]?′?[0-9]?[0-9]?″?[NS]" | head -n 1)
|
||||
message "latitude $latitude"
|
||||
longitude=$(echo $wiki_content | egrep -o "[0-9]{1,2}°[0-9]?[0-9]?′?[0-9]?[0-9]?″?[EW]" | head -n 1)
|
||||
message "longitude $longitude"
|
||||
g_latitude=$(echo $latitude | egrep -o "[0-9]{1,2}°" | sed "s/°//g" - )
|
||||
message "g_latitude $g_latitude"
|
||||
m_latitude=$(echo $latitude | egrep -o "[0-9]{1,2}′" | sed "s/′//g" - )
|
||||
message "m_latitude $m_latitude"
|
||||
[[ "$m_latitude" == "" ]] && m_latitude=0
|
||||
s_latitude=$(echo $latitude | egrep -o "[0-9]{1,2}″" | sed "s/″//g" - )
|
||||
message "s_latitude $s_latitude"
|
||||
[[ "$s_latitude" == "" ]] && s_latitude=0
|
||||
o_latitude=$(echo $latitude | egrep -o "[NS]")
|
||||
if [[ "$o_latitude" == "S" ]]; then
|
||||
o_latitude=South
|
||||
latitude=$(echo "${wiki_content}" | jq '.query.pages[].coordinates[0].lat')
|
||||
if (( $(echo "${latitude} > 0" | bc -l) )); then
|
||||
o_latitude=North
|
||||
else
|
||||
o_latitude=North
|
||||
o_latitude=South
|
||||
fi
|
||||
message "o_latitude $o_latitude"
|
||||
gm_latitude=$(echo "scale=2; $m_latitude / 60" | bc)
|
||||
message "gm_latitude $gm_latitude"
|
||||
gs_latitude=$(echo "scale=2; $m_latitude / 3600" | bc)
|
||||
message "gs_latitude $gs_latitude"
|
||||
g_latitude=$(echo "scale=2; $g_latitude + $gm_latitude + $gs_latitude" | bc)
|
||||
message "g_latitude $g_latitude"
|
||||
g_longitude=$(echo $longitude | egrep -o "[0-9]{1,2}°" | sed "s/°//g" - )
|
||||
message "g_longitude $g_longitude"
|
||||
m_longitude=$(echo $longitude | egrep -o "[0-9]{1,2}′" | sed "s/′//g" - )
|
||||
[[ "$m_longitude" == "" ]] && m_longitude=0
|
||||
message "m_longitude $m_longitude"
|
||||
s_longitude=$(echo $longitude | egrep -o "[0-9]{1,2}″" | sed "s/″//g" - )
|
||||
[[ "$s_longitude" == "" ]] && s_longitude=0
|
||||
message "s_longitude $s_longitude"
|
||||
o_longitude=$(echo $longitude | egrep -o "[EW]")
|
||||
if [[ "$o_longitude" == "E" ]]; then
|
||||
o_longitude=East
|
||||
latitude="${latitude//-/}"
|
||||
message "Latitude '${latitude} ${o_latitude}'"
|
||||
longitude=$(echo "${wiki_content}" | jq '.query.pages[].coordinates[0].lon')
|
||||
if (( $(echo "${longitude} > 0" | bc -l) )); then
|
||||
o_longitude=East
|
||||
else
|
||||
o_longitude=West
|
||||
o_longitude=West
|
||||
fi
|
||||
message "o_longitude $o_longitude"
|
||||
gm_longitude=$(echo "scale=2; $m_longitude / 60" | bc)
|
||||
message "gm_longitude $gm_longitude"
|
||||
gs_longitude=$(echo "scale=2; $m_longitude / 3600" | bc)
|
||||
message "gs_longitude $gs_longitude"
|
||||
g_longitude=$(echo "scale=2; $g_longitude + $gm_longitude + $gs_longitude" | bc)
|
||||
message "g_longitude $g_longitude"
|
||||
#url='https://www.fourmilab.ch/cgi-bin/Earth?img=learth.evif&imgsize=1366&dynimg=y&opt=-l&lat=41&ns=North&lon=0&ew=East&alt=35785&tle=&date=0&utc=&jd='
|
||||
longitude="${longitude//-/}"
|
||||
message "Longitude '${longitude} ${o_longitude}'"
|
||||
|
||||
url="https://www.fourmilab.ch/cgi-bin/Earth?img=learth.evif&imgsize=$screen_width&dynimg=y&opt=-l&lat=$g_latitude&ns=$o_latitude&lon=$g_longitude&ew=$o_longitude&alt=35785&tle=&date=0&utc=&jd="
|
||||
#url='https://www.fourmilab.ch/cgi-bin/Earth?img=learth.evif&imgsize=1366&dynimg=y&opt=-l&lat=41&ns=North&lon=0&ew=East&alt=35785&tle=&date=0&utc=&jd='
|
||||
url="https://www.fourmilab.ch/cgi-bin/Earth?img=learth.evif&imgsize=$screen_width&dynimg=y&opt=-l&lat=$latitude&ns=$o_latitude&lon=$longitude&ew=$o_longitude&alt=35785&tle=&date=0&utc=&jd="
|
||||
message "URL $url"
|
||||
cur_date=$(date +%Y-%m-%d)
|
||||
time=$(date +%H.%M.%S)
|
||||
|
|
Loading…
Reference in a new issue