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" -)
|
str_city=$(echo "$city" | sed "s/ /_/g" -)
|
||||||
message "str_city $str_city"
|
message "str_city $str_city"
|
||||||
wiki_url="https://en.wikipedia.org/wiki/$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"
|
message "wiki_url $wiki_url"
|
||||||
wiki_content=$("${curl_cmd}" -s $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)
|
latitude=$(echo "${wiki_content}" | jq '.query.pages[].coordinates[0].lat')
|
||||||
message "latitude $latitude"
|
if (( $(echo "${latitude} > 0" | bc -l) )); then
|
||||||
longitude=$(echo $wiki_content | egrep -o "[0-9]{1,2}°[0-9]?[0-9]?′?[0-9]?[0-9]?″?[EW]" | head -n 1)
|
o_latitude=North
|
||||||
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
|
|
||||||
else
|
else
|
||||||
o_latitude=North
|
o_latitude=South
|
||||||
fi
|
fi
|
||||||
message "o_latitude $o_latitude"
|
latitude="${latitude//-/}"
|
||||||
gm_latitude=$(echo "scale=2; $m_latitude / 60" | bc)
|
message "Latitude '${latitude} ${o_latitude}'"
|
||||||
message "gm_latitude $gm_latitude"
|
longitude=$(echo "${wiki_content}" | jq '.query.pages[].coordinates[0].lon')
|
||||||
gs_latitude=$(echo "scale=2; $m_latitude / 3600" | bc)
|
if (( $(echo "${longitude} > 0" | bc -l) )); then
|
||||||
message "gs_latitude $gs_latitude"
|
o_longitude=East
|
||||||
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
|
|
||||||
else
|
else
|
||||||
o_longitude=West
|
o_longitude=West
|
||||||
fi
|
fi
|
||||||
message "o_longitude $o_longitude"
|
longitude="${longitude//-/}"
|
||||||
gm_longitude=$(echo "scale=2; $m_longitude / 60" | bc)
|
message "Longitude '${longitude} ${o_longitude}'"
|
||||||
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='
|
|
||||||
|
|
||||||
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"
|
message "URL $url"
|
||||||
cur_date=$(date +%Y-%m-%d)
|
cur_date=$(date +%Y-%m-%d)
|
||||||
time=$(date +%H.%M.%S)
|
time=$(date +%H.%M.%S)
|
||||||
|
|
Loading…
Reference in a new issue