diff --git a/DynamicBibleUtility/DynamicBibleUtility/DynamicBibleUtility.csproj b/DynamicBibleUtility/DynamicBibleUtility/DynamicBibleUtility.csproj index e26bb595..2a2ac1c2 100644 --- a/DynamicBibleUtility/DynamicBibleUtility/DynamicBibleUtility.csproj +++ b/DynamicBibleUtility/DynamicBibleUtility/DynamicBibleUtility.csproj @@ -65,9 +65,11 @@ + + diff --git a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationIndexByName.cs b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationIndexByName.cs index f9f4d1c9..66cc41d2 100644 --- a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationIndexByName.cs +++ b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationIndexByName.cs @@ -7,8 +7,8 @@ namespace DynamicBibleUtility.Geolocation /// public class BibleLocationIndexByName { - /// A mapping of location names to full location data. - public IDictionary NameToLocationLookup = new Dictionary(); + /// A mapping of location names to full location data (in the JSON format). + public IDictionary NameToLocationLookup = new Dictionary(); /// /// Creates the index from the provided locations. @@ -24,7 +24,20 @@ namespace DynamicBibleUtility.Geolocation // The information currently isn't useful without these coordinates. if (location.HasGeographicCoordinates) { - NameToLocationLookup[location.Name] = location; + // Since the location data needs to be converted to JSON in different + // scenarios with different properties serialized, there's not an easy + // way to simply mark which fields should/shouldn't be serialized in + // all situations. While a custom JSON converter could be used, + // creating a dynamic object here seemed simpler. In this scenario, + // the name doesn't need to be included in the member data since + // it already serves as the key in the lookup. + NameToLocationLookup[location.Name] = new + { + sn = location.StrongsNumbers, + lat = location.Latitude, + lon = location.Longitude, + vss = location.VerseReferenceStrings + }; } } } diff --git a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationIndexByStrongsNumbers.cs b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationIndexByStrongsNumbers.cs new file mode 100644 index 00000000..b5829659 --- /dev/null +++ b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationIndexByStrongsNumbers.cs @@ -0,0 +1,89 @@ +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json; + +namespace DynamicBibleUtility.Geolocation +{ + /// + /// An index of Bible location data by Strong's numbers. + /// + /// Strong's numbers tend to be more useful for lookups in the Dynamic Bible app + /// due to how they're integrated into the rest of the app and can help more clearly + /// define a particular location. + /// + /// This class maintains a simple lookup of Strong's numbers to location names + /// in addition to a lookup that includes the full location data. + /// + public class BibleLocationIndexByStrongsNumbers + { + /// + /// A mapping of Strong's numbers to normalized location names. + /// A Strong's number may refer to multiple locations. + /// + public IDictionary> StrongsNumberToLocationNameLookup = new Dictionary>(); + /// + /// A mapping of Strong's numbers to full location data (in JSON format). + /// A Strong's number may refer to multiple locations. + /// + public IDictionary> StrongsNumberToLocationLookup = new Dictionary>(); + + /// + /// Creates the index from the provided locations. + /// + /// The locations to put in the index. + /// Thrown if the locations are null. + public BibleLocationIndexByStrongsNumbers(IEnumerable locations) + { + // INDEX THE LOCATIONS BY STRONG'S NUMBERS. + foreach (var location in locations) + { + // DON'T INDEX THE LOCATION IF IT HAS GEOGRAPHIC COORDINATES. + // The information currently isn't useful without these coordinates. + if (!location.HasGeographicCoordinates) + { + continue; + } + + // DON'T INDEX THE LOCATION IF IT DOESN'T HAVE ANY STRONG'S NUMBERS. + bool location_has_strongs_numbers = location.StrongsNumbers.Any(); + if (!location_has_strongs_numbers) + { + continue; + } + + // INDEX THE LOCATION BY STRONG'S NUMBERS. + foreach (string strongs_number in location.StrongsNumbers) + { + // MAKE SURE EXISTING COLLECTIONS EXIST FOR THE STRONG'S NUMBER. + bool strongs_number_exists_in_index = StrongsNumberToLocationLookup.ContainsKey(strongs_number); + if (!strongs_number_exists_in_index) + { + StrongsNumberToLocationNameLookup[strongs_number] = new List(); + StrongsNumberToLocationLookup[strongs_number] = new List(); + } + + // CONVERT THE LOCATION TO JSON FORMAT. + // Since the location data needs to be converted to JSON in different + // scenarios with different properties serialized, there's not an easy + // way to simply mark which fields should/shouldn't be serialized in + // all situations. While a custom JSON converter could be used, + // creating a dynamic object here seemed simpler. In this scenario, + // the Strong's number doesn't need to be included in the member data + // since it already serves as the key in the lookup. + dynamic converted_location = new + { + name = location.Name, + lat = location.Latitude, + lon = location.Longitude, + vss = location.VerseReferenceStrings + }; + + // INDEX THE LOCATION BY STRONG'S NUMBER. + // Indices with just the location name and full location data are maintained. + StrongsNumberToLocationNameLookup[strongs_number].Add(location.Name); + StrongsNumberToLocationLookup[strongs_number].Add(converted_location); + } + } + } + } +} diff --git a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationReference.cs b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationReference.cs index b0a4b222..2932783a 100644 --- a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationReference.cs +++ b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleLocationReference.cs @@ -6,35 +6,27 @@ namespace DynamicBibleUtility.Geolocation { /// /// A location mentioned in the Bible, with geographic coordinates and verse references. - /// - /// Attributes are used to control serialization to minimize the amount of JSON that - /// gets serialized. /// public class BibleLocationReference { - /// - /// The name of the location. - /// Ignored for serialization since the name is more useful separately - /// as a key for a property in a JavaScript object, rather than - /// being duplicated again in the serialized data. - /// - [JsonIgnore] + /// The name of the location. public string Name = ""; + /// + /// Any Strong's numbers for the location name, if available. + /// Includes an 'H' prefix for Hebrew and a 'G' prefix for Greek before the actual numbers. + /// + public IEnumerable StrongsNumbers = new List(); /// The latitude of the location, if available. - [JsonProperty("lat")] public double? Latitude = null; /// The longitude of the location, if available. - [JsonProperty("lon")] public double? Longitude = null; /// References to verses that mention the location. - [JsonIgnore] public IEnumerable VerseReferences = new List(); /// /// Gets references to verses that mention the location, in their short string form /// as used by the Dynamic Bible app. /// - [JsonProperty("vss")] public IEnumerable VerseReferenceStrings { get @@ -46,9 +38,7 @@ namespace DynamicBibleUtility.Geolocation /// /// True if this location information has full geographic coordinates; false otherwise. - /// Marked such that it doesn't get serialized to JSON. /// - [JsonIgnore] public bool HasGeographicCoordinates { get diff --git a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleVerseReference.cs b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleVerseReference.cs index 2e8f0a9e..2ddcbe9a 100644 --- a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleVerseReference.cs +++ b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/BibleVerseReference.cs @@ -1,5 +1,4 @@ using System; -using Newtonsoft.Json; namespace DynamicBibleUtility.Geolocation { diff --git a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/LocationNameToStrongsNumberLookup.cs b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/LocationNameToStrongsNumberLookup.cs new file mode 100644 index 00000000..a31b545d --- /dev/null +++ b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/LocationNameToStrongsNumberLookup.cs @@ -0,0 +1,1346 @@ +using System.Collections.Generic; + +namespace DynamicBibleUtility.Geolocation +{ + /// + /// A lookup of normalized location names (as returned by the ) + /// to Strong's numbers that correspond to the location name. + /// + /// An attempt was made to auto-generate the Strong's numbers that correspond to those location names. + /// However, due to different translations for location names along with issues normalizing the + /// Hebrew/Greek names of locations, fully auto-generating this lookup from existing data wasn't + /// the quickest approach to create this data. Therefore, a combination of the following techniques + /// were used in order to create this lookup of static data (which seemed simpler than trying to + /// write robust code to try and auto-generate the full thing reliably): + /// - Auto-generating Strong's numbers (worked for about half of the locations) based on existing + /// JSON/XML files within this utility project. + /// - Manually looking up verses from the file parsed by the + /// and seeing the Strong's numbers used for words for remaining locations that were missing + /// Strong's numbers. + /// + /// Note that as of this time, the data in this lookup may not be 100% accurate, so adjustments may + /// be needed over time to improve accuracy (and it may make sense to remove/tweak some data in this + /// lookup). In particular, the following issues are known: + /// - There are some locations without any known Strong's numbers. + /// - Some locations may not include all Strong's numbers. + /// - Some locations are composed of multiple words, and there may not be a single Strong's number + /// for the entire location name (an attempt was made to include all possible Strong's numbers). + /// - Some locations may not be worth considering as actual locations for the Dynamic Bible app. + /// - There is some uncertainty about where some locations with similar names are 1 location + /// or multiple locations. This can possibly be corrected some in this lookup, but there + /// may be some locations where there is legitimate debate about whether some locations are + /// the same place or not. + /// + public class LocationNameToStrongsNumberLookup + { + #region Static Member Variables + /// + /// The internal lookup of normalized location names to Strong's numbers. + /// + private static readonly IDictionary NormalizedNameToStrongsNumbers = new Dictionary() + { + { "abana", new string[] { "H71" } }, + { "abarim", new string[] { "H5682" } }, + { "abdon", new string[] { "H5658" } }, + { "abel", new string[] { "G6","H57","H58","H59","H1893" } }, + { "abel-beth-maacah", new string[] { "H62" } }, + { "abel-keramim", new string[] { "H64" } }, + { "abel-maim", new string[] { "H66" } }, + { "abel-meholah", new string[] { "H65" } }, + { "abel-mizraim", new string[] { "H67" } }, + { "abel-shittim", new string[] { "H63" } }, + { "abiezer", new string[] { "H44" } }, + { "abilene", new string[] { "G9" } }, + { "abronah", new string[] { "H5684" } }, + { "accad", new string[] { "H390" } }, + { "acco", new string[] { "H5910" } }, + { "achaia", new string[] { "G882" } }, + { "achshaph", new string[] { "H407" } }, + { "achzib 1", new string[] { "H392" } }, + { "achzib 2", new string[] { "H392" } }, + { "adadah", new string[] { "H5735" } }, + { "adam", new string[] { "G76","H119","H120","H121" } }, + { "adamah", new string[] { "H127","H128" } }, + { "adami-nekeb", new string[] { "H129", "H5346" } }, + { "addar", new string[] { "H146" } }, + { "addon", new string[] { "H114" } }, + { "adithaim", new string[] { "H5723" } }, + { "admah", new string[] { "H126" } }, + { "adoraim", new string[] { "H115" } }, + { "adramyttium", new string[] { "G98" } }, + { "adriatic sea", new string[] { "G99" } }, + { "adullam", new string[] { "H5725" } }, + { "adummim", new string[] { "H131" } }, + { "aenon", new string[] { "G137" } }, + { "ahava", new string[] { "H163" } }, + { "ahlab", new string[] { "H303" } }, + { "ai 1", new string[] { "H5857" } }, + { "ai 2", new string[] { "H5857" } }, + { "aiath", new string[] { "H5857" } }, + { "aija", new string[] { "H5857" } }, + { "aijalon", new string[] { "H357" } }, + { "ain 1", new string[] { "H5871" } }, + { "ain 2", new string[] { "H5871" } }, + { "akeldama", new string[] { "G184" } }, + { "akrabbim", new string[] { "H6137" } }, + { "alemeth", new string[] { "H5964" } }, + { "alexandria", new string[] { "G221" } }, + { "allammelech", new string[] { "H487" } }, + { "allon-bacuth", new string[] { "H439" } }, + { "almon", new string[] { "H489","H5960" } }, + { "almon-diblathaim", new string[] { "H5963" } }, + { "alush", new string[] { "H442" } }, + { "amad", new string[] { "H5975","H5976","H6008" } }, + { "amalek", new string[] { "H6002" } }, + { "amam", new string[] { "H538","H6004" } }, + { "amana", new string[] { "H549" } }, + { "amaw", new string[] { "H5971" } }, + { "ammah", new string[] { "H520","H521","H522" } }, + { "ammon", new string[] { "H5983" } }, + { "amphipolis", new string[] { "G295" } }, + { "anab", new string[] { "H6024" } }, + { "anaharath", new string[] { "H588" } }, + { "ananiah", new string[] { "H6055" } }, + { "anathoth", new string[] { "H6068" } }, + { "anem", new string[] { "H6046" } }, + { "aner", new string[] { "G435","H6063" } }, + { "angle", new string[] { "H4740" } }, + { "anim", new string[] { "H6044" } }, + { "antioch 1", new string[] { "G490", "G491" } }, + { "antioch 2", new string[] { "G490" } }, + { "antipatris", new string[] { "G494" } }, + { "aphek 1", new string[] { "H663" } }, + { "aphek 2", new string[] { "H663" } }, + { "aphek 3", new string[] { "H663" } }, + { "aphekah", new string[] { "H664" } }, + { "aphik", new string[] { "H663" } }, + { "apollonia", new string[] { "G624" } }, + { "ar", new string[] { "H6144","H6145","H6146" } }, + { "arab", new string[] { "H693","H694","H6148","H6150","H6151","H6155" } }, + { "arabah", new string[] { "H6160" } }, + { "arabia", new string[] { "G688","H6152" } }, + { "arad", new string[] { "H6166","H6167" } }, + { "aram", new string[] { "G689","H6191","H6192","H758" } }, + { "aram-maacah", new string[] { "H758" } }, + { "aram-naharaim", new string[] { "H763" } }, + { "aram-zobah", new string[] { "H760" } }, + { "ararat", new string[] { "H780" } }, + { "areopagus", new string[] { "G697" } }, + { "argob", new string[] { "H709" } }, + { "ariel", new string[] { "H740" } }, + { "arimathea", new string[] { "G707" } }, + { "armageddon", new string[] { "G717" } }, + { "arnon", new string[] { "H769" } }, + { "aroer 1", new string[] { "H6177" } }, + { "aroer 2", new string[] { "H6177" } }, + { "aroer 3", new string[] { "H6177" } }, + { "arpad", new string[] { "H774" } }, + { "arubboth", new string[] { "H700" } }, + { "arumah", new string[] { "H725" } }, + { "arvad", new string[] { "H719" } }, + { "ashan", new string[] { "H6225","H6227","H6228" } }, + { "ashdod", new string[] { "H795" } }, + { "ashdod's", new string[] { "H795" } }, + { "ashkelon", new string[] { "H831", "H832" } }, + { "ashkenaz", new string[] { "H813" } }, + { "ashnah", new string[] { "H823" } }, + { "ashtaroth", new string[] { "H6252" } }, + { "ashteroth-karnaim", new string[] { "H6255" } }, + { "asia", new string[] { "G773" } }, + { "asshur", new string[] { "H804" } }, + { "assos", new string[] { "G789" } }, + { "assyria", new string[] { "H804" } }, + { "atad", new string[] { "H329" } }, + { "ataroth 1", new string[] { "H5852" } }, + { "ataroth 2", new string[] { "H5852" } }, + { "ataroth-addar", new string[] { "H5853" } }, + { "athach", new string[] { "H6269" } }, + { "atharim", new string[] { "H871" } }, + { "athens", new string[] { "G116", "G117" } }, + { "atroth-shophan", new string[] { "H5852" } }, + { "attalia", new string[] { "G825" } }, + { "aven", new string[] { "H205","H206" } }, + { "avith", new string[] { "H5762" } }, + { "avva", new string[] { "H5755" } }, + { "avvim", new string[] { "H5761" } }, + { "ayyah", new string[] { "H5857" } }, + { "azal", new string[] { "H235","H236" } }, + { "azazel", new string[] { "H5799" } }, + { "azekah", new string[] { "H5825" } }, + { "azmaveth", new string[] { "H5820" } }, + { "azmon", new string[] { "H6111" } }, + { "aznoth-tabor", new string[] { "H243" } }, + { "azotus", new string[] { "G108" } }, + { "baal", new string[] { "G896","H1166","H1167","H1168" } }, + { "baalah 1", new string[] { "H1173" } }, + { "baalah 2", new string[] { "H1173" } }, + { "baalath 1", new string[] { "H1191" } }, + { "baalath 2", new string[] { "H1191" } }, + { "baalath-beer", new string[] { "H1192" } }, + { "baale-judah", new string[] { "H1184" } }, + { "baal-gad", new string[] { "H1171" } }, + { "baal-hamon", new string[] { "H1174" } }, + { "baal-hazor", new string[] { "H1178" } }, + { "baal-hermon", new string[] { "H1179" } }, + { "baal-meon", new string[] { "H1186" } }, + { "baal-peor", new string[] { "H1187" } }, + { "baal-perazim", new string[] { "H1188" } }, + { "baal-shalishah", new string[] { "H1190" } }, + { "baal-tamar", new string[] { "H1193" } }, + { "baal-zephon", new string[] { "H1189" } }, + { "babel", new string[] { "H894","H895" } }, + { "babylon", new string[] { "H895" } }, + { "babylonia", new string[] { "H896" } }, + { "baharum", new string[] { "H978" } }, + { "bahurim", new string[] { "H980" } }, + { "balah", new string[] { "H1086","H1088","H1089" } }, + { "bamah", new string[] { "H1116","H1117" } }, + { "bamoth", new string[] { "H1120" } }, + { "bamoth-baal", new string[] { "H1120", "H1168" } }, + { "bashan", new string[] { "H1316" } }, + { "bath-rabbim", new string[] { "H1337" } }, + { "bealoth", new string[] { "H1175" } }, + { "beautiful gate", new string[] { "G2374", "G4439", "G5611" } }, + { "beer", new string[] { "H875","H876" } }, + { "beer 2", new string[] { "H876" } }, + { "beer-elim", new string[] { "H879" } }, + { "beer-lahai-roi", new string[] { "H883" } }, + { "beeroth", new string[] { "H881" } }, + { "beeroth bene-jaakan", new string[] { "H885" } }, + { "beersheba", new string[] { "H884" } }, + { "beeshterah", new string[] { "H1203" } }, + { "bela", new string[] { "H1080","H1105","H1106" } }, + { "bene-berak", new string[] { "H1139" } }, + { "bene-jaakan", new string[] { "H1142" } }, + { "benjamin gate", new string[] { "H1144", "H8179" } }, + { "beon", new string[] { "H1194" } }, + { "berea", new string[] { "G960" } }, + { "bered", new string[] { "H1260" } }, + { "berothah", new string[] { "H1268" } }, + { "berothai", new string[] { "H1307" } }, + { "besor", new string[] { "H1308" } }, + { "betah", new string[] { "H984" } }, + { "beten", new string[] { "H990","H991" } }, + { "beth-anath", new string[] { "H1043" } }, + { "beth-anoth", new string[] { "H1042" } }, + { "bethany 1", new string[] { "G963" } }, + { "bethany 2", new string[] { "G962" } }, + { "beth-arabah", new string[] { "H1026" } }, + { "beth-arbel", new string[] { "H1009" } }, + { "beth-ashbea", new string[] { "H791", "H1004" } }, + { "beth-aven", new string[] { "H1007" } }, + { "beth-azmaveth", new string[] { "H1041" } }, + { "beth-baal-meon", new string[] { "H1010" } }, + { "beth-barah", new string[] { "H1012" } }, + { "beth-biri", new string[] { "H1011" } }, + { "beth-car", new string[] { "H1033" } }, + { "beth-dagon 1", new string[] { "H1016" } }, + { "beth-dagon 2", new string[] { "H1016" } }, + { "beth-diblathaim", new string[] { "H1015" } }, + { "beth-eden", new string[] { "H1040" } }, + { "beth-eked", new string[] { "H1044" } }, + { "bethel 1", new string[] { "H1008" } }, + { "bethel 2", new string[] { "H1008" } }, + { "beth-emek", new string[] { "H1025" } }, + { "bethesda", new string[] { "G964" } }, + { "beth-ezel", new string[] { "H1018" } }, + { "beth-gamul", new string[] { "H1014" } }, + { "beth-gilgal", new string[] { "H1019" } }, + { "beth-haccherem", new string[] { "H1021" } }, + { "beth-haggan", new string[] { "H4023" } }, + { "beth-haram", new string[] { "H1027" } }, + { "beth-haran", new string[] { "H1028" } }, + { "beth-hoglah", new string[] { "H1031" } }, + { "beth-horon", new string[] { "H1032" } }, + { "beth-jeshimoth", new string[] { "H1020" } }, + { "beth-le-aphrah", new string[] { "H1036" } }, + { "beth-lebaoth", new string[] { "H1034" } }, + { "bethlehem 1", new string[] { "G965", "H1035" } }, + { "bethlehem 2", new string[] { "H1035" } }, + { "bethlehem ephrathah", new string[] { "H672", "H1035" } }, + { "beth-maacah", new string[] { "H1038" } }, + { "beth-marcaboth", new string[] { "H1024" } }, + { "beth-meon", new string[] { "H1010" } }, + { "beth-millo", new string[] { "H1037" } }, + { "beth-nimrah", new string[] { "H1039" } }, + { "beth-pazzez", new string[] { "H1048" } }, + { "beth-pelet", new string[] { "H1046" } }, + { "beth-peor", new string[] { "H1047" } }, + { "bethphage", new string[] { "G967" } }, + { "beth-rehob", new string[] { "H1050" } }, + { "bethsaida", new string[] { "G966" } }, + { "beth-shan", new string[] { "H1052" } }, + { "beth-shean", new string[] { "H1052" } }, + { "beth-shemesh 1", new string[] { "H1053" } }, + { "beth-shemesh 2", new string[] { "H1053" } }, + { "beth-shemesh 3", new string[] { "H1053" } }, + { "beth-shittah", new string[] { "H1029" } }, + { "beth-tappuah", new string[] { "H1054" } }, + { "beth-togarmah", new string[] { "H1004", "H8425" } }, + { "bethuel", new string[] { "H1328","H1329" } }, + { "bethul", new string[] { "H1329" } }, + { "beth-zur", new string[] { "H1049" } }, + { "betonim", new string[] { "H993" } }, + { "beyond the river", new string[] { "H5103", "H5675" } }, + { "bezek 1", new string[] { "H966" } }, + { "bezek 2", new string[] { "H966" } }, + { "bezer", new string[] { "H1221" } }, + { "bileam", new string[] { "H1109" } }, + { "bilhah", new string[] { "H1090" } }, + { "bithynia", new string[] { "G978" } }, + { "biziothiah", new string[] { "H964" } }, + { "bochim", new string[] { "H1066" } }, + { "bor-ashan", new string[] { "H953" } }, + { "bozez", new string[] { "H949" } }, + { "bozkath", new string[] { "H1218" } }, + { "bozrah 1", new string[] { "H1244" } }, + { "bozrah 2", new string[] { "H1224" } }, + { "broad wall", new string[] { "H2346", "H7342" } }, + { "brook of egypt", new string[] { "H4714", "H5158" } }, + { "brook of the arabah", new string[] { "H5158", "H6160" } }, + { "brook of the willows", new string[] { "H5158", "H6155" } }, + { "buz", new string[] { "H936","H937","H938" } }, + { "cabbon", new string[] { "H3522" } }, + { "cabul 1", new string[] { "H3521" } }, + { "cabul 2", new string[] { "H3521" } }, + { "caesarea", new string[] { "G2542" } }, + { "caesarea philippi", new string[] { "G2542", "G5376" } }, + { "calah", new string[] { "H3625" } }, + { "calneh", new string[] { "H3641" } }, + { "calno", new string[] { "H3641" } }, + { "cana", new string[] { "G2580" } }, + { "canaan", new string[] { "G5477", "H3667" } }, + { "canneh", new string[] { "H3656" } }, + { "capernaum", new string[] { "G2584" } }, + { "caphtor", new string[] { "H3731" } }, + { "cappadocia", new string[] { "G2587" } }, + { "carchemish", new string[] { "H3751" } }, + { "carmel", new string[] { "H3760" } }, + { "casiphia", new string[] { "H3703" } }, + { "cauda", new string[] { "G2802" } }, + { "cenchreae", new string[] { "G2747" } }, + { "chaldea", new string[] { "H3778" } }, + { "chebar", new string[] { "H3529" } }, + { "chephar-ammoni", new string[] { "H3726" } }, + { "chephirah", new string[] { "H3716" } }, + { "cherith", new string[] { "H3747" } }, + { "cherub", new string[] { "H3743" } }, + { "chesalon", new string[] { "H3693" } }, + { "chesil", new string[] { "H3686" } }, + { "chesulloth", new string[] { "H3694" } }, + { "chezib", new string[] { "H3580" } }, + { "chilmad", new string[] { "H3638" } }, + { "chinnereth 1", new string[] { "H3672" } }, + { "chinnereth 2", new string[] { "H3672" } }, + { "chinneroth", new string[] { "H3672" } }, + { "chios", new string[] { "G5508" } }, + { "chisloth-tabor", new string[] { "H3696" } }, + { "chitlish", new string[] { "H3798" } }, + { "chorazin", new string[] { "G5523" } }, + { "cilicia", new string[] { "G2791" } }, + { "city of destruction", new string[] { "H2041", "H5892" } }, + { "city of salt", new string[] { "H5892", "H5898" } }, + { "city of the lord", new string[] { "H5892", "H3068" } }, + { "cnidus", new string[] { "G2834" } }, + { "colossae", new string[] { "G2857" } }, + { "corinth", new string[] { "G2882" } }, + { "corner gate", new string[] { "H6434", "H6438", "H8179" } }, + { "cos", new string[] { "G2972" } }, + { "cozeba", new string[] { "H3578" } }, + { "crete", new string[] { "G2914" } }, + { "cun", new string[] { "H3560" } }, + { "cush", new string[] { "H3568" } }, + { "cushan", new string[] { "H3572" } }, + { "cuth", new string[] { "H3575" } }, + { "cuthah", new string[] { "H3575" } }, + { "cyprus", new string[] { "G2954" } }, + { "cyrene", new string[] { "G2957" } }, + { "dabbesheth", new string[] { "H1707","H1708" } }, + { "daberath", new string[] { "H1705" } }, + { "dalmanutha", new string[] { "G1148" } }, + { "dalmatia", new string[] { "G1149" } }, + { "damascus", new string[] { "H1834","G1154" } }, + { "dan", new string[] { "H1835" } }, + { "dannah", new string[] { "H1837" } }, + { "debir 1", new string[] { "H1688" } }, + { "debir 2", new string[] { "H1688" } }, + { "debir 3", new string[] { "H1688" } }, + { "decapolis", new string[] { "G1179" } }, + { "dedan", new string[] { "H1719" } }, + { "derbe", new string[] { "G1191" } }, + { "dibon 1", new string[] { "H1769" } }, + { "dibon 2", new string[] { "H1769" } }, + { "dibon-gad", new string[] { "H1769" } }, + { "dilean", new string[] { "H1810" } }, + { "dimnah", new string[] { "H1829" } }, + { "dimonah", new string[] { "H1776" } }, + { "dinhabah", new string[] { "H1838" } }, + { "diviners' oak", new string[] { "H436", "H6049" } }, + { "dizahab", new string[] { "H1774" } }, + { "dophkah", new string[] { "H1850" } }, + { "dor", new string[] { "H1756" } }, + { "dothan", new string[] { "H1886" } }, + { "dragon spring", new string[] { "H5886" } }, + { "dumah 1", new string[] { "H1746" } }, + { "dumah 2", new string[] { "H1746" } }, + { "dung gate", new string[] { "H830", "H8179" } }, + { "dura", new string[] { "H1757" } }, + { "east", new string[] { "H2777","H6930" } }, + { "east gate", new string[] { "H4217", "H8179" } }, + { "ebenezer", new string[] { "H72" } }, + { "ebez", new string[] { "H77" } }, + { "ebron", new string[] { "H5683" } }, + { "ecbatana", new string[] { "H307" } }, + { "eden", new string[] { "H134","H5729","H5731" } }, + { "eder 1", new string[] { "H4029" } }, + { "eder 2", new string[] { "H5740" } }, + { "edom", new string[] { "H123" } }, + { "edrei", new string[] { "H154" } }, + { "eglaim", new string[] { "H97" } }, + { "eglath-shelishiyah", new string[] { "H5700" } }, + { "eglon", new string[] { "H5700" } }, + { "egypt", new string[] { "G125" } }, + { "egypt's", new string[] { "G125" } }, + { "ekron", new string[] { "H6138" } }, + { "elam", new string[] { "H5867" } }, + { "elath", new string[] { "H365" } }, + { "el-bethel", new string[] { "H416" } }, + { "elealeh", new string[] { "H500" } }, + { "elim", new string[] { "H362" } }, + { "elishah", new string[] { "H473" } }, + { "elkosh", new string[] { "H512" } }, + { "ellasar", new string[] { "H495" } }, + { "elon", new string[] { "H436","H356" } }, + { "elonbeth-hanan", new string[] { "H358" } }, + { "eloth", new string[] { "H359" } }, + { "el-paran", new string[] { "H364" } }, + { "elteke", new string[] { "H514" } }, + { "eltekeh", new string[] { "H514" } }, + { "eltekon", new string[] { "H515" } }, + { "eltolad", new string[] { "H513" } }, + { "emek-keziz", new string[] { "H6010", "H7104" } }, + { "emmaus", new string[] { "G1695" } }, + { "enaim", new string[] { "H5879" } }, + { "enam", new string[] { "H5879" } }, + { "en-dor", new string[] { "H5874" } }, + { "eneglaim", new string[] { "H5882" } }, + { "en-gannim 1", new string[] { "H5873" } }, + { "en-gannim 2", new string[] { "H5873" } }, + { "engedi", new string[] { "H5872" } }, + { "en-haddah", new string[] { "H5876" } }, + { "en-hakkore", new string[] { "H5875" } }, + { "en-hazor", new string[] { "H5877" } }, + { "en-mishpat", new string[] { "H5880" } }, + { "en-rimmon", new string[] { "H5884" } }, + { "en-rogel", new string[] { "H5883" } }, + { "en-shemesh", new string[] { "H5885" } }, + { "en-tappuah", new string[] { "H5887" } }, + { "ephah", new string[] { "H5891" } }, + { "ephes-dammim", new string[] { "H658" } }, + { "ephesus", new string[] { "G2181" } }, + { "ephraim", new string[] { "G2187" } }, + { "ephraim gate", new string[] { "H669", "H8179" } }, + { "ephrath", new string[] { "H672" } }, + { "ephrathah", new string[] { "H672" } }, + { "ephron 1", new string[] { } }, + { "ephron 2", new string[] { "H6085" } }, + { "erech", new string[] { "H751" } }, + { "esau", new string[] { "H6215","G2269" } }, + { "esek", new string[] { "H6230" } }, + { "eshan", new string[] { "H824" } }, + { "eshtaol", new string[] { "H847" } }, + { "eshtemoa", new string[] { "H851" } }, + { "eshtemoh", new string[] { "H851" } }, + { "etam 1", new string[] { "H5862" } }, + { "etam 2", new string[] { "H5862" } }, + { "etam 3", new string[] { "H5862" } }, + { "etham", new string[] { "H864" } }, + { "ether", new string[] { "H6281" } }, + { "ethiopia", new string[] { "H3568" } }, + { "eth-kazin", new string[] { "H6278" } }, + { "euphrates", new string[] { "G2166","H6578" } }, + { "ezem", new string[] { "H6107" } }, + { "ezion-geber", new string[] { "H6100" } }, + { "fair havens", new string[] { "G2568" } }, + { "field of blood", new string[] { "G68", "G129" } }, + { "fish gate", new string[] { "G129", "G5564" } }, + { "forum of appius", new string[] { "G675", "G5410" } }, + { "fountain gate", new string[] { "H5869", "H8179" } }, + { "gaash", new string[] { "H1607","H1608" } }, + { "gabbatha", new string[] { "G1042" } }, + { "galatia", new string[] { "G1053" } }, + { "galeed", new string[] { "H1567" } }, + { "galilee", new string[] { "H1551","G1056" } }, + { "gallim", new string[] { "H1554" } }, + { "gamad", new string[] { "H1575" } }, + { "gareb", new string[] { "H1619" } }, + { "gate of benjamin", new string[] { "H1144", "H8179" } }, + { "gate of ephraim", new string[] { "H669", "H8179" } }, + { "gate of yeshanah", new string[] { "H3465", "H8179" } }, + { "gate of the foundation", new string[] { "H3247", "H8179" } }, + { "gate of the guard", new string[] { "H4307", "H8179" } }, + { "gath", new string[] { "H1660","H1661" } }, + { "gath-hepher", new string[] { "H1662" } }, + { "gath-rimmon 1", new string[] { "H1667" } }, + { "gath-rimmon 2", new string[] { "H1667" } }, + { "gaza", new string[] { "G1047","G1048" } }, + { "geba 1", new string[] { "H1387" } }, + { "geba 2", new string[] { "H1387" } }, + { "gebal", new string[] { "H1380","H1381" } }, + { "gebim", new string[] { "H1374" } }, + { "geder", new string[] { "H1444","H1445" } }, + { "gederah", new string[] { "H1448","H1449" } }, + { "gederoth", new string[] { "H1450" } }, + { "gederothaim", new string[] { "H1453" } }, + { "gedor 1", new string[] { "H1446" } }, + { "gedor 2", new string[] { "H1446" } }, + { "geliloth", new string[] { "H1553" } }, + { "gennesaret", new string[] { "G1082" } }, + { "gerar", new string[] { "H1642" } }, + { "geruth chimham", new string[] { "H1628", "H3643" } }, + { "geshur", new string[] { "H1650" } }, + { "gethsemane", new string[] { "G1068" } }, + { "gezer", new string[] { "H1506","H1507" } }, + { "giah", new string[] { "H1520" } }, + { "gibbethon", new string[] { "H1405" } }, + { "gibeah 1", new string[] { "H1390", "H1394" } }, + { "gibeah 2", new string[] { "H1390" } }, + { "gibeath-elohim", new string[] { "H430", "H1389" } }, + { "gibeath-haaraloth", new string[] { "H1389" } }, + { "gibeon", new string[] { "H1391" } }, + { "gidom", new string[] { "H1440" } }, + { "gihon 1", new string[] { "H1521" } }, + { "gihon 2", new string[] { "H1521" } }, + { "gilboa", new string[] { "H1533" } }, + { "gilead", new string[] { "H1568" } }, + { "gilgal 1", new string[] { "H1537" } }, + { "gilgal 2", new string[] { "H1537" } }, + { "gilo", new string[] { "H1526" } }, + { "giloh", new string[] { "H1542" } }, + { "gimzo", new string[] { "H1579" } }, + { "gittaim", new string[] { "H1664" } }, + { "goah", new string[] { "H1601" } }, + { "gob", new string[] { "H1358","H1462","H1359" } }, + { "gog", new string[] { "G1136","H1463" } }, + { "goiim", new string[] { "H1472" } }, + { "golan", new string[] { "H1474" } }, + { "golgotha", new string[] { "G1115" } }, + { "gomer", new string[] { "H1586" } }, + { "gomorrah", new string[] { "H6017" } }, + { "goshen 1", new string[] { "H1657" } }, + { "goshen 2", new string[] { "H1657" } }, + { "gozan", new string[] { "H1470" } }, + { "great sea", new string[] { "H1419", "H3220" } }, + { "great sidon", new string[] { "H6721", "H7227" } }, + { "greece", new string[] { "G1671" } }, + { "gudgodah", new string[] { "H1412" } }, + { "gur", new string[] { "H1481","H1483" } }, + { "gurbaal", new string[] { "H1485" } }, + { "habor", new string[] { "H2249" } }, + { "hachilah", new string[] { "H2444" } }, + { "hadad-rimmon", new string[] { "H1910" } }, + { "hadashah", new string[] { "H2322" } }, + { "hadid", new string[] { "H2307" } }, + { "hadrach", new string[] { "H2317" } }, + { "haeleph", new string[] { "H507" } }, + { "hahiroth", new string[] { "H6367" } }, + { "hakkephirim", new string[] { "H3716" } }, + { "halah", new string[] { "H2477" } }, + { "halhul", new string[] { "H2478" } }, + { "hali", new string[] { "H2482" } }, + { "hall of judgment", new string[] { "H197", "H4941" } }, + { "hall of pillars", new string[] { "H197", "H5982" } }, + { "hall of the throne", new string[] { "H197", "H3678" } }, + { "ham 1", new string[] { "H1990" } }, + { "ham 2", new string[] { "H2526" } }, + { "hamath", new string[] { "H2574" } }, + { "hamath-zobah", new string[] { "H2578" } }, + { "hammath", new string[] { "H2575" } }, + { "hammon", new string[] { "H2540" } }, + { "hammoth-dor", new string[] { "H2576" } }, + { "hamonah", new string[] { "H1997" } }, + { "hanes", new string[] { "H2609" } }, + { "hannathon", new string[] { "H2615" } }, + { "hapharaim", new string[] { "H2663" } }, + { "hara", new string[] { "H2024" } }, + { "haradah", new string[] { "H2732" } }, + { "haran", new string[] { "H2039","H2771" } }, + { "harmon", new string[] { "H2038" } }, + { "harod", new string[] { "H2033", "H2733", "H5878" } }, + { "harosheth-hagoyim", new string[] { "H2800" } }, + { "hashmonah", new string[] { "H2832" } }, + { "hauran", new string[] { "H2362" } }, + { "havilah 1", new string[] { "H2341" } }, + { "havilah 2", new string[] { "H2341" } }, + { "havvoth-jair", new string[] { "H2334" } }, + { "hazar-addar", new string[] { "H2692" } }, + { "hazar-enan", new string[] { "H2704" } }, + { "hazar-gaddah", new string[] { "H2693" } }, + { "hazar-shual", new string[] { "H2705" } }, + { "hazar-susah", new string[] { "H2701" } }, + { "hazar-susim", new string[] { "H2702" } }, + { "hazazon-tamar", new string[] { "H2688" } }, + { "hazer-hatticon", new string[] { "H2694" } }, + { "hazeroth", new string[] { "H2698" } }, + { "hazor 1", new string[] { "H2674" } }, + { "hazor 2", new string[] { "H2674" } }, + { "hazor 3", new string[] { "H2674" } }, + { "hazor 4", new string[] { "H2674" } }, + { "hazor 5", new string[] { "H2674" } }, + { "hazor-hadattah", new string[] { "H2675" } }, + { "hebron", new string[] { "H2275" } }, + { "helam", new string[] { "H2431" } }, + { "helbah", new string[] { "H2462","H2463" } }, + { "helbon", new string[] { "H2463" } }, + { "helech", new string[] { "H719" } }, + { "heleph", new string[] { "H2501" } }, + { "heliopolis", new string[] { "H1053" } }, + { "helkath", new string[] { "H2520" } }, + { "helkath-hazzurim", new string[] { "H2521" } }, + { "hena", new string[] { "H2012" } }, + { "hepher", new string[] { "H2660" } }, + { "heres", new string[] { "H2041","H2776" } }, + { "hereth", new string[] { "H2802" } }, + { "hermon", new string[] { "H2768" } }, + { "heshbon", new string[] { "H2809" } }, + { "heshmon", new string[] { "H2829" } }, + { "hethlon", new string[] { "H2855" } }, + { "hezron", new string[] { "H2696" } }, + { "hierapolis", new string[] { "G2404" } }, + { "hilen", new string[] { "H2432" } }, + { "hobah", new string[] { "H2327" } }, + { "holon 1", new string[] { "H2473" } }, + { "holon 2", new string[] { "H2473" } }, + { "holy place 1", new string[] { "H6944" } }, + { "holy place 2", new string[] { "H6944", "G40" } }, + { "horeb", new string[] { "H2722" } }, + { "horem", new string[] { "H2765" } }, + { "horesh", new string[] { "H2793" } }, + { "hor-haggidgad", new string[] { "H2735" } }, + { "hormah", new string[] { "H2767" } }, + { "horonaim", new string[] { "H2773" } }, + { "horse gate", new string[] { "H5483", "H8179" } }, + { "hosah", new string[] { "H2621" } }, + { "house of the forest", new string[] { "H1004", "H3293" } }, + { "house of the forest of lebanon", new string[] { "H1004", "H3293", "H3844" } }, + { "hukkok", new string[] { "H2712" } }, + { "hukok", new string[] { "H2712" } }, + { "humtah", new string[] { "H2547" } }, + { "ibleam", new string[] { "H2991" } }, + { "iconium", new string[] { "G2430" } }, + { "idalah", new string[] { "H3030" } }, + { "idumea", new string[] { "G2401" } }, + { "iim", new string[] { "H5864" } }, + { "ijon", new string[] { "H5859" } }, + { "illyricum", new string[] { "G2437" } }, + { "immer", new string[] { "H564" } }, + { "india", new string[] { "H1912" } }, + { "iphtah", new string[] { "H3316" } }, + { "irpeel", new string[] { "H3416" } }, + { "ir-shemesh", new string[] { "H5905" } }, + { "italy", new string[] { "G2482" } }, + { "ithlah", new string[] { "H3494" } }, + { "ithnan", new string[] { "H3497" } }, + { "ituraea", new string[] { "G2484" } }, + { "ivvah", new string[] { "H5755" } }, + { "iye-abarim", new string[] { "H5863" } }, + { "iyim", new string[] { "H5864" } }, + { "jaar", new string[] { "H3293" } }, + { "jabbok", new string[] { "H2999" } }, + { "jabesh", new string[] { "H3003" } }, + { "jabesh-gilead", new string[] { "H3003" } }, + { "jabez", new string[] { "H3258" } }, + { "jabneel 1", new string[] { "H2995" } }, + { "jabneel 2", new string[] { "H2995" } }, + { "jabneh", new string[] { "H2996" } }, + { "jagur", new string[] { "H3017" } }, + { "jahaz", new string[] { "H3096" } }, + { "jahzah", new string[] { "H3096" } }, + { "jair", new string[] { "H2971" } }, + { "janim", new string[] { "H3241" } }, + { "janoah 1", new string[] { "H3239" } }, + { "janoah 2", new string[] { "H3239" } }, + { "japhia", new string[] { "H3309" } }, + { "jarmuth 1", new string[] { "H3412" } }, + { "jarmuth 2", new string[] { "H3412" } }, + { "jattir", new string[] { "H3492" } }, + { "javan", new string[] { "H3120" } }, + { "jazer", new string[] { "H3270" } }, + { "jebus", new string[] { "H2982" } }, + { "jebusite", new string[] { "H2983" } }, + { "jegar-sahadutha", new string[] { "H3026" } }, + { "jehud", new string[] { "H3055" } }, + { "jekabzeel", new string[] { "H3343" } }, + { "jericho", new string[] { "H3405","G2410" } }, + { "jeruel", new string[] { "H3385" } }, + { "jerusalem", new string[] { "H3389","G2419","G2414" } }, + { "jerusalem's", new string[] { "H3389","G2419","G2414" } }, + { "jeshanah", new string[] { "H3466" } }, + { "jeshimon", new string[] { "H3452" } }, + { "jeshua", new string[] { "H3442","H3443" } }, + { "jetur", new string[] { "H3195" } }, + { "jezreel", new string[] { "H3157" } }, + { "jezreel 2", new string[] { "H3157" } }, + { "jezreel 3", new string[] { "H3157" } }, + { "jogbehah", new string[] { "H3011" } }, + { "jokdeam", new string[] { "H3347" } }, + { "jokmeam 1", new string[] { "H3361" } }, + { "jokmeam 2", new string[] { "H3361" } }, + { "jokneam", new string[] { "H3362" } }, + { "joktheel 1", new string[] { "H3371" } }, + { "joktheel 2", new string[] { "H3371" } }, + { "joppa", new string[] { "G2445" } }, + { "jordan", new string[] { "H3383","G2446" } }, + { "jordan valley", new string[] { "H3383", "H3603" } }, + { "jotbah", new string[] { "H3192" } }, + { "jotbathah", new string[] { "H3193" } }, + { "judea", new string[] { "G2449", "H3063" } }, + { "judean", new string[] { "G2449" } }, + { "juttah", new string[] { "H3194" } }, + { "kabzeel", new string[] { "H6909" } }, + { "kadesh 1", new string[] { "H6946" } }, + { "kadesh 2", new string[] { } }, + { "kadesh-barnea", new string[] { "H6947" } }, + { "kain", new string[] { "G2535" } }, + { "kamon", new string[] { "H7056" } }, + { "kanah 1", new string[] { "H7071" } }, + { "kanah 2", new string[] { "H7071" } }, + { "karka", new string[] { "H7173" } }, + { "karkor", new string[] { "H7174" } }, + { "karnaim", new string[] { "H7163" } }, + { "kartah", new string[] { "H7177" } }, + { "kartan", new string[] { "H7178" } }, + { "kattath", new string[] { "H7005" } }, + { "kedar", new string[] { "H6938" } }, + { "kedemoth", new string[] { "H6932" } }, + { "kedesh 1", new string[] { "H6943" } }, + { "kedesh 2", new string[] { "H6943" } }, + { "kedesh 3", new string[] { "H6943" } }, + { "kedesh-naphtali", new string[] { "H6943" } }, + { "kehelathah", new string[] { "H6954" } }, + { "keilah", new string[] { "H7084" } }, + { "kenath", new string[] { "H3674","H3675","H7079" } }, + { "kerioth", new string[] { "H7152" } }, + { "kerioth-hezron", new string[] { "H7152" } }, + { "kibroth-hattaavah", new string[] { "H6914" } }, + { "kibzaim", new string[] { "H6911" } }, + { "kidron", new string[] { "H6939" } }, + { "kidron valley", new string[] { "G2748", "H6939" } }, + { "kinah", new string[] { "H3666","H7016" } }, + { "king's highway", new string[] { "H1870", "H4428" } }, + { "king's pool", new string[] { "H1295", "H4428" } }, + { "king's valley", new string[] { "H4428", "H6010" } }, + { "kir", new string[] { "H7024" } }, + { "kir-hareseth", new string[] { "H7025" } }, + { "kiriathaim 1", new string[] { "H7156" } }, + { "kiriathaim 2", new string[] { "H7156" } }, + { "kiriath-arba", new string[] { "H7153" } }, + { "kiriath-arim", new string[] { "H7157" } }, + { "kiriath-baal", new string[] { "H7154" } }, + { "kiriath-huzoth", new string[] { "H7155" } }, + { "kiriath-jearim", new string[] { "H7157" } }, + { "kiriath-sannah", new string[] { "H7158" } }, + { "kiriath-sepher", new string[] { "H7158" } }, + { "kishion", new string[] { "H7191" } }, + { "kishon", new string[] { "H7028" } }, + { "kitron", new string[] { "H7003" } }, + { "kittim", new string[] { "H3794" } }, + { "koa", new string[] { "H6970" } }, + { "kue", new string[] { "H6961" } }, + { "laban", new string[] { "H3835","H3837" } }, + { "lachish", new string[] { "H3923" } }, + { "lahmam", new string[] { "H3903" } }, + { "laish", new string[] { "H3919" } }, + { "laishah", new string[] { "H3919" } }, + { "lakkum", new string[] { "H3946" } }, + { "laodicea", new string[] { "G2993" } }, + { "lasea", new string[] { "G2996" } }, + { "lasha", new string[] { "H3962" } }, + { "lasharon", new string[] { "H8289" } }, + { "lebanon", new string[] { "H3844" } }, + { "lebaoth", new string[] { "H3822" } }, + { "leb-kamai", new string[] { "H3846" } }, + { "lebo-hamath", new string[] { "H935" } }, + { "lebonah", new string[] { "H3829" } }, + { "lehem", new string[] { "H3433" } }, + { "lehi", new string[] { "H3896" } }, + { "leshem", new string[] { "H3958","H3959" } }, + { "libnah 1", new string[] { "H3841" } }, + { "libnah 2", new string[] { "H3841" } }, + { "libya", new string[] { "G3033" } }, + { "lod", new string[] { "H3850" } }, + { "lo-debar", new string[] { "H3810" } }, + { "lower beth-horon", new string[] { "H1032", "H8481" } }, + { "lower and upper beth-horon", new string[] { "H1032", "H5945", "H8481" } }, + { "lud", new string[] { "H3865" } }, + { "luhith", new string[] { "H3872" } }, + { "luz 1", new string[] { "H3870" } }, + { "luz 2", new string[] { "H3870" } }, + { "lycaonia", new string[] { "G3071" } }, + { "lycia", new string[] { "G3073" } }, + { "lydda", new string[] { "G3069" } }, + { "lystra", new string[] { "G3082" } }, + { "maacah", new string[] { "H4601" } }, + { "maacath", new string[] { "H4601" } }, + { "maarath", new string[] { "H4638" } }, + { "maareh-geba", new string[] { "H4626" } }, + { "macedonia", new string[] { "G3109" } }, + { "machpelah", new string[] { "H4375" } }, + { "madmannah", new string[] { "H4089" } }, + { "madmenah", new string[] { "H4087","H4088" } }, + { "madon", new string[] { "H4066","H4067","H4068" } }, + { "magadan", new string[] { "G3093" } }, + { "magog", new string[] { "G3098","H4031" } }, + { "mahalab", new string[] { } }, + { "mahanaim", new string[] { "H4266" } }, + { "mahaneh-dan", new string[] { "H4265" } }, + { "makaz", new string[] { "H4739" } }, + { "makheloth", new string[] { "H4722" } }, + { "makkedah", new string[] { "H4719" } }, + { "malta", new string[] { "G3194" } }, + { "mamre", new string[] { "H4471" } }, + { "manahath", new string[] { "H4506" } }, + { "maon", new string[] { "H4584" } }, + { "marah", new string[] { "H4759","H4784","H4785" } }, + { "mareal", new string[] { "H4831" } }, + { "mareshah", new string[] { "H4762" } }, + { "maroth", new string[] { "H4796" } }, + { "mashal", new string[] { "H4910","H4911","H4912","H4913" } }, + { "masrekah", new string[] { "H4957" } }, + { "massah", new string[] { "H4531","H4532" } }, + { "mattanah", new string[] { "H4979","H4980" } }, + { "mearah", new string[] { "H4631","H4632" } }, + { "meconah", new string[] { "H4368" } }, + { "medeba", new string[] { "H4311" } }, + { "media", new string[] { "H4074", "H4076" } }, + { "megiddo", new string[] { "H4023" } }, + { "me-jarkon", new string[] { "H4313" } }, + { "memphis", new string[] { "H4644", "H4714" } }, + { "mephaath", new string[] { "H4158" } }, + { "merathaim", new string[] { "H4850" } }, + { "meribah 1", new string[] { "H4809" } }, + { "meribah 2", new string[] { "H4809" } }, + { "meribah-kadesh", new string[] { "H4809" } }, + { "merom", new string[] { "H4792" } }, + { "meroz", new string[] { "H4789" } }, + { "mesha", new string[] { "H4852","H4331","H4337","H4338" } }, + { "meshech", new string[] { "H4902" } }, + { "meshech-tubal", new string[] { "H4902", "H8422" } }, + { "mesopotamia", new string[] { "G3318" } }, + { "metheg-ammah", new string[] { "H4965" } }, + { "michmas", new string[] { "H4363" } }, + { "michmash", new string[] { "H4363" } }, + { "michmethath", new string[] { "H4366" } }, + { "middin", new string[] { "H4081" } }, + { "midian", new string[] { "G3099", "H4080" } }, + { "migdal-el", new string[] { "H4027" } }, + { "migdal-gad", new string[] { "H4028" } }, + { "migdol", new string[] { "H4024" } }, + { "migron", new string[] { "H4051" } }, + { "miletus", new string[] { "G3399" } }, + { "millo", new string[] { "H4407" } }, + { "minni", new string[] { "H4508" } }, + { "minnith", new string[] { "H4511" } }, + { "mishal", new string[] { "H4861" } }, + { "misrephoth-maim", new string[] { "H4956" } }, + { "mithkah", new string[] { "H4989" } }, + { "mitylene", new string[] { "G3412" } }, + { "mizpah 1", new string[] { "H4709" } }, + { "mizpah 2", new string[] { "H4709" } }, + { "mizpah 3", new string[] { "H4709" } }, + { "mizpeh 1", new string[] { "H4708" } }, + { "mizpeh 2", new string[] { "H4708" } }, + { "mizpeh 3", new string[] { "H4708" } }, + { "moab", new string[] { "H4124" } }, + { "moladah", new string[] { "H4137" } }, + { "moreh 1", new string[] { "H4176" } }, + { "moreh 2", new string[] { "H4176" } }, + { "moresheth", new string[] { "H4183" } }, + { "moresheth-gath", new string[] { "H4182" } }, + { "moriah", new string[] { "H4179" } }, + { "mortar", new string[] { "H4085" } }, + { "moserah", new string[] { "H4149" } }, + { "moseroth", new string[] { "H4149" } }, + { "most holy", new string[] { "H6944" } }, + { "most holy place 1", new string[] { "H6944" } }, + { "most holy place 2", new string[] { "G39", "H6944" } }, + { "mount", new string[] { "H4674" } }, + { "mount baal-hermon", new string[] { "H1179", "H2022" } }, + { "mount baalah", new string[] { "H1173", "H2022" } }, + { "mount carmel", new string[] { "H2022", "H3760" } }, + { "mount ebal", new string[] { "H2022", "H5858" } }, + { "mount ephraim", new string[] { "H669", "H2022" } }, + { "mount ephron", new string[] { "H2022", "H6085" } }, + { "mount esau", new string[] { "H2022", "H6215" } }, + { "mount gerizim", new string[] { "H1630", "H2022" } }, + { "mount gilboa", new string[] { "H1533", "H2022" } }, + { "mount gilead", new string[] { "H1568", "H2022" } }, + { "mount halak", new string[] { "H2022", "H2510" } }, + { "mount heres", new string[] { "H2022", "H2776" } }, + { "mount hermon", new string[] { "H2022", "H2768" } }, + { "mount hor 1", new string[] { "H2022", "H2023" } }, + { "mount hor 2", new string[] { "H2022", "H2023" } }, + { "mount horeb", new string[] { "H2022", "H2722" } }, + { "mount jearim", new string[] { "H2022", "H3297" } }, + { "mount lebanon", new string[] { "H2022", "H3844" } }, + { "mount mizar", new string[] { "H2022", "H4706" } }, + { "mount moriah", new string[] { "H2022", "H4179" } }, + { "mount nebo", new string[] { "H2022", "H5015" } }, + { "mount paran", new string[] { "H2022", "H6290" } }, + { "mount perazim", new string[] { "H2022", "H6556" } }, + { "mount seir 1", new string[] { "H2022", "H8165" } }, + { "mount seir 2", new string[] { "H2022", "H8165" } }, + { "mount shepher", new string[] { "H2022", "H8234" } }, + { "mount sinai", new string[] { "G3735", "G4614", "H2022", "H5514" } }, + { "mount sirion", new string[] { "H2022", "H7865" } }, + { "mount tabor", new string[] { "H2022", "H8396" } }, + { "mount zalmon", new string[] { "H2022", "H6756" } }, + { "mount zemaraim", new string[] { "H2022", "H6787" } }, + { "mount zion", new string[] { "G3735", "G4622", "H2022", "H6726" } }, + { "mount of olives", new string[] { "G1636", "G3735", "H2022", "H2132" } }, + { "mozah", new string[] { "H4681" } }, + { "muster gate", new string[] { } }, + { "myra", new string[] { "G3460" } }, + { "mysia", new string[] { "G3465" } }, + { "naamah", new string[] { "H5279" } }, + { "naarah", new string[] { "H5291","H5292" } }, + { "naaran", new string[] { "H5295" } }, + { "nahalal", new string[] { "H5096" } }, + { "nahaliel", new string[] { "H5160" } }, + { "nahalol", new string[] { "H5096" } }, + { "nain", new string[] { "G3484" } }, + { "naioth", new string[] { "H5121" } }, + { "naphath", new string[] { "H5316" } }, + { "naphath-dor", new string[] { "H1756" } }, + { "naphish", new string[] { "H5305" } }, + { "naphoth-dor", new string[] { "H1756" } }, + { "nazareth", new string[] { "G3478" } }, + { "neah", new string[] { "H5269" } }, + { "neapolis", new string[] { "G3496" } }, + { "nebaioth", new string[] { "H5032" } }, + { "neballat", new string[] { "H5041" } }, + { "nebo 1", new string[] { "H5015" } }, + { "nebo 2", new string[] { "H5015" } }, + { "negeb", new string[] { "H5045" } }, + { "nehelam", new string[] { "H5161" } }, + { "neiel", new string[] { "H5272" } }, + { "nephtoah", new string[] { "H5318" } }, + { "netaim", new string[] { "H5196" } }, + { "netophah", new string[] { "H5199" } }, + { "new gate", new string[] { "H2319", "H8179" } }, + { "nezib", new string[] { "H5334" } }, + { "nibshan", new string[] { "H5044" } }, + { "nicopolis", new string[] { "G3533" } }, + { "nile", new string[] { "H2975" } }, + { "nimrah", new string[] { "H5247" } }, + { "nimrim", new string[] { "H5249" } }, + { "nimrod", new string[] { "H5248" } }, + { "nineveh", new string[] { "H5210" } }, + { "nob", new string[] { "H5011" } }, + { "nobah", new string[] { "H5025" } }, + { "nod", new string[] { "H5113" } }, + { "nodab", new string[] { "H5114" } }, + { "nohah", new string[] { "H5119" } }, + { "nophah", new string[] { "H5302" } }, + { "oboth", new string[] { "H88" } }, + { "olivet", new string[] { "G1638" } }, + { "on", new string[] { "H202","H203","H204" } }, + { "ono", new string[] { "H207" } }, + { "ophel", new string[] { "H652","H6076","H6077" } }, + { "ophir", new string[] { "H211" } }, + { "ophni", new string[] { "H6078" } }, + { "ophrah 1", new string[] { "H6084" } }, + { "ophrah 2", new string[] { "H6084" } }, + { "paddan", new string[] { "H6307" } }, + { "paddan-aram", new string[] { "H6307" } }, + { "pai", new string[] { "H6464" } }, + { "pamphylia", new string[] { "G3828" } }, + { "paphos", new string[] { "G3974" } }, + { "parah", new string[] { "H6509","H6510","H6511","H6546" } }, + { "paran", new string[] { "H6290" } }, + { "parvaim", new string[] { "H6516" } }, + { "pas-dammim", new string[] { "H6450" } }, + { "patara", new string[] { "G3959" } }, + { "pathros", new string[] { "H6624" } }, + { "patmos", new string[] { "G3963" } }, + { "pau", new string[] { "H6464" } }, + { "pekod", new string[] { "H6489" } }, + { "pelusium", new string[] { "H5512" } }, + { "peniel", new string[] { "H6439" } }, + { "penuel", new string[] { "H6439" } }, + { "people's gate", new string[] { "H1121", "H8179" } }, + { "peor", new string[] { "H6465" } }, + { "perez-uzza", new string[] { "H6560" } }, + { "perez-uzzah", new string[] { "H6560" } }, + { "perga", new string[] { "G4011" } }, + { "pergamum", new string[] { "G4010" } }, + { "persia", new string[] { "H6539" } }, + { "pethor", new string[] { "H6604" } }, + { "pharpar", new string[] { "H6554" } }, + { "philadelphia", new string[] { "G5360","G5359" } }, + { "philippi", new string[] { "G5375" } }, + { "philistia", new string[] { "H6429", "H6430" } }, + { "phoenicia", new string[] { "G5403" } }, + { "phoenix", new string[] { "G5405" } }, + { "phrygia", new string[] { "G5435" } }, + { "pi-beseth", new string[] { "H6364" } }, + { "pi-hahiroth", new string[] { "H6367" } }, + { "pirathon", new string[] { "H6552" } }, + { "pisgah", new string[] { "H6449" } }, + { "pishon", new string[] { "H6376" } }, + { "pisidia", new string[] { "G4099" } }, + { "pithom", new string[] { "H6619" } }, + { "place of a skull", new string[] { "G2898", "G5117" } }, + { "plain", new string[] { "H1236","G3977" } }, + { "pontus", new string[] { "G4195" } }, + { "pool of shelah", new string[] { "H1295", "H7975" } }, + { "potsherd gate", new string[] { "H2777", "H8179" } }, + { "ptolemais", new string[] { "G4424" } }, + { "pul", new string[] { "H6322" } }, + { "punon", new string[] { "H6325" } }, + { "put", new string[] { "H6316","H1911" } }, + { "puteoli", new string[] { "G4223" } }, + { "raamah", new string[] { "H7484" } }, + { "raamses", new string[] { "H7486" } }, + { "rabbah", new string[] { "H7237" } }, + { "rabbith", new string[] { "H7245" } }, + { "racal", new string[] { "H7403" } }, + { "rahab", new string[] { "H7292","H7293","H7294","H7295","H7343","G4460" } }, + { "rakkath", new string[] { "H7557" } }, + { "rakkon", new string[] { "H7542" } }, + { "ramah 1", new string[] { "G4471", "H7414" } }, + { "ramah 2", new string[] { "H7414" } }, + { "ramah 3", new string[] { "H7414" } }, + { "ramah 4", new string[] { "H7414" } }, + { "ramah 5", new string[] { "H7414" } }, + { "ramathaim-zophim", new string[] { "H7436" } }, + { "ramath-lehi", new string[] { "H7437" } }, + { "ramath-mizpeh", new string[] { "H7434" } }, + { "rameses", new string[] { "H7486" } }, + { "ramoth 1", new string[] { "H7216" } }, + { "ramoth 2", new string[] { "H7418" } }, + { "ramoth 3", new string[] { "H7216" } }, + { "ramoth-gilead", new string[] { "H7433" } }, + { "recah", new string[] { "H7397" } }, + { "red sea", new string[] { "H5489" } }, + { "rehob 1", new string[] { "H7340" } }, + { "rehob 2", new string[] { "H7340" } }, + { "rehob 3", new string[] { "H7340" } }, + { "rehoboth 1", new string[] { "H7344" } }, + { "rehoboth 2", new string[] { "H7344" } }, + { "rehoboth-ir", new string[] { "H7344" } }, + { "rekem", new string[] { "H7552" } }, + { "remeth", new string[] { "H7432" } }, + { "rephaim", new string[] { "H7497" } }, + { "rephidim", new string[] { "H7508" } }, + { "resen", new string[] { "H7448","H7449" } }, + { "rezeph", new string[] { "H7530" } }, + { "rhegium", new string[] { "G4484" } }, + { "rhodes", new string[] { "G4499" } }, + { "riblah 1", new string[] { "H7247" } }, + { "riblah 2", new string[] { "H7247" } }, + { "rimmon 1", new string[] { "H7417" } }, + { "rimmon 2", new string[] { "H7417" } }, + { "rimmon 3", new string[] { "H7417" } }, + { "rimmono", new string[] { "H7417" } }, + { "rimmon-perez", new string[] { "H7428" } }, + { "rissah", new string[] { "H7446" } }, + { "rithmah", new string[] { "H7575" } }, + { "river", new string[] { "H180","H3105" } }, + { "rock of escape", new string[] { "H4256","H5553" } }, + { "rogelim", new string[] { "H7274" } }, + { "rome", new string[] { "G4516" } }, + { "rumah", new string[] { "H7316" } }, + { "sahar", new string[] { "H5469" } }, + { "salamis", new string[] { "G4529" } }, + { "salecah", new string[] { "H5548" } }, + { "salem", new string[] { "G4532","H8004" } }, + { "salim", new string[] { "G4530" } }, + { "salmone", new string[] { "G4534" } }, + { "salt sea", new string[] { "H3220", "H4417" } }, + { "samaria", new string[] { "H8111","H8115","G4540" } }, + { "samaria's", new string[] { "H8111" } }, + { "samos", new string[] { "G4544" } }, + { "samothrace", new string[] { "G4543" } }, + { "sansannah", new string[] { "H5578" } }, + { "sardis", new string[] { "G4554" } }, + { "sarid", new string[] { "H8301" } }, + { "sea of chinnereth", new string[] { "H3220", "H3672" } }, + { "sea of chinneroth", new string[] { "H3220", "H3672" } }, + { "sea of egypt", new string[] { "H3220", "H4714" } }, + { "sea of galilee", new string[] { "G1056", "G2281" } }, + { "sea of jazer", new string[] { "H3220", "H3270" } }, + { "sea of tiberias", new string[] { "G2281", "G5085" } }, + { "sea of the arabah", new string[] { "H3220", "H6160" } }, + { "sea of the philistines", new string[] { "H3220", "H6430" } }, + { "seba", new string[] { "H5434" } }, + { "sebam", new string[] { "H7643" } }, + { "secacah", new string[] { "H5527" } }, + { "second quarter", new string[] { "H4932" } }, + { "secu", new string[] { "H7906" } }, + { "seir", new string[] { "H8165" } }, + { "seirah", new string[] { "H8167" } }, + { "sela", new string[] { "H5553","H5554" } }, + { "seleucia", new string[] { "G4581" } }, + { "seneh", new string[] { "H5572","H5573" } }, + { "senir", new string[] { "H8149" } }, + { "sephar", new string[] { "H5609","H5610","H5611" } }, + { "sepharad", new string[] { "H5614" } }, + { "sepharvaim", new string[] { "H5617" } }, + { "serpent's stone", new string[] { "H68", "H2120" } }, + { "shaalabbin", new string[] { "H8169" } }, + { "shaalbim", new string[] { "H8169" } }, + { "shaalim", new string[] { "H8171" } }, + { "shaaraim 1", new string[] { "H8189" } }, + { "shaaraim 2", new string[] { "H8189" } }, + { "shahazumah", new string[] { "H7831" } }, + { "shalishah", new string[] { "H8031" } }, + { "shallecheth", new string[] { "H7996" } }, + { "shamir 1", new string[] { "H8069" } }, + { "shamir 2", new string[] { "H8069" } }, + { "shaphir", new string[] { "H8208" } }, + { "sharon 1", new string[] { "G4565", "H8289" } }, + { "sharon 2", new string[] { "H8289" } }, + { "sharuhen", new string[] { "H8287" } }, + { "shaveh-kiriathaim", new string[] { "H7741" } }, + { "sheba", new string[] { "H7614","H7652" } }, + { "shebarim", new string[] { "H7671" } }, + { "shechem", new string[] { "H7927","H7928" } }, + { "sheep gate", new string[] { "G4262", "H6629", "H8179" } }, + { "shema", new string[] { "H8086","H8087","H8088","H8090" } }, + { "shen", new string[] { "H8127","H8128","H8129" } }, + { "shepham", new string[] { "H8221" } }, + { "shephelah", new string[] { "H8219" } }, + { "shibah", new string[] { "H7655","H7656" } }, + { "shihor", new string[] { "H7883" } }, + { "shihor-libnath", new string[] { "H7884" } }, + { "shikkeron", new string[] { "H7942" } }, + { "shilhim", new string[] { "H7978" } }, + { "shiloah", new string[] { "H7975" } }, + { "shiloh", new string[] { "H7886","H7887" } }, + { "shimron", new string[] { "H8110" } }, + { "shimron-meron", new string[] { "H8112" } }, + { "shinar", new string[] { "H8152" } }, + { "shion", new string[] { "H7866" } }, + { "shittim", new string[] { "H7851" } }, + { "shoa", new string[] { "H7771","H7772" } }, + { "shual", new string[] { "H7777" } }, + { "shunem", new string[] { "H7766" } }, + { "shur", new string[] { "H7788","H7789","H7790","H7791","H7792","H7793" } }, + { "sibmah", new string[] { "H7643" } }, + { "sibraim", new string[] { "H5453" } }, + { "sidon", new string[] { "G4605" } }, + { "sidon the great", new string[] { "H6721", "H7227" } }, + { "silla", new string[] { "H5538" } }, + { "siloam", new string[] { "G4611" } }, + { "sin", new string[] { "H2408","H5512","G265" } }, + { "sinai", new string[] { "H5514" } }, + { "siphmoth", new string[] { "H8224" } }, + { "sirah", new string[] { "H5626" } }, + { "sirion", new string[] { "H8303" } }, + { "sitnah", new string[] { "H7856" } }, + { "smyrna", new string[] { "G4667" } }, + { "soco", new string[] { "H7755" } }, + { "socoh 1", new string[] { "H7755" } }, + { "socoh 2", new string[] { "H7755" } }, + { "sodom", new string[] { "H5467","G4670" } }, + { "solomon's", new string[] { "G4672" } }, + { "solomon's portico", new string[] { "G4672", "G4745" } }, + { "south", new string[] { "H1864" } }, + { "spain", new string[] { "G4681" } }, + { "straight", new string[] { "G2117" } }, + { "succoth 1", new string[] { "H5523" } }, + { "succoth 2", new string[] { "H5523" } }, + { "suph", new string[] { "H5486","H5487","H5488","H5489" } }, + { "suphah", new string[] { "H5492" } }, + { "sur", new string[] { "H5494","H5495" } }, + { "susa", new string[] { "H7800", "H7801" } }, + { "sychar", new string[] { "G4965" } }, + { "syene", new string[] { "H5482" } }, + { "syracuse", new string[] { "G4946" } }, + { "syria", new string[] { "G4947" } }, + { "syrtis", new string[] { "G4950" } }, + { "taanach", new string[] { "H8590" } }, + { "taanath-shiloh", new string[] { "H8387" } }, + { "tabbath", new string[] { "H2888" } }, + { "taberah", new string[] { "H8404" } }, + { "tabor 1", new string[] { "H8396" } }, + { "tabor 2", new string[] { "H8396" } }, + { "tabor 3", new string[] { "H8396" } }, + { "tadmor", new string[] { "H8412" } }, + { "tahath", new string[] { "H8480" } }, + { "tahpanhes", new string[] { "H8471" } }, + { "tamar 1", new string[] { "H8412" } }, + { "tamar 2", new string[] { "H8559" } }, + { "tappuah 1", new string[] { "H8599" } }, + { "tappuah 2", new string[] { "H8599" } }, + { "taralah", new string[] { "H8634" } }, + { "tarshish", new string[] { "H8659" } }, + { "tarsus", new string[] { "G5019" } }, + { "tehaphnehes", new string[] { "H8471" } }, + { "tekoa", new string[] { "H8620" } }, + { "tel-abib", new string[] { "H8512" } }, + { "telaim", new string[] { "H2923" } }, + { "telassar", new string[] { "H8515" } }, + { "telem", new string[] { "H2928","H8525" } }, + { "tel-harsha", new string[] { "H8521" } }, + { "tel-melah", new string[] { "H8528" } }, + { "tema", new string[] { "H8485" } }, + { "teman", new string[] { "H8487" } }, + { "terah", new string[] { "H8646" } }, + { "the lord is there", new string[] { "H3068", "H8033" } }, + { "the place of a skull", new string[] { "G2898", "G5117" } }, + { "the skull", new string[] { "G2898" } }, + { "the stone pavement", new string[] { "G3038" } }, + { "thebes", new string[] { "H4996" } }, + { "thebez", new string[] { "H8405" } }, + { "thessalonica", new string[] { "G2332" } }, + { "three taverns", new string[] { "G4999", "G5140" } }, + { "thyatira", new string[] { "G2363" } }, + { "tiberias", new string[] { "G5085" } }, + { "tibhath", new string[] { "H2880" } }, + { "tigris", new string[] { "H2313" } }, + { "timnah 1", new string[] { "H8553" } }, + { "timnah 2", new string[] { "H8553" } }, + { "timnath-heres", new string[] { "H8556" } }, + { "timnath-serah", new string[] { "H8556" } }, + { "tiphsah 1", new string[] { "H8607" } }, + { "tiphsah 2", new string[] { "H8607" } }, + { "tirzah", new string[] { "H8645","H8656" } }, + { "tishbe", new string[] { "H8664" } }, + { "tob", new string[] { "H2895","H2896","H2897" } }, + { "tochen", new string[] { "H8507" } }, + { "tolad", new string[] { "H8434" } }, + { "tophel", new string[] { "H8603" } }, + { "topheth", new string[] { "H8611","H8612" } }, + { "tower of hananel", new string[] { "H2606", "H4026" } }, + { "tower of shechem", new string[] { "H4026", "H7927" } }, + { "tower of the hundred", new string[] { "H3968", "H4026" } }, + { "tower of the ovens", new string[] { "H4026", "H8574" } }, + { "trachonitis", new string[] { "G5139" } }, + { "troas", new string[] { "G5174" } }, + { "tubal", new string[] { "H8422" } }, + { "tyre", new string[] { "G5184" } }, + { "ulai", new string[] { "H195" } }, + { "ummah", new string[] { "H523","H524","H5980","H5981" } }, + { "uphaz", new string[] { "H210" } }, + { "upper beth-horon", new string[] { "H1032", "H5945" } }, + { "ur", new string[] { "H217","H218","H5782","H5783","H5784" } }, + { "uz", new string[] { "H5756","H5780" } }, + { "uzal", new string[] { "H187" } }, + { "uzza", new string[] { "H5798" } }, + { "uzzen-sheerah", new string[] { "H242" } }, + { "vale of succoth", new string[] { "H5523", "H6010" } }, + { "valley gate", new string[] { "H1516", "H8179" } }, + { "valley of achor", new string[] { "H5911", "H6010" } }, + { "valley of aijalon", new string[] { "H357", "H6010" } }, + { "valley of aven", new string[] { "H206", "H1237" } }, + { "valley of baca", new string[] { "H1056", "H6010" } }, + { "valley of beracah", new string[] { "H1294", "H6010" } }, + { "valley of elah", new string[] { "H425", "H6010" } }, + { "valley of eshcol", new string[] { "H812", "H5158" } }, + { "valley of gerar", new string[] { "H1642", "H5158" } }, + { "valley of gibeon", new string[] { "H1391","H6010" } }, + { "valley of hamon-gog", new string[] { "H1516", "H1996" } }, + { "valley of hebron", new string[] { "H2275", "H6010" } }, + { "valley of hinnom", new string[] { "H1516", "H2011" } }, + { "valley of iphtahel", new string[] { "H1516", "H3317" } }, + { "valley of jehoshaphat", new string[] { "H3092", "H6010" } }, + { "valley of jericho", new string[] { "H1237", "H3405" } }, + { "valley of jezreel", new string[] { "H3157", "H6010" } }, + { "valley of lebanon", new string[] { "H1237", "H3844" } }, + { "valley of mizpeh", new string[] { "H1237", "H4708" } }, + { "valley of rephaim", new string[] { "H6010", "H7497" } }, + { "valley of salt", new string[] { "H1516", "H4417" } }, + { "valley of shaveh", new string[] { "H6010", "H7740" } }, + { "valley of shittim", new string[] { "H5158", "H7851" } }, + { "valley of siddim", new string[] { "H6010", "H7708" } }, + { "valley of slaughter", new string[] { "H1516", "H2028" } }, + { "valley of sorek", new string[] { "H5158", "H7796" } }, + { "valley of succoth", new string[] { "H5523", "H6010" } }, + { "valley of zeboim", new string[] { "H1516", "H6650" } }, + { "valley of zephathah", new string[] { "H1516", "H6859" } }, + { "valley of zered", new string[] { "H2218", "H5158" } }, + { "valley of the arnon", new string[] { "H769", "H5158" } }, + { "valley of the son of hinnom", new string[] { "H1121", "H1516", "H2011" } }, + { "valley of the travelers", new string[] { "H1516", "H5674" } }, + { "waheb", new string[] { "H2052" } }, + { "washer's field", new string[] { "H3526", "H7704" } }, + { "water gate", new string[] { "H4325", "H8179" } }, + { "way of holiness", new string[] { "H1870", "H6944" } }, + { "wildgoats' rocks", new string[] { "H3277", "H6697" } }, + { "yiron", new string[] { "H3375" } }, + { "zaanan", new string[] { "H6630" } }, + { "zaanannim", new string[] { "H6815" } }, + { "zair", new string[] { "H6811" } }, + { "zalmon", new string[] { "H6756" } }, + { "zalmonah", new string[] { "H6758" } }, + { "zanoah 1", new string[] { "H2182" } }, + { "zanoah 2", new string[] { "H2182" } }, + { "zaphon", new string[] { "H6829" } }, + { "zarephath", new string[] { "H6886" } }, + { "zarethan", new string[] { "H6891" } }, + { "zeboiim", new string[] { "H6636" } }, + { "zeboim", new string[] { "H6650" } }, + { "zedad", new string[] { "H6657" } }, + { "zela", new string[] { "H6762" } }, + { "zelzah", new string[] { "H6766" } }, + { "zemaraim", new string[] { "H6787" } }, + { "zenan", new string[] { "H6799" } }, + { "zephath", new string[] { "H6857" } }, + { "zer", new string[] { "H2213","H6863" } }, + { "zered", new string[] { "H2218" } }, + { "zeredah 1", new string[] { "H6868" } }, + { "zeredah 2", new string[] { "H6868" } }, + { "zererah", new string[] { "H6888" } }, + { "zereth-shahar", new string[] { "H6890" } }, + { "ziddim", new string[] { "H6661" } }, + { "ziklag", new string[] { "H6860" } }, + { "zimri", new string[] { "H2174" } }, + { "zin 1", new string[] { "H6790" } }, + { "zin 2", new string[] { "H6790" } }, + { "zion", new string[] { "H6726" } }, + { "zion's", new string[] { "H6726" } }, + { "zior", new string[] { "H6730" } }, + { "ziph 1", new string[] { "H2128" } }, + { "ziph 2", new string[] { "H2128" } }, + { "ziphron", new string[] { "H2202" } }, + { "ziz", new string[] { "H6732" } }, + { "zoan", new string[] { "H6814" } }, + { "zoar", new string[] { "H6820" } }, + { "zobah", new string[] { "H6678" } }, + { "zobah-hamath", new string[] { "H2574", "H6678" } }, + { "zophim", new string[] { "H6839" } }, + { "zorah", new string[] { "H6881" } }, + { "zuph", new string[] { "H6689" } } + }; + #endregion + + #region Public Static Methods + /// + /// Gets the Strong's numbers for the location name. + /// + /// The normalized location name. + /// + /// The Strong's numbers for the location name; + /// empty (never null) if no Strong's numbers exist for the location name. + /// + public static IEnumerable GetStrongsNumbers(string location_name) + { + // CHECK IF THE LOCATION NAME IS KNOWN. + bool location_name_known = NormalizedNameToStrongsNumbers.ContainsKey(location_name); + if (location_name_known) + { + // RETURN THE STRONG'S NUMBERS FOR THE LOCATION NAMAE. + var strongs_numbers = NormalizedNameToStrongsNumbers[location_name]; + return strongs_numbers; + } + else + { + // INDICATE THAT NO STRONG'S NUMBERS ARE KNOWN FOR THE LOCATION. + return new List(); + } + } + #endregion + } +} diff --git a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/OpenBibleDotInfoLocationParser.cs b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/OpenBibleDotInfoLocationParser.cs index 20c98415..3f06bd79 100644 --- a/DynamicBibleUtility/DynamicBibleUtility/Geolocation/OpenBibleDotInfoLocationParser.cs +++ b/DynamicBibleUtility/DynamicBibleUtility/Geolocation/OpenBibleDotInfoLocationParser.cs @@ -21,6 +21,8 @@ namespace DynamicBibleUtility.Geolocation /// Creative Commons Attribution license (see /// https://www.openbible.info/geo/ and /// https://creativecommons.org/licenses/by/4.0/). + /// + /// Strong's numbers are added using . /// public class OpenBibleDotInfoLocationParser { @@ -32,6 +34,8 @@ namespace DynamicBibleUtility.Geolocation /// Thrown if a parsing error occurs. public static IEnumerable Parse(string filepath) { + List locations_without_normalized_names = new List(); + // READ THE ENTIRE GEOLOCATION DATA FILE. // It is small enough to store completely in memory. string[] geolocation_input_file_lines = File.ReadAllLines(filepath); @@ -81,6 +85,9 @@ namespace DynamicBibleUtility.Geolocation string verse_references_csv_list = current_line_fields[VERSE_REFERENCES_INDEX]; location.VerseReferences = ParseVerseReferences(verse_references_csv_list); + // ADD STRONG'S NUMBERS REFERENCES TO THE LOCATION. + location.StrongsNumbers = LocationNameToStrongsNumberLookup.GetStrongsNumbers(location.Name); + // ADD THE LOCATION INFORMATION FOR RETURNING. locations.Add(location); } diff --git a/DynamicBibleUtility/DynamicBibleUtility/frmMain.cs b/DynamicBibleUtility/DynamicBibleUtility/frmMain.cs index 13fddc07..e86a90cc 100644 --- a/DynamicBibleUtility/DynamicBibleUtility/frmMain.cs +++ b/DynamicBibleUtility/DynamicBibleUtility/frmMain.cs @@ -689,12 +689,13 @@ namespace DynamicBibleUtility UpdateStatus($"Parsed {locations.Count()} locations.\n"); // CREATE MORE USEFUL INDICES FOR THE LOCATIONS. - // Indexing by name and verse references is useful for quick lookups - // in the Dynamic Bible app. + // Indexing in these different ways is useful for quick lookups in the Dynamic Bible app. BibleLocationIndexByName locations_by_name = new BibleLocationIndexByName(locations); UpdateStatus($"Finished indexing locations by name.\n"); BibleLocationIndexByVerse locations_by_verse = new BibleLocationIndexByVerse(locations); UpdateStatus($"Finished indexing locations by verse.\n"); + BibleLocationIndexByStrongsNumbers locations_by_strongs_numbers = new BibleLocationIndexByStrongsNumbers(locations); + UpdateStatus($"Finished indexing locations by Strong's numbers.\n"); // WRITE OUT THE GEOLOCATION DATA TO JSON FORMAT. const string LOCATIONS_BY_NAME_JSON_FILENAME = "locations_by_name.json"; @@ -702,14 +703,20 @@ namespace DynamicBibleUtility File.WriteAllText(LOCATIONS_BY_NAME_JSON_FILENAME, locations_by_name_in_json); UpdateStatus($"Wrote locations by name to {LOCATIONS_BY_NAME_JSON_FILENAME} in current working directory.\n"); - const string LOCATIONS_BY_VERSE_JSON_FILENAME = "locations_by_verse.json"; - string locations_by_verse_in_json = JSON.ToJSON(locations_by_verse.VerseToLocationNameLookup); - File.WriteAllText(LOCATIONS_BY_VERSE_JSON_FILENAME, locations_by_verse_in_json); - UpdateStatus($"Wrote locations by verse to {LOCATIONS_BY_VERSE_JSON_FILENAME} in current working directory.\n"); + const string LOCATION_NAMES_BY_VERSE_JSON_FILENAME = "location_names_by_verse.json"; + string location_names_by_verse_in_json = JSON.ToJSON(locations_by_verse.VerseToLocationNameLookup); + File.WriteAllText(LOCATION_NAMES_BY_VERSE_JSON_FILENAME, location_names_by_verse_in_json); + UpdateStatus($"Wrote location names by verse to {LOCATION_NAMES_BY_VERSE_JSON_FILENAME} in current working directory.\n"); - /// TODO(Jacob): Add Strong's numbers to the location data (with JavaScript property name of 'sn') - /// and create a lookup based on Strong's numbers. This would be more useful in the context of - /// the Dynamic Bible app. + const string LOCATION_NAMES_BY_STRONGS_NUMBER = "location_names_by_strongs.json"; + string location_names_by_strongs_number_in_json = JSON.ToJSON(locations_by_strongs_numbers.StrongsNumberToLocationNameLookup); + File.WriteAllText(LOCATION_NAMES_BY_STRONGS_NUMBER, location_names_by_strongs_number_in_json); + UpdateStatus($"Wrote location names by Strong's number to {LOCATION_NAMES_BY_STRONGS_NUMBER} in current working directory.\n"); + + const string LOCATIONS_BY_STRONGS_NUMBER = "locations_by_strongs.json"; + string locations_by_strongs_number_in_json = JSON.ToJSON(locations_by_strongs_numbers.StrongsNumberToLocationLookup); + File.WriteAllText(LOCATIONS_BY_STRONGS_NUMBER, locations_by_strongs_number_in_json); + UpdateStatus($"Wrote locations by Strong's number to {LOCATIONS_BY_STRONGS_NUMBER} in current working directory.\n"); // INFORM THE USER THAT CREATING THE GEOLOCATION JSON FILES IS COMPLETE. UpdateStatus("Done.\n");