diff --git a/rootfs/home/zonetable b/rootfs/home/zonetable index 4e0af4f..b2b3eba 100644 --- a/rootfs/home/zonetable +++ b/rootfs/home/zonetable @@ -20,7 +20,7 @@ # If FALLBACK_IMALIVE_SERVICE is set to "off"/"disabled"/"no"/0 etc, then ImAlive will always be skipped (also for the primary ImAlive Check) # This is implemented to create control to switch off ImAlive if the ImAlive server fails for any reason -# FALLBACK_IMALIVE_SERVICE="http://mg22.adsbnetwork.com/rtools/pyalive.php" +# FALLBACK_IMALIVE_SERVICE="http://mg21.adsbnetwork.com/rtools/pyalive.php" FALLBACK_IMALIVE_SERVICE="disabled" # For now - always override the DEFLT zone with any manually configured server in the docker-compose.yml @@ -30,14 +30,14 @@ ZONETABLE_OVERRIDE="yes" # Define default values in case the zone cannot be determined zone_id_default="DEFLT" zone_name_default="Default (no special config for your location)" -zone_dns_default="mg22.adsbnetwork.com" +zone_dns_default="mg21.adsbnetwork.com" zone_port_default="50050" zone_mlat_default="mlat.adsbnetwork.com:50000" # associative array with the name, DNS, port, and boundary data for each zone. declare -A ZoneTable=( [EU001:name]="West-Portugal West-Spain" - [EU001:dns]="mg22.adsbnetwork.com" + [EU001:dns]="mg21.adsbnetwork.com" [EU001:port]="50050" [EU001:max_lat]="43.5" [EU001:max_lon]="-7.5" @@ -45,7 +45,7 @@ declare -A ZoneTable=( [EU001:min_lon]="-25.0" [EU001:mlat]="mlat.adsbnetwork.com:50000" [EU002:name]="East-Portugal Spain South-France" - [EU002:dns]="mg22.adsbnetwork.com" + [EU002:dns]="mg21.adsbnetwork.com" [EU002:port]="50050" [EU002:max_lat]="43.5" [EU002:max_lon]="10.0" @@ -53,7 +53,7 @@ declare -A ZoneTable=( [EU002:min_lon]="-7.5" [EU002:mlat]="mlat.adsbnetwork.com:50000" [EU003:name]="East-Mediterranean" - [EU003:dns]="mg22.adsbnetwork.com" + [EU003:dns]="mg21.adsbnetwork.com" [EU003:port]="50050" [EU003:max_lat]="43.5" [EU003:max_lon]="27.5" @@ -61,7 +61,7 @@ declare -A ZoneTable=( [EU003:min_lon]="10.0" [EU003:mlat]="mlat.adsbnetwork.com:50000" [EU004:name]="Turkey Middle-East" - [EU004:dns]="mg22.adsbnetwork.com" + [EU004:dns]="mg21.adsbnetwork.com" [EU004:port]="50050" [EU004:max_lat]="43.5" [EU004:max_lon]="45.0" @@ -69,7 +69,7 @@ declare -A ZoneTable=( [EU004:min_lon]="27.5" [EU004:mlat]="mlat.adsbnetwork.com:50000" [EU005:name]="Southwest-Ireland" - [EU005:dns]="mg22.adsbnetwork.com" + [EU005:dns]="mg21.adsbnetwork.com" [EU005:port]="50050" [EU005:max_lat]="53.0" [EU005:max_lon]="-7.5" @@ -77,7 +77,7 @@ declare -A ZoneTable=( [EU005:min_lon]="-25.0" [EU005:mlat]="mlat.adsbnetwork.com:50000" [EU006:name]="Southwest-Ireland South-GreatBritain France Benelux Western-Germany Switzerland NorthWest-Italy" - [EU006:dns]="mg22.adsbnetwork.com" + [EU006:dns]="mg21.adsbnetwork.com" [EU006:port]="50050" [EU006:max_lat]="53.0" [EU006:max_lon]="10.0" @@ -85,7 +85,7 @@ declare -A ZoneTable=( [EU006:min_lon]="-7.5" [EU006:mlat]="mlat.adsbnetwork.com:50000" [EU007:name]="Eastern-Germany Mid-Eastern-Europe" - [EU007:dns]="mg22.adsbnetwork.com" + [EU007:dns]="mg21.adsbnetwork.com" [EU007:port]="50050" [EU007:max_lat]="53.0" [EU007:max_lon]="27.5" @@ -93,7 +93,7 @@ declare -A ZoneTable=( [EU007:min_lon]="10.0" [EU007:mlat]="mlat.adsbnetwork.com:50000" [EU008:name]="Southeastern-Europe" - [EU008:dns]="mg22.adsbnetwork.com" + [EU008:dns]="mg21.adsbnetwork.com" [EU008:port]="50050" [EU008:max_lat]="53.0" [EU008:max_lon]="45.0" @@ -101,7 +101,7 @@ declare -A ZoneTable=( [EU008:min_lon]="27.5" [EU008:mlat]="mlat.adsbnetwork.com:50000" [EU009:name]="Northwestern-Ireland" - [EU009:dns]="mg22.adsbnetwork.com" + [EU009:dns]="mg21.adsbnetwork.com" [EU009:port]="50050" [EU009:max_lat]="62.5" [EU009:max_lon]="-7.5" @@ -109,7 +109,7 @@ declare -A ZoneTable=( [EU009:min_lon]="-25.0" [EU009:mlat]="mlat.adsbnetwork.com:50000" [EU010:name]="Great-Britain Northeastern-Ireland NorthSea-Countries" - [EU010:dns]="mg22.adsbnetwork.com" + [EU010:dns]="mg21.adsbnetwork.com" [EU010:port]="50050" [EU010:max_lat]="62.5" [EU010:max_lon]="10.0" @@ -117,7 +117,7 @@ declare -A ZoneTable=( [EU010:min_lon]="-7.5" [EU010:mlat]="mlat.adsbnetwork.com:50000" [EU011:name]="BalticSea-Countries" - [EU011:dns]="mg22.adsbnetwork.com" + [EU011:dns]="mg21.adsbnetwork.com" [EU011:port]="50050" [EU011:max_lat]="62.5" [EU011:max_lon]="27.5" @@ -125,7 +125,7 @@ declare -A ZoneTable=( [EU011:min_lon]="10.0" [EU011:mlat]="mlat.adsbnetwork.com:50000" [EU012:name]="Belarus Russia Eastern-Finland Eastern-Latvia" - [EU012:dns]="mg22.adsbnetwork.com" + [EU012:dns]="mg21.adsbnetwork.com" [EU012:port]="50050" [EU012:max_lat]="62.5" [EU012:max_lon]="45.0" @@ -133,7 +133,7 @@ declare -A ZoneTable=( [EU012:min_lon]="27.5" [EU012:mlat]="mlat.adsbnetwork.com:50000" [EU013:name]="Iceland" - [EU013:dns]="mg22.adsbnetwork.com" + [EU013:dns]="mg21.adsbnetwork.com" [EU013:port]="50050" [EU013:max_lat]="72.0" [EU013:max_lon]="-7.5" @@ -141,7 +141,7 @@ declare -A ZoneTable=( [EU013:min_lon]="-25.0" [EU013:mlat]="mlat.adsbnetwork.com:50000" [EU014:name]="Mid-Western-Norway" - [EU014:dns]="mg22.adsbnetwork.com" + [EU014:dns]="mg21.adsbnetwork.com" [EU014:port]="50050" [EU014:max_lat]="72.0" [EU014:max_lon]="10.0" @@ -149,7 +149,7 @@ declare -A ZoneTable=( [EU014:min_lon]="-7.5" [EU014:mlat]="mlat.adsbnetwork.com:50000" [EU015:name]="Northern-Scandinavia Northern-Finland" - [EU015:dns]="mg22.adsbnetwork.com" + [EU015:dns]="mg21.adsbnetwork.com" [EU015:port]="50050" [EU015:max_lat]="72.0" [EU015:max_lon]="27.5" @@ -157,7 +157,7 @@ declare -A ZoneTable=( [EU015:min_lon]="10.0" [EU015:mlat]="mlat.adsbnetwork.com:50000" [EU016:name]="Eastern-Finland Northwestern-Russia" - [EU016:dns]="mg22.adsbnetwork.com" + [EU016:dns]="mg21.adsbnetwork.com" [EU016:port]="50050" [EU016:max_lat]="72.0" [EU016:max_lon]="45.0" @@ -166,7 +166,7 @@ declare -A ZoneTable=( [EU016:mlat]="mlat.adsbnetwork.com:50000" [NA001:name]="SoCal" [NA001:dns]="mg21.adsbnetwork.com" - [NA001:port]="50021" + [NA001:port]="50050" [NA001:max_lat]="34.3534155" [NA001:max_lon]="-117.1984944" [NA001:min_lat]="25.34440649" @@ -174,7 +174,7 @@ declare -A ZoneTable=( [NA001:mlat]="mlat.adsbnetwork.com:50000" [NA002:dns]="mg21.adsbnetwork.com" [NA002:name]="AZ NM Baja nw-Mex" - [NA002:port]="50031" + [NA002:port]="50050" [NA002:max_lat]="34.3534155" [NA002:max_lon]="-105.6292621" [NA002:min_lat]="25.34440649" @@ -182,7 +182,7 @@ declare -A ZoneTable=( [NA002:mlat]="mlat.adsbnetwork.com:50000" [NA003:name]="se-NM TX se-OK sw-AR" [NA003:dns]="mg21.adsbnetwork.com" - [NA003:port]="50033" + [NA003:port]="50050" [NA003:max_lat]="34.3534155" [NA003:max_lon]="-94.06002987" [NA003:min_lat]="25.34440649" @@ -190,7 +190,7 @@ declare -A ZoneTable=( [NA003:mlat]="mlat.adsbnetwork.com:50000" [NA004:name]="so-AR LA MS AL FL GA" [NA004:dns]="mg21.adsbnetwork.com" - [NA004:port]="50037" + [NA004:port]="50050" [NA004:max_lat]="34.3534155" [NA004:max_lon]="-85.13" [NA004:min_lat]="25.34440649" @@ -198,7 +198,7 @@ declare -A ZoneTable=( [NA004:mlat]="mlat.adsbnetwork.com:50000" [NA005:name]="GA FL" [NA005:dns]="mg21.adsbnetwork.com" - [NA005:port]="50039" + [NA005:port]="50050" [NA005:max_lat]="34.3534155" [NA005:max_lon]="-70.92156537" [NA005:min_lat]="24.5" @@ -206,7 +206,7 @@ declare -A ZoneTable=( [NA005:mlat]="mlat.adsbnetwork.com:50000" [NA006:name]="CA NV OR" [NA006:dns]="mg21.adsbnetwork.com" - [NA006:port]="50040" + [NA006:port]="50050" [NA006:max_lat]="43.3624245" [NA006:max_lon]="-117.1984944" [NA006:min_lat]="34.3534155" @@ -214,7 +214,7 @@ declare -A ZoneTable=( [NA006:mlat]="mlat.adsbnetwork.com:50000" [NA007:name]="NV sw-CA UT CO AZ NM ID WY" [NA007:dns]="mg21.adsbnetwork.com" - [NA007:port]="50041" + [NA007:port]="50050" [NA007:max_lat]="43.3624245" [NA007:max_lon]="-105.6292621" [NA007:min_lat]="34.3534155" @@ -222,7 +222,7 @@ declare -A ZoneTable=( [NA007:mlat]="mlat.adsbnetwork.com:50000" [NA008:name]="WY SD IA CO KS MS NM no_TX OK we-AR" [NA008:dns]="mg21.adsbnetwork.com" - [NA008:port]="50042" + [NA008:port]="50050" [NA008:max_lat]="43.3624245" [NA008:max_lon]="-94.06002987" [NA008:min_lat]="34.3534155" @@ -230,7 +230,7 @@ declare -A ZoneTable=( [NA008:mlat]="mlat.adsbnetwork.com:50000" [NA009:name]="IA WI MI IL IN OH MS KY AR TN no-MS no-AL no-GA" [NA009:dns]="mg21.adsbnetwork.com" - [NA009:port]="50043" + [NA009:port]="50050" [NA009:max_lat]="43.3624245" [NA009:max_lon]="-82.49079762" [NA009:min_lat]="34.3534155" @@ -238,7 +238,7 @@ declare -A ZoneTable=( [NA009:mlat]="mlat.adsbnetwork.com:50000" [NA010:name]="mid-Atlantic south-NewEngland" [NA010:dns]="mg21.adsbnetwork.com" - [NA010:port]="50044" + [NA010:port]="50050" [NA010:max_lat]="43.3624245" [NA010:max_lon]="-69.9" [NA010:min_lat]="34.3534155" @@ -246,7 +246,7 @@ declare -A ZoneTable=( [NA010:mlat]="mlat.adsbnetwork.com:50000" [NA011:name]="Pac NW" [NA011:dns]="mg21.adsbnetwork.com" - [NA011:port]="50045" + [NA011:port]="50050" [NA011:max_lat]="52.37143351" [NA011:max_lon]="-117.1984944" [NA011:min_lat]="43.3624245" @@ -254,7 +254,7 @@ declare -A ZoneTable=( [NA011:mlat]="mlat.adsbnetwork.com:50000" [NA012:name]="ID MT WY east-BC AB SK" [NA012:dns]="mg21.adsbnetwork.com" - [NA012:port]="50046" + [NA012:port]="50050" [NA012:max_lat]="52.37143351" [NA012:max_lon]="-105.6292621" [NA012:min_lat]="43.3624245" @@ -262,7 +262,7 @@ declare -A ZoneTable=( [NA012:mlat]="mlat.adsbnetwork.com:50000" [NA013:name]="WY MT ND SD MN SK MB ON" [NA013:dns]="mg21.adsbnetwork.com" - [NA013:port]="50048" + [NA013:port]="50050" [NA013:max_lat]="52.37143351" [NA013:max_lon]="-94.06002987" [NA013:min_lat]="43.3624245" @@ -270,7 +270,7 @@ declare -A ZoneTable=( [NA013:mlat]="mlat.adsbnetwork.com:50000" [NA014:name]="MN WI MI ON" [NA014:dns]="mg21.adsbnetwork.com" - [NA014:port]="50049" + [NA014:port]="50050" [NA014:max_lat]="52.37143351" [NA014:max_lon]="-82.49079762" [NA014:min_lat]="43.3624245" @@ -278,7 +278,7 @@ declare -A ZoneTable=( [NA014:mlat]="mlat.adsbnetwork.com:50000" [NA015:name]="No-NewEngland East-Canada StPierreMiquelon" [NA015:dns]="mg21.adsbnetwork.com" - [NA015:port]="50051" + [NA015:port]="50050" [NA015:max_lat]="52.37143351" [NA015:max_lon]="-52.432265" [NA015:min_lat]="43.3624245" @@ -286,7 +286,7 @@ declare -A ZoneTable=( [NA015:mlat]="mlat.adsbnetwork.com:50000" [NA016:name]="Hawaii" [NA016:dns]="mg21.adsbnetwork.com" - [NA016:port]="50039" + [NA016:port]="50050" [NA016:max_lat]="22.356682" [NA016:max_lon]="-154.539553" [NA016:min_lat]="18.809780" @@ -294,7 +294,7 @@ declare -A ZoneTable=( [NA016:mlat]="mlat.adsbnetwork.com:50000" [NA017:name]="Alaska" [NA017:dns]="mg21.adsbnetwork.com" - [NA017:port]="50039" + [NA017:port]="50050" [NA017:max_lat]="71.5388" [NA017:max_lon]="-130" [NA017:min_lat]="51.2097" diff --git a/rootfs/home/zonetable-bkup-15-Feb-2025 b/rootfs/home/zonetable-bkup-15-Feb-2025 new file mode 100644 index 0000000..4e0af4f --- /dev/null +++ b/rootfs/home/zonetable-bkup-15-Feb-2025 @@ -0,0 +1,348 @@ +#shellcheck shell=bash disable=SC2034,SC2154 + +#--------------------------------------------------------------------------------------------- +# Copyright (C) 2023-2025, Ramon F. Kolb (kx1t) and contributors +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along with this program. +# If not, see . +#--------------------------------------------------------------------------------------------- + +# Define where to get the ImAlive service if the RV_SERVER fails for any reason +# If FALLBACK_IMALIVE_SERVICE is set to "off"/"disabled"/"no"/0 etc, then ImAlive will always be skipped (also for the primary ImAlive Check) +# This is implemented to create control to switch off ImAlive if the ImAlive server fails for any reason + +# FALLBACK_IMALIVE_SERVICE="http://mg22.adsbnetwork.com/rtools/pyalive.php" +FALLBACK_IMALIVE_SERVICE="disabled" + +# For now - always override the DEFLT zone with any manually configured server in the docker-compose.yml +# Once the new server is in place, we can remove this override and leave to be set in the docker-compose.yml +ZONETABLE_OVERRIDE="yes" + +# Define default values in case the zone cannot be determined +zone_id_default="DEFLT" +zone_name_default="Default (no special config for your location)" +zone_dns_default="mg22.adsbnetwork.com" +zone_port_default="50050" +zone_mlat_default="mlat.adsbnetwork.com:50000" + +# associative array with the name, DNS, port, and boundary data for each zone. +declare -A ZoneTable=( + [EU001:name]="West-Portugal West-Spain" + [EU001:dns]="mg22.adsbnetwork.com" + [EU001:port]="50050" + [EU001:max_lat]="43.5" + [EU001:max_lon]="-7.5" + [EU001:min_lat]="34.0" + [EU001:min_lon]="-25.0" + [EU001:mlat]="mlat.adsbnetwork.com:50000" + [EU002:name]="East-Portugal Spain South-France" + [EU002:dns]="mg22.adsbnetwork.com" + [EU002:port]="50050" + [EU002:max_lat]="43.5" + [EU002:max_lon]="10.0" + [EU002:min_lat]="34.0" + [EU002:min_lon]="-7.5" + [EU002:mlat]="mlat.adsbnetwork.com:50000" + [EU003:name]="East-Mediterranean" + [EU003:dns]="mg22.adsbnetwork.com" + [EU003:port]="50050" + [EU003:max_lat]="43.5" + [EU003:max_lon]="27.5" + [EU003:min_lat]="34.0" + [EU003:min_lon]="10.0" + [EU003:mlat]="mlat.adsbnetwork.com:50000" + [EU004:name]="Turkey Middle-East" + [EU004:dns]="mg22.adsbnetwork.com" + [EU004:port]="50050" + [EU004:max_lat]="43.5" + [EU004:max_lon]="45.0" + [EU004:min_lat]="34.0" + [EU004:min_lon]="27.5" + [EU004:mlat]="mlat.adsbnetwork.com:50000" + [EU005:name]="Southwest-Ireland" + [EU005:dns]="mg22.adsbnetwork.com" + [EU005:port]="50050" + [EU005:max_lat]="53.0" + [EU005:max_lon]="-7.5" + [EU005:min_lat]="43.5" + [EU005:min_lon]="-25.0" + [EU005:mlat]="mlat.adsbnetwork.com:50000" + [EU006:name]="Southwest-Ireland South-GreatBritain France Benelux Western-Germany Switzerland NorthWest-Italy" + [EU006:dns]="mg22.adsbnetwork.com" + [EU006:port]="50050" + [EU006:max_lat]="53.0" + [EU006:max_lon]="10.0" + [EU006:min_lat]="43.5" + [EU006:min_lon]="-7.5" + [EU006:mlat]="mlat.adsbnetwork.com:50000" + [EU007:name]="Eastern-Germany Mid-Eastern-Europe" + [EU007:dns]="mg22.adsbnetwork.com" + [EU007:port]="50050" + [EU007:max_lat]="53.0" + [EU007:max_lon]="27.5" + [EU007:min_lat]="43.5" + [EU007:min_lon]="10.0" + [EU007:mlat]="mlat.adsbnetwork.com:50000" + [EU008:name]="Southeastern-Europe" + [EU008:dns]="mg22.adsbnetwork.com" + [EU008:port]="50050" + [EU008:max_lat]="53.0" + [EU008:max_lon]="45.0" + [EU008:min_lat]="43.5" + [EU008:min_lon]="27.5" + [EU008:mlat]="mlat.adsbnetwork.com:50000" + [EU009:name]="Northwestern-Ireland" + [EU009:dns]="mg22.adsbnetwork.com" + [EU009:port]="50050" + [EU009:max_lat]="62.5" + [EU009:max_lon]="-7.5" + [EU009:min_lat]="53.0" + [EU009:min_lon]="-25.0" + [EU009:mlat]="mlat.adsbnetwork.com:50000" + [EU010:name]="Great-Britain Northeastern-Ireland NorthSea-Countries" + [EU010:dns]="mg22.adsbnetwork.com" + [EU010:port]="50050" + [EU010:max_lat]="62.5" + [EU010:max_lon]="10.0" + [EU010:min_lat]="53.0" + [EU010:min_lon]="-7.5" + [EU010:mlat]="mlat.adsbnetwork.com:50000" + [EU011:name]="BalticSea-Countries" + [EU011:dns]="mg22.adsbnetwork.com" + [EU011:port]="50050" + [EU011:max_lat]="62.5" + [EU011:max_lon]="27.5" + [EU011:min_lat]="53.0" + [EU011:min_lon]="10.0" + [EU011:mlat]="mlat.adsbnetwork.com:50000" + [EU012:name]="Belarus Russia Eastern-Finland Eastern-Latvia" + [EU012:dns]="mg22.adsbnetwork.com" + [EU012:port]="50050" + [EU012:max_lat]="62.5" + [EU012:max_lon]="45.0" + [EU012:min_lat]="53.0" + [EU012:min_lon]="27.5" + [EU012:mlat]="mlat.adsbnetwork.com:50000" + [EU013:name]="Iceland" + [EU013:dns]="mg22.adsbnetwork.com" + [EU013:port]="50050" + [EU013:max_lat]="72.0" + [EU013:max_lon]="-7.5" + [EU013:min_lat]="62.5" + [EU013:min_lon]="-25.0" + [EU013:mlat]="mlat.adsbnetwork.com:50000" + [EU014:name]="Mid-Western-Norway" + [EU014:dns]="mg22.adsbnetwork.com" + [EU014:port]="50050" + [EU014:max_lat]="72.0" + [EU014:max_lon]="10.0" + [EU014:min_lat]="62.5" + [EU014:min_lon]="-7.5" + [EU014:mlat]="mlat.adsbnetwork.com:50000" + [EU015:name]="Northern-Scandinavia Northern-Finland" + [EU015:dns]="mg22.adsbnetwork.com" + [EU015:port]="50050" + [EU015:max_lat]="72.0" + [EU015:max_lon]="27.5" + [EU015:min_lat]="62.5" + [EU015:min_lon]="10.0" + [EU015:mlat]="mlat.adsbnetwork.com:50000" + [EU016:name]="Eastern-Finland Northwestern-Russia" + [EU016:dns]="mg22.adsbnetwork.com" + [EU016:port]="50050" + [EU016:max_lat]="72.0" + [EU016:max_lon]="45.0" + [EU016:min_lat]="62.5" + [EU016:min_lon]="27.5" + [EU016:mlat]="mlat.adsbnetwork.com:50000" + [NA001:name]="SoCal" + [NA001:dns]="mg21.adsbnetwork.com" + [NA001:port]="50021" + [NA001:max_lat]="34.3534155" + [NA001:max_lon]="-117.1984944" + [NA001:min_lat]="25.34440649" + [NA001:min_lon]="-128.7677266" + [NA001:mlat]="mlat.adsbnetwork.com:50000" + [NA002:dns]="mg21.adsbnetwork.com" + [NA002:name]="AZ NM Baja nw-Mex" + [NA002:port]="50031" + [NA002:max_lat]="34.3534155" + [NA002:max_lon]="-105.6292621" + [NA002:min_lat]="25.34440649" + [NA002:min_lon]="-117.1984944" + [NA002:mlat]="mlat.adsbnetwork.com:50000" + [NA003:name]="se-NM TX se-OK sw-AR" + [NA003:dns]="mg21.adsbnetwork.com" + [NA003:port]="50033" + [NA003:max_lat]="34.3534155" + [NA003:max_lon]="-94.06002987" + [NA003:min_lat]="25.34440649" + [NA003:min_lon]="-105.6292621" + [NA003:mlat]="mlat.adsbnetwork.com:50000" + [NA004:name]="so-AR LA MS AL FL GA" + [NA004:dns]="mg21.adsbnetwork.com" + [NA004:port]="50037" + [NA004:max_lat]="34.3534155" + [NA004:max_lon]="-85.13" + [NA004:min_lat]="25.34440649" + [NA004:min_lon]="-94.06002987" + [NA004:mlat]="mlat.adsbnetwork.com:50000" + [NA005:name]="GA FL" + [NA005:dns]="mg21.adsbnetwork.com" + [NA005:port]="50039" + [NA005:max_lat]="34.3534155" + [NA005:max_lon]="-70.92156537" + [NA005:min_lat]="24.5" + [NA005:min_lon]="-85.13" + [NA005:mlat]="mlat.adsbnetwork.com:50000" + [NA006:name]="CA NV OR" + [NA006:dns]="mg21.adsbnetwork.com" + [NA006:port]="50040" + [NA006:max_lat]="43.3624245" + [NA006:max_lon]="-117.1984944" + [NA006:min_lat]="34.3534155" + [NA006:min_lon]="-128.7677266" + [NA006:mlat]="mlat.adsbnetwork.com:50000" + [NA007:name]="NV sw-CA UT CO AZ NM ID WY" + [NA007:dns]="mg21.adsbnetwork.com" + [NA007:port]="50041" + [NA007:max_lat]="43.3624245" + [NA007:max_lon]="-105.6292621" + [NA007:min_lat]="34.3534155" + [NA007:min_lon]="-117.1984944" + [NA007:mlat]="mlat.adsbnetwork.com:50000" + [NA008:name]="WY SD IA CO KS MS NM no_TX OK we-AR" + [NA008:dns]="mg21.adsbnetwork.com" + [NA008:port]="50042" + [NA008:max_lat]="43.3624245" + [NA008:max_lon]="-94.06002987" + [NA008:min_lat]="34.3534155" + [NA008:min_lon]="-105.6292621" + [NA008:mlat]="mlat.adsbnetwork.com:50000" + [NA009:name]="IA WI MI IL IN OH MS KY AR TN no-MS no-AL no-GA" + [NA009:dns]="mg21.adsbnetwork.com" + [NA009:port]="50043" + [NA009:max_lat]="43.3624245" + [NA009:max_lon]="-82.49079762" + [NA009:min_lat]="34.3534155" + [NA009:min_lon]="-94.06002987" + [NA009:mlat]="mlat.adsbnetwork.com:50000" + [NA010:name]="mid-Atlantic south-NewEngland" + [NA010:dns]="mg21.adsbnetwork.com" + [NA010:port]="50044" + [NA010:max_lat]="43.3624245" + [NA010:max_lon]="-69.9" + [NA010:min_lat]="34.3534155" + [NA010:min_lon]="-82.49079762" + [NA010:mlat]="mlat.adsbnetwork.com:50000" + [NA011:name]="Pac NW" + [NA011:dns]="mg21.adsbnetwork.com" + [NA011:port]="50045" + [NA011:max_lat]="52.37143351" + [NA011:max_lon]="-117.1984944" + [NA011:min_lat]="43.3624245" + [NA011:min_lon]="-128.7677266" + [NA011:mlat]="mlat.adsbnetwork.com:50000" + [NA012:name]="ID MT WY east-BC AB SK" + [NA012:dns]="mg21.adsbnetwork.com" + [NA012:port]="50046" + [NA012:max_lat]="52.37143351" + [NA012:max_lon]="-105.6292621" + [NA012:min_lat]="43.3624245" + [NA012:min_lon]="-117.1984944" + [NA012:mlat]="mlat.adsbnetwork.com:50000" + [NA013:name]="WY MT ND SD MN SK MB ON" + [NA013:dns]="mg21.adsbnetwork.com" + [NA013:port]="50048" + [NA013:max_lat]="52.37143351" + [NA013:max_lon]="-94.06002987" + [NA013:min_lat]="43.3624245" + [NA013:min_lon]="-105.6292621" + [NA013:mlat]="mlat.adsbnetwork.com:50000" + [NA014:name]="MN WI MI ON" + [NA014:dns]="mg21.adsbnetwork.com" + [NA014:port]="50049" + [NA014:max_lat]="52.37143351" + [NA014:max_lon]="-82.49079762" + [NA014:min_lat]="43.3624245" + [NA014:min_lon]="-94.06002987" + [NA014:mlat]="mlat.adsbnetwork.com:50000" + [NA015:name]="No-NewEngland East-Canada StPierreMiquelon" + [NA015:dns]="mg21.adsbnetwork.com" + [NA015:port]="50051" + [NA015:max_lat]="52.37143351" + [NA015:max_lon]="-52.432265" + [NA015:min_lat]="43.3624245" + [NA015:min_lon]="-82.49079762" + [NA015:mlat]="mlat.adsbnetwork.com:50000" + [NA016:name]="Hawaii" + [NA016:dns]="mg21.adsbnetwork.com" + [NA016:port]="50039" + [NA016:max_lat]="22.356682" + [NA016:max_lon]="-154.539553" + [NA016:min_lat]="18.809780" + [NA016:min_lon]="-160.453822" + [NA016:mlat]="mlat.adsbnetwork.com:50000" + [NA017:name]="Alaska" + [NA017:dns]="mg21.adsbnetwork.com" + [NA017:port]="50039" + [NA017:max_lat]="71.5388" + [NA017:max_lon]="-130" + [NA017:min_lat]="51.2097" + [NA017:min_lon]="-172" + [NA017:mlat]="mlat.adsbnetwork.com:50000" +) + +declare -a ZoneNames=() +for name in "${!ZoneTable[@]}"; do + # shellcheck disable=SC2076 + if [[ ! " ${ZoneNames[*]} " =~ " ${name:0:5} " ]]; then + ZoneNames+=("${name:0:5}") + fi +done + +if [[ -n "$LON" ]] && [[ -n "$LAT" ]]; then + for zone in "${ZoneNames[@]}"; do + math_string="$LAT > ${ZoneTable[$zone:min_lat]} && " + math_string+="$LAT <= ${ZoneTable[$zone:max_lat]} && " + math_string+="$LON > ${ZoneTable[$zone:min_lon]} && " + math_string+="$LON <= ${ZoneTable[$zone:max_lon]}" + if [[ "$(bc -l <<< "$math_string")" == "1" ]]; then + zone_name="${ZoneTable[$zone:name]}" + zone_id="$zone" + zone_dns="${ZoneTable[$zone:dns]}" + zone_port="${ZoneTable[$zone:port]}" + zone_mlat="${ZoneTable[$zone:mlat]}" + unset ZoneTable ZoneNames + break + fi + done +else + unset zone_name zone_id zone_dns zone_port ZoneTable ZoneNames +fi + +# Set default values in case the station is outside the defined zones: + +if [[ -z "$zone_id" ]]; then zone_id="$zone_id_default"; fi +if [[ -z "$zone_name" ]]; then zone_name="$zone_name_default"; fi +if [[ -z "$zone_dns" ]]; then zone_dns="$zone_dns_default"; fi +if [[ -z "$zone_port" ]]; then zone_port="$zone_port_default"; fi +if [[ -z "$zone_mlat" ]]; then zone_mlat="$zone_mlat_default"; fi + +# If the station is in the default zone, and the user has set a custom server, then use the custom server +# Note - we won't override the MLAT server as this is the same for all zones +if chk_enabled "$ZONETABLE_OVERRIDE" && [[ "$zone_id" == "DEFLT" ]] && [[ -n "$RV_SERVER" ]]; then + zone_id="MNUAL" + zone_name="$RV_SERVER (manually set)" + zone_dns="${RV_SERVER%%:*}" + zone_port="${RV_SERVER##*:}" +fi \ No newline at end of file