diff --git a/process/configuration/assets/WorldBank-Countries-2024.json b/process/configuration/assets/WorldBank-Countries-2024.json new file mode 100644 index 00000000..f850ecd8 --- /dev/null +++ b/process/configuration/assets/WorldBank-Countries-2024.json @@ -0,0 +1 @@ +[{"page":1,"pages":1,"per_page":"300","total":296},[{"id":"ABW","iso2Code":"AW","name":"Aruba","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Oranjestad","longitude":"-70.0167","latitude":"12.5167"},{"id":"AFE","iso2Code":"ZH","name":"Africa Eastern and Southern","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"AFG","iso2Code":"AF","name":"Afghanistan","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Kabul","longitude":"69.1761","latitude":"34.5228"},{"id":"AFR","iso2Code":"A9","name":"Africa","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"AFW","iso2Code":"ZI","name":"Africa Western and Central","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"AGO","iso2Code":"AO","name":"Angola","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Luanda","longitude":"13.242","latitude":"-8.81155"},{"id":"ALB","iso2Code":"AL","name":"Albania","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Tirane","longitude":"19.8172","latitude":"41.3317"},{"id":"AND","iso2Code":"AD","name":"Andorra","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Andorra la Vella","longitude":"1.5218","latitude":"42.5075"},{"id":"ARB","iso2Code":"1A","name":"Arab World","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"ARE","iso2Code":"AE","name":"United Arab Emirates","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Abu Dhabi","longitude":"54.3705","latitude":"24.4764"},{"id":"ARG","iso2Code":"AR","name":"Argentina","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Buenos Aires","longitude":"-58.4173","latitude":"-34.6118"},{"id":"ARM","iso2Code":"AM","name":"Armenia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Yerevan","longitude":"44.509","latitude":"40.1596"},{"id":"ASM","iso2Code":"AS","name":"American Samoa","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Pago Pago","longitude":"-170.691","latitude":"-14.2846"},{"id":"ATG","iso2Code":"AG","name":"Antigua and Barbuda","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Saint John's","longitude":"-61.8456","latitude":"17.1175"},{"id":"AUS","iso2Code":"AU","name":"Australia","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Canberra","longitude":"149.129","latitude":"-35.282"},{"id":"AUT","iso2Code":"AT","name":"Austria","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Vienna","longitude":"16.3798","latitude":"48.2201"},{"id":"AZE","iso2Code":"AZ","name":"Azerbaijan","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Baku","longitude":"49.8932","latitude":"40.3834"},{"id":"BDI","iso2Code":"BI","name":"Burundi","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Bujumbura","longitude":"29.3639","latitude":"-3.3784"},{"id":"BEA","iso2Code":"B4","name":"East Asia & Pacific (IBRD-only countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"BEC","iso2Code":"B7","name":"Europe & Central Asia (IBRD-only countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"BEL","iso2Code":"BE","name":"Belgium","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Brussels","longitude":"4.36761","latitude":"50.8371"},{"id":"BEN","iso2Code":"BJ","name":"Benin","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Porto-Novo","longitude":"2.6323","latitude":"6.4779"},{"id":"BFA","iso2Code":"BF","name":"Burkina Faso","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Ouagadougou","longitude":"-1.53395","latitude":"12.3605"},{"id":"BGD","iso2Code":"BD","name":"Bangladesh","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Dhaka","longitude":"90.4113","latitude":"23.7055"},{"id":"BGR","iso2Code":"BG","name":"Bulgaria","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Sofia","longitude":"23.3238","latitude":"42.7105"},{"id":"BHI","iso2Code":"B1","name":"IBRD countries classified as high income","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"BHR","iso2Code":"BH","name":"Bahrain","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Manama","longitude":"50.5354","latitude":"26.1921"},{"id":"BHS","iso2Code":"BS","name":"Bahamas, The","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Nassau","longitude":"-77.339","latitude":"25.0661"},{"id":"BIH","iso2Code":"BA","name":"Bosnia and Herzegovina","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Sarajevo","longitude":"18.4214","latitude":"43.8607"},{"id":"BLA","iso2Code":"B2","name":"Latin America & the Caribbean (IBRD-only countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"BLR","iso2Code":"BY","name":"Belarus","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Minsk","longitude":"27.5766","latitude":"53.9678"},{"id":"BLZ","iso2Code":"BZ","name":"Belize","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Belmopan","longitude":"-88.7713","latitude":"17.2534"},{"id":"BMN","iso2Code":"B3","name":"Middle East & North Africa (IBRD-only countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"BMU","iso2Code":"BM","name":"Bermuda","region":{"id":"NAC","iso2code":"XU","value":"North America"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Hamilton","longitude":"-64.706","latitude":"32.3293"},{"id":"BOL","iso2Code":"BO","name":"Bolivia","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"La Paz","longitude":"-66.1936","latitude":"-13.9908"},{"id":"BRA","iso2Code":"BR","name":"Brazil","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Brasilia","longitude":"-47.9292","latitude":"-15.7801"},{"id":"BRB","iso2Code":"BB","name":"Barbados","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Bridgetown","longitude":"-59.6105","latitude":"13.0935"},{"id":"BRN","iso2Code":"BN","name":"Brunei Darussalam","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Bandar Seri Begawan","longitude":"114.946","latitude":"4.94199"},{"id":"BSS","iso2Code":"B6","name":"Sub-Saharan Africa (IBRD-only countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"BTN","iso2Code":"BT","name":"Bhutan","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Thimphu","longitude":"89.6177","latitude":"27.5768"},{"id":"BWA","iso2Code":"BW","name":"Botswana","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Gaborone","longitude":"25.9201","latitude":"-24.6544"},{"id":"CAA","iso2Code":"C9","name":"Sub-Saharan Africa (IFC classification)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CAF","iso2Code":"CF","name":"Central African Republic","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Bangui","longitude":"21.6407","latitude":"5.63056"},{"id":"CAN","iso2Code":"CA","name":"Canada","region":{"id":"NAC","iso2code":"XU","value":"North America"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Ottawa","longitude":"-75.6919","latitude":"45.4215"},{"id":"CEA","iso2Code":"C4","name":"East Asia and the Pacific (IFC classification)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CEB","iso2Code":"B8","name":"Central Europe and the Baltics","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CEU","iso2Code":"C5","name":"Europe and Central Asia (IFC classification)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CHE","iso2Code":"CH","name":"Switzerland","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Bern","longitude":"7.44821","latitude":"46.948"},{"id":"CHI","iso2Code":"JG","name":"Channel Islands","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"","longitude":"","latitude":""},{"id":"CHL","iso2Code":"CL","name":"Chile","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Santiago","longitude":"-70.6475","latitude":"-33.475"},{"id":"CHN","iso2Code":"CN","name":"China","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Beijing","longitude":"116.286","latitude":"40.0495"},{"id":"CIV","iso2Code":"CI","name":"Cote d'Ivoire","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Yamoussoukro","longitude":"-4.0305","latitude":"5.332"},{"id":"CLA","iso2Code":"C6","name":"Latin America and the Caribbean (IFC classification)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CME","iso2Code":"C7","name":"Middle East and North Africa (IFC classification)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CMR","iso2Code":"CM","name":"Cameroon","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Yaounde","longitude":"11.5174","latitude":"3.8721"},{"id":"COD","iso2Code":"CD","name":"Congo, Dem. Rep.","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Kinshasa","longitude":"15.3222","latitude":"-4.325"},{"id":"COG","iso2Code":"CG","name":"Congo, Rep.","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Brazzaville","longitude":"15.2662","latitude":"-4.2767"},{"id":"COL","iso2Code":"CO","name":"Colombia","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Bogota","longitude":"-74.082","latitude":"4.60987"},{"id":"COM","iso2Code":"KM","name":"Comoros","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Moroni","longitude":"43.2418","latitude":"-11.6986"},{"id":"CPV","iso2Code":"CV","name":"Cabo Verde","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Praia","longitude":"-23.5087","latitude":"14.9218"},{"id":"CRI","iso2Code":"CR","name":"Costa Rica","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"San Jose","longitude":"-84.0089","latitude":"9.63701"},{"id":"CSA","iso2Code":"C8","name":"South Asia (IFC classification)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CSS","iso2Code":"S3","name":"Caribbean small states","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"CUB","iso2Code":"CU","name":"Cuba","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Havana","longitude":"-82.3667","latitude":"23.1333"},{"id":"CUW","iso2Code":"CW","name":"Curacao","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Willemstad","longitude":"","latitude":""},{"id":"CYM","iso2Code":"KY","name":"Cayman Islands","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"George Town","longitude":"-81.3857","latitude":"19.3022"},{"id":"CYP","iso2Code":"CY","name":"Cyprus","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Nicosia","longitude":"33.3736","latitude":"35.1676"},{"id":"CZE","iso2Code":"CZ","name":"Czechia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Prague","longitude":"14.4205","latitude":"50.0878"},{"id":"DEA","iso2Code":"D4","name":"East Asia & Pacific (IDA-eligible countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DEC","iso2Code":"D7","name":"Europe & Central Asia (IDA-eligible countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DEU","iso2Code":"DE","name":"Germany","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Berlin","longitude":"13.4115","latitude":"52.5235"},{"id":"DJI","iso2Code":"DJ","name":"Djibouti","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Djibouti","longitude":"43.1425","latitude":"11.5806"},{"id":"DLA","iso2Code":"D2","name":"Latin America & the Caribbean (IDA-eligible countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DMA","iso2Code":"DM","name":"Dominica","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Roseau","longitude":"-61.39","latitude":"15.2976"},{"id":"DMN","iso2Code":"D3","name":"Middle East & North Africa (IDA-eligible countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DNK","iso2Code":"DK","name":"Denmark","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Copenhagen","longitude":"12.5681","latitude":"55.6763"},{"id":"DNS","iso2Code":"N6","name":"IDA countries in Sub-Saharan Africa not classified as fragile situations ","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DOM","iso2Code":"DO","name":"Dominican Republic","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Santo Domingo","longitude":"-69.8908","latitude":"18.479"},{"id":"DSA","iso2Code":"D5","name":"South Asia (IDA-eligible countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DSF","iso2Code":"F6","name":"IDA countries in Sub-Saharan Africa classified as fragile situations ","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DSS","iso2Code":"D6","name":"Sub-Saharan Africa (IDA-eligible countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"DZA","iso2Code":"DZ","name":"Algeria","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Algiers","longitude":"3.05097","latitude":"36.7397"},{"id":"EAP","iso2Code":"4E","name":"East Asia & Pacific (excluding high income)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"EAR","iso2Code":"V2","name":"Early-demographic dividend","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"EAS","iso2Code":"Z4","name":"East Asia & Pacific","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"ECA","iso2Code":"7E","name":"Europe & Central Asia (excluding high income)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"ECS","iso2Code":"Z7","name":"Europe & Central Asia","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"ECU","iso2Code":"EC","name":"Ecuador","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Quito","longitude":"-78.5243","latitude":"-0.229498"},{"id":"EGY","iso2Code":"EG","name":"Egypt, Arab Rep.","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Cairo","longitude":"31.2461","latitude":"30.0982"},{"id":"EMU","iso2Code":"XC","name":"Euro area","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"ERI","iso2Code":"ER","name":"Eritrea","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Asmara","longitude":"38.9183","latitude":"15.3315"},{"id":"ESP","iso2Code":"ES","name":"Spain","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Madrid","longitude":"-3.70327","latitude":"40.4167"},{"id":"EST","iso2Code":"EE","name":"Estonia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Tallinn","longitude":"24.7586","latitude":"59.4392"},{"id":"ETH","iso2Code":"ET","name":"Ethiopia","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Addis Ababa","longitude":"38.7468","latitude":"9.02274"},{"id":"EUU","iso2Code":"EU","name":"European Union","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"FCS","iso2Code":"F1","name":"Fragile and conflict affected situations","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"FIN","iso2Code":"FI","name":"Finland","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Helsinki","longitude":"24.9525","latitude":"60.1608"},{"id":"FJI","iso2Code":"FJ","name":"Fiji","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Suva","longitude":"178.399","latitude":"-18.1149"},{"id":"FRA","iso2Code":"FR","name":"France","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Paris","longitude":"2.35097","latitude":"48.8566"},{"id":"FRO","iso2Code":"FO","name":"Faroe Islands","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Torshavn","longitude":"-6.91181","latitude":"61.8926"},{"id":"FSM","iso2Code":"FM","name":"Micronesia, Fed. Sts.","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Palikir","longitude":"158.185","latitude":"6.91771"},{"id":"FXS","iso2Code":"6F","name":"IDA countries classified as fragile situations, excluding Sub-Saharan Africa","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"GAB","iso2Code":"GA","name":"Gabon","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Libreville","longitude":"9.45162","latitude":"0.38832"},{"id":"GBR","iso2Code":"GB","name":"United Kingdom","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"London","longitude":"-0.126236","latitude":"51.5002"},{"id":"GEO","iso2Code":"GE","name":"Georgia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Tbilisi","longitude":"44.793","latitude":"41.71"},{"id":"GHA","iso2Code":"GH","name":"Ghana","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Accra","longitude":"-0.20795","latitude":"5.57045"},{"id":"GIB","iso2Code":"GI","name":"Gibraltar","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"","longitude":"","latitude":""},{"id":"GIN","iso2Code":"GN","name":"Guinea","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Conakry","longitude":"-13.7","latitude":"9.51667"},{"id":"GMB","iso2Code":"GM","name":"Gambia, The","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Banjul","longitude":"-16.5885","latitude":"13.4495"},{"id":"GNB","iso2Code":"GW","name":"Guinea-Bissau","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Bissau","longitude":"-15.1804","latitude":"11.8037"},{"id":"GNQ","iso2Code":"GQ","name":"Equatorial Guinea","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Malabo","longitude":"8.7741","latitude":"3.7523"},{"id":"GRC","iso2Code":"GR","name":"Greece","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Athens","longitude":"23.7166","latitude":"37.9792"},{"id":"GRD","iso2Code":"GD","name":"Grenada","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Saint George's","longitude":"-61.7449","latitude":"12.0653"},{"id":"GRL","iso2Code":"GL","name":"Greenland","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Nuuk","longitude":"-51.7214","latitude":"64.1836"},{"id":"GTM","iso2Code":"GT","name":"Guatemala","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Guatemala City","longitude":"-90.5328","latitude":"14.6248"},{"id":"GUM","iso2Code":"GU","name":"Guam","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Agana","longitude":"144.794","latitude":"13.4443"},{"id":"GUY","iso2Code":"GY","name":"Guyana","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Georgetown","longitude":"-58.1548","latitude":"6.80461"},{"id":"HIC","iso2Code":"XD","name":"High income","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"HKG","iso2Code":"HK","name":"Hong Kong SAR, China","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"","longitude":"114.109","latitude":"22.3964"},{"id":"HND","iso2Code":"HN","name":"Honduras","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Tegucigalpa","longitude":"-87.4667","latitude":"15.1333"},{"id":"HPC","iso2Code":"XE","name":"Heavily indebted poor countries (HIPC)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"HRV","iso2Code":"HR","name":"Croatia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Zagreb","longitude":"15.9614","latitude":"45.8069"},{"id":"HTI","iso2Code":"HT","name":"Haiti","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Port-au-Prince","longitude":"-72.3288","latitude":"18.5392"},{"id":"HUN","iso2Code":"HU","name":"Hungary","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Budapest","longitude":"19.0408","latitude":"47.4984"},{"id":"IBB","iso2Code":"ZB","name":"IBRD, including blend","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"IBD","iso2Code":"XF","name":"IBRD only","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"IBT","iso2Code":"ZT","name":"IDA & IBRD total","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"IDA","iso2Code":"XG","name":"IDA total","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"IDB","iso2Code":"XH","name":"IDA blend","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"IDN","iso2Code":"ID","name":"Indonesia","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Jakarta","longitude":"106.83","latitude":"-6.19752"},{"id":"IDX","iso2Code":"XI","name":"IDA only","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"IMN","iso2Code":"IM","name":"Isle of Man","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Douglas","longitude":"-4.47928","latitude":"54.1509"},{"id":"IND","iso2Code":"IN","name":"India","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"New Delhi","longitude":"77.225","latitude":"28.6353"},{"id":"INX","iso2Code":"XY","name":"Not classified","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"IRL","iso2Code":"IE","name":"Ireland","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Dublin","longitude":"-6.26749","latitude":"53.3441"},{"id":"IRN","iso2Code":"IR","name":"Iran, Islamic Rep.","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Tehran","longitude":"51.4447","latitude":"35.6878"},{"id":"IRQ","iso2Code":"IQ","name":"Iraq","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Baghdad","longitude":"44.394","latitude":"33.3302"},{"id":"ISL","iso2Code":"IS","name":"Iceland","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Reykjavik","longitude":"-21.8952","latitude":"64.1353"},{"id":"ISR","iso2Code":"IL","name":"Israel","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"","longitude":"35.2035","latitude":"31.7717"},{"id":"ITA","iso2Code":"IT","name":"Italy","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Rome","longitude":"12.4823","latitude":"41.8955"},{"id":"JAM","iso2Code":"JM","name":"Jamaica","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Kingston","longitude":"-76.792","latitude":"17.9927"},{"id":"JOR","iso2Code":"JO","name":"Jordan","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Amman","longitude":"35.9263","latitude":"31.9497"},{"id":"JPN","iso2Code":"JP","name":"Japan","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Tokyo","longitude":"139.77","latitude":"35.67"},{"id":"KAZ","iso2Code":"KZ","name":"Kazakhstan","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Astana","longitude":"71.4382","latitude":"51.1879"},{"id":"KEN","iso2Code":"KE","name":"Kenya","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Nairobi","longitude":"36.8126","latitude":"-1.27975"},{"id":"KGZ","iso2Code":"KG","name":"Kyrgyz Republic","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Bishkek","longitude":"74.6057","latitude":"42.8851"},{"id":"KHM","iso2Code":"KH","name":"Cambodia","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Phnom Penh","longitude":"104.874","latitude":"11.5556"},{"id":"KIR","iso2Code":"KI","name":"Kiribati","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Tarawa","longitude":"172.979","latitude":"1.32905"},{"id":"KNA","iso2Code":"KN","name":"St. Kitts and Nevis","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Basseterre","longitude":"-62.7309","latitude":"17.3"},{"id":"KOR","iso2Code":"KR","name":"Korea, Rep.","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Seoul","longitude":"126.957","latitude":"37.5323"},{"id":"KWT","iso2Code":"KW","name":"Kuwait","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Kuwait City","longitude":"47.9824","latitude":"29.3721"},{"id":"LAC","iso2Code":"XJ","name":"Latin America & Caribbean (excluding high income)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"LAO","iso2Code":"LA","name":"Lao PDR","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Vientiane","longitude":"102.177","latitude":"18.5826"},{"id":"LBN","iso2Code":"LB","name":"Lebanon","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Beirut","longitude":"35.5134","latitude":"33.8872"},{"id":"LBR","iso2Code":"LR","name":"Liberia","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Monrovia","longitude":"-10.7957","latitude":"6.30039"},{"id":"LBY","iso2Code":"LY","name":"Libya","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Tripoli","longitude":"13.1072","latitude":"32.8578"},{"id":"LCA","iso2Code":"LC","name":"St. Lucia","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Castries","longitude":"-60.9832","latitude":"14"},{"id":"LCN","iso2Code":"ZJ","name":"Latin America & Caribbean ","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"LDC","iso2Code":"XL","name":"Least developed countries: UN classification","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"LIC","iso2Code":"XM","name":"Low income","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"LIE","iso2Code":"LI","name":"Liechtenstein","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Vaduz","longitude":"9.52148","latitude":"47.1411"},{"id":"LKA","iso2Code":"LK","name":"Sri Lanka","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Colombo","longitude":"79.8528","latitude":"6.92148"},{"id":"LMC","iso2Code":"XN","name":"Lower middle income","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"LMY","iso2Code":"XO","name":"Low & middle income","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"LSO","iso2Code":"LS","name":"Lesotho","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Maseru","longitude":"27.7167","latitude":"-29.5208"},{"id":"LTE","iso2Code":"V3","name":"Late-demographic dividend","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"LTU","iso2Code":"LT","name":"Lithuania","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Vilnius","longitude":"25.2799","latitude":"54.6896"},{"id":"LUX","iso2Code":"LU","name":"Luxembourg","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Luxembourg","longitude":"6.1296","latitude":"49.61"},{"id":"LVA","iso2Code":"LV","name":"Latvia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Riga","longitude":"24.1048","latitude":"56.9465"},{"id":"MAC","iso2Code":"MO","name":"Macao SAR, China","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"","longitude":"113.55","latitude":"22.1667"},{"id":"MAF","iso2Code":"MF","name":"St. Martin (French part)","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Marigot","longitude":"","latitude":""},{"id":"MAR","iso2Code":"MA","name":"Morocco","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Rabat","longitude":"-6.8704","latitude":"33.9905"},{"id":"MCO","iso2Code":"MC","name":"Monaco","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Monaco","longitude":"7.41891","latitude":"43.7325"},{"id":"MDA","iso2Code":"MD","name":"Moldova","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Chisinau","longitude":"28.8497","latitude":"47.0167"},{"id":"MDE","iso2Code":"M1","name":"Middle East (developing only)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"MDG","iso2Code":"MG","name":"Madagascar","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Antananarivo","longitude":"45.7167","latitude":"-20.4667"},{"id":"MDV","iso2Code":"MV","name":"Maldives","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Male","longitude":"73.5109","latitude":"4.1742"},{"id":"MEA","iso2Code":"ZQ","name":"Middle East & North Africa","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"MEX","iso2Code":"MX","name":"Mexico","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Mexico City","longitude":"-99.1276","latitude":"19.427"},{"id":"MHL","iso2Code":"MH","name":"Marshall Islands","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Majuro","longitude":"171.135","latitude":"7.11046"},{"id":"MIC","iso2Code":"XP","name":"Middle income","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"MKD","iso2Code":"MK","name":"North Macedonia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Skopje","longitude":"21.4361","latitude":"42.0024"},{"id":"MLI","iso2Code":"ML","name":"Mali","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Bamako","longitude":"-7.50034","latitude":"13.5667"},{"id":"MLT","iso2Code":"MT","name":"Malta","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Valletta","longitude":"14.5189","latitude":"35.9042"},{"id":"MMR","iso2Code":"MM","name":"Myanmar","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Naypyidaw","longitude":"95.9562","latitude":"21.914"},{"id":"MNA","iso2Code":"XQ","name":"Middle East & North Africa (excluding high income)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"MNE","iso2Code":"ME","name":"Montenegro","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Podgorica","longitude":"19.2595","latitude":"42.4602"},{"id":"MNG","iso2Code":"MN","name":"Mongolia","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Ulaanbaatar","longitude":"106.937","latitude":"47.9129"},{"id":"MNP","iso2Code":"MP","name":"Northern Mariana Islands","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Saipan","longitude":"145.765","latitude":"15.1935"},{"id":"MOZ","iso2Code":"MZ","name":"Mozambique","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Maputo","longitude":"32.5713","latitude":"-25.9664"},{"id":"MRT","iso2Code":"MR","name":"Mauritania","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Nouakchott","longitude":"-15.9824","latitude":"18.2367"},{"id":"MUS","iso2Code":"MU","name":"Mauritius","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Port Louis","longitude":"57.4977","latitude":"-20.1605"},{"id":"MWI","iso2Code":"MW","name":"Malawi","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Lilongwe","longitude":"33.7703","latitude":"-13.9899"},{"id":"MYS","iso2Code":"MY","name":"Malaysia","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Kuala Lumpur","longitude":"101.684","latitude":"3.12433"},{"id":"NAC","iso2Code":"XU","name":"North America","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"NAF","iso2Code":"M2","name":"North Africa","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"NAM","iso2Code":"NA","name":"Namibia","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Windhoek","longitude":"17.0931","latitude":"-22.5648"},{"id":"NCL","iso2Code":"NC","name":"New Caledonia","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Noum'ea","longitude":"166.464","latitude":"-22.2677"},{"id":"NER","iso2Code":"NE","name":"Niger","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Niamey","longitude":"2.1073","latitude":"13.514"},{"id":"NGA","iso2Code":"NG","name":"Nigeria","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Abuja","longitude":"7.48906","latitude":"9.05804"},{"id":"NIC","iso2Code":"NI","name":"Nicaragua","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Managua","longitude":"-86.2734","latitude":"12.1475"},{"id":"NLD","iso2Code":"NL","name":"Netherlands","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Amsterdam","longitude":"4.89095","latitude":"52.3738"},{"id":"NOR","iso2Code":"NO","name":"Norway","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Oslo","longitude":"10.7387","latitude":"59.9138"},{"id":"NPL","iso2Code":"NP","name":"Nepal","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Kathmandu","longitude":"85.3157","latitude":"27.6939"},{"id":"NRS","iso2Code":"6X","name":"Non-resource rich Sub-Saharan Africa countries","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"NRU","iso2Code":"NR","name":"Nauru","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Yaren District","longitude":"166.920867","latitude":"-0.5477"},{"id":"NXS","iso2Code":"6N","name":"IDA countries not classified as fragile situations, excluding Sub-Saharan Africa","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"NZL","iso2Code":"NZ","name":"New Zealand","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Wellington","longitude":"174.776","latitude":"-41.2865"},{"id":"OED","iso2Code":"OE","name":"OECD members","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"OMN","iso2Code":"OM","name":"Oman","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Muscat","longitude":"58.5874","latitude":"23.6105"},{"id":"OSS","iso2Code":"S4","name":"Other small states","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"PAK","iso2Code":"PK","name":"Pakistan","region":{"id":"SAS","iso2code":"8S","value":"South Asia"},"adminregion":{"id":"SAS","iso2code":"8S","value":"South Asia"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Islamabad","longitude":"72.8","latitude":"30.5167"},{"id":"PAN","iso2Code":"PA","name":"Panama","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Panama City","longitude":"-79.5188","latitude":"8.99427"},{"id":"PER","iso2Code":"PE","name":"Peru","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Lima","longitude":"-77.0465","latitude":"-12.0931"},{"id":"PHL","iso2Code":"PH","name":"Philippines","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Manila","longitude":"121.035","latitude":"14.5515"},{"id":"PLW","iso2Code":"PW","name":"Palau","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Koror","longitude":"134.479","latitude":"7.34194"},{"id":"PNG","iso2Code":"PG","name":"Papua New Guinea","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Port Moresby","longitude":"147.194","latitude":"-9.47357"},{"id":"POL","iso2Code":"PL","name":"Poland","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Warsaw","longitude":"21.02","latitude":"52.26"},{"id":"PRE","iso2Code":"V1","name":"Pre-demographic dividend","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"PRI","iso2Code":"PR","name":"Puerto Rico","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"San Juan","longitude":"-66","latitude":"18.23"},{"id":"PRK","iso2Code":"KP","name":"Korea, Dem. People's Rep.","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Pyongyang","longitude":"125.754","latitude":"39.0319"},{"id":"PRT","iso2Code":"PT","name":"Portugal","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Lisbon","longitude":"-9.13552","latitude":"38.7072"},{"id":"PRY","iso2Code":"PY","name":"Paraguay","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Asuncion","longitude":"-57.6362","latitude":"-25.3005"},{"id":"PSE","iso2Code":"PS","name":"West Bank and Gaza","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"","longitude":"","latitude":""},{"id":"PSS","iso2Code":"S2","name":"Pacific island small states","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"PST","iso2Code":"V4","name":"Post-demographic dividend","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"PYF","iso2Code":"PF","name":"French Polynesia","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Papeete","longitude":"-149.57","latitude":"-17.535"},{"id":"QAT","iso2Code":"QA","name":"Qatar","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Doha","longitude":"51.5082","latitude":"25.2948"},{"id":"ROU","iso2Code":"RO","name":"Romania","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Bucharest","longitude":"26.0979","latitude":"44.4479"},{"id":"RRS","iso2Code":"R6","name":"Resource rich Sub-Saharan Africa countries","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"RUS","iso2Code":"RU","name":"Russian Federation","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Moscow","longitude":"37.6176","latitude":"55.7558"},{"id":"RWA","iso2Code":"RW","name":"Rwanda","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Kigali","longitude":"30.0587","latitude":"-1.95325"},{"id":"SAS","iso2Code":"8S","name":"South Asia","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"SAU","iso2Code":"SA","name":"Saudi Arabia","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Riyadh","longitude":"46.6977","latitude":"24.6748"},{"id":"SDN","iso2Code":"SD","name":"Sudan","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Khartoum","longitude":"32.5363","latitude":"15.5932"},{"id":"SEN","iso2Code":"SN","name":"Senegal","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Dakar","longitude":"-17.4734","latitude":"14.7247"},{"id":"SGP","iso2Code":"SG","name":"Singapore","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Singapore","longitude":"103.85","latitude":"1.28941"},{"id":"SLB","iso2Code":"SB","name":"Solomon Islands","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Honiara","longitude":"159.949","latitude":"-9.42676"},{"id":"SLE","iso2Code":"SL","name":"Sierra Leone","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Freetown","longitude":"-13.2134","latitude":"8.4821"},{"id":"SLV","iso2Code":"SV","name":"El Salvador","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"San Salvador","longitude":"-89.2073","latitude":"13.7034"},{"id":"SMR","iso2Code":"SM","name":"San Marino","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"San Marino","longitude":"12.4486","latitude":"43.9322"},{"id":"SOM","iso2Code":"SO","name":"Somalia","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Mogadishu","longitude":"45.3254","latitude":"2.07515"},{"id":"SRB","iso2Code":"RS","name":"Serbia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Belgrade","longitude":"20.4656","latitude":"44.8024"},{"id":"SSA","iso2Code":"ZF","name":"Sub-Saharan Africa (excluding high income)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"SSD","iso2Code":"SS","name":"South Sudan","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Juba","longitude":"31.6","latitude":"4.85"},{"id":"SSF","iso2Code":"ZG","name":"Sub-Saharan Africa ","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"SST","iso2Code":"S1","name":"Small states","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"STP","iso2Code":"ST","name":"Sao Tome and Principe","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Sao Tome","longitude":"6.6071","latitude":"0.20618"},{"id":"SUR","iso2Code":"SR","name":"Suriname","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Paramaribo","longitude":"-55.1679","latitude":"5.8232"},{"id":"SVK","iso2Code":"SK","name":"Slovak Republic","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Bratislava","longitude":"17.1073","latitude":"48.1484"},{"id":"SVN","iso2Code":"SI","name":"Slovenia","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Ljubljana","longitude":"14.5044","latitude":"46.0546"},{"id":"SWE","iso2Code":"SE","name":"Sweden","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Stockholm","longitude":"18.0645","latitude":"59.3327"},{"id":"SWZ","iso2Code":"SZ","name":"Eswatini","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Mbabane","longitude":"31.4659","latitude":"-26.5225"},{"id":"SXM","iso2Code":"SX","name":"Sint Maarten (Dutch part)","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Philipsburg","longitude":"","latitude":""},{"id":"SXZ","iso2Code":"A4","name":"Sub-Saharan Africa excluding South Africa","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"SYC","iso2Code":"SC","name":"Seychelles","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Victoria","longitude":"55.4466","latitude":"-4.6309"},{"id":"SYR","iso2Code":"SY","name":"Syrian Arab Republic","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Damascus","longitude":"36.3119","latitude":"33.5146"},{"id":"TCA","iso2Code":"TC","name":"Turks and Caicos Islands","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Grand Turk","longitude":"-71.141389","latitude":"21.4602778"},{"id":"TCD","iso2Code":"TD","name":"Chad","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"N'Djamena","longitude":"15.0445","latitude":"12.1048"},{"id":"TEA","iso2Code":"T4","name":"East Asia & Pacific (IDA & IBRD countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"TEC","iso2Code":"T7","name":"Europe & Central Asia (IDA & IBRD countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"TGO","iso2Code":"TG","name":"Togo","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Lome","longitude":"1.2255","latitude":"6.1228"},{"id":"THA","iso2Code":"TH","name":"Thailand","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Bangkok","longitude":"100.521","latitude":"13.7308"},{"id":"TJK","iso2Code":"TJ","name":"Tajikistan","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Dushanbe","longitude":"68.7864","latitude":"38.5878"},{"id":"TKM","iso2Code":"TM","name":"Turkmenistan","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Ashgabat","longitude":"58.3794","latitude":"37.9509"},{"id":"TLA","iso2Code":"T2","name":"Latin America & the Caribbean (IDA & IBRD countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"TLS","iso2Code":"TL","name":"Timor-Leste","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Dili","longitude":"125.567","latitude":"-8.56667"},{"id":"TMN","iso2Code":"T3","name":"Middle East & North Africa (IDA & IBRD countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"TON","iso2Code":"TO","name":"Tonga","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Nuku'alofa","longitude":"-175.216","latitude":"-21.136"},{"id":"TSA","iso2Code":"T5","name":"South Asia (IDA & IBRD)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"TSS","iso2Code":"T6","name":"Sub-Saharan Africa (IDA & IBRD countries)","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"TTO","iso2Code":"TT","name":"Trinidad and Tobago","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Port-of-Spain","longitude":"-61.4789","latitude":"10.6596"},{"id":"TUN","iso2Code":"TN","name":"Tunisia","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Tunis","longitude":"10.21","latitude":"36.7899"},{"id":"TUR","iso2Code":"TR","name":"Turkiye","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Ankara","longitude":"32.3606","latitude":"39.7153"},{"id":"TUV","iso2Code":"TV","name":"Tuvalu","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Funafuti","longitude":"179.089567","latitude":"-8.6314877"},{"id":"TZA","iso2Code":"TZ","name":"Tanzania","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Dodoma","longitude":"35.7382","latitude":"-6.17486"},{"id":"UGA","iso2Code":"UG","name":"Uganda","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Kampala","longitude":"32.5729","latitude":"0.314269"},{"id":"UKR","iso2Code":"UA","name":"Ukraine","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Kiev","longitude":"30.5038","latitude":"50.4536"},{"id":"UMC","iso2Code":"XT","name":"Upper middle income","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"URY","iso2Code":"UY","name":"Uruguay","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Montevideo","longitude":"-56.0675","latitude":"-34.8941"},{"id":"USA","iso2Code":"US","name":"United States","region":{"id":"NAC","iso2code":"XU","value":"North America"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Washington D.C.","longitude":"-77.032","latitude":"38.8895"},{"id":"UZB","iso2Code":"UZ","name":"Uzbekistan","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Tashkent","longitude":"69.269","latitude":"41.3052"},{"id":"VCT","iso2Code":"VC","name":"St. Vincent and the Grenadines","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"LAC","iso2code":"XJ","value":"Latin America & Caribbean (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Kingstown","longitude":"-61.2653","latitude":"13.2035"},{"id":"VEN","iso2Code":"VE","name":"Venezuela, RB","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"INX","iso2code":"XY","value":"Not classified"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Caracas","longitude":"-69.8371","latitude":"9.08165"},{"id":"VGB","iso2Code":"VG","name":"British Virgin Islands","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Road Town","longitude":"-64.623056","latitude":"18.431389"},{"id":"VIR","iso2Code":"VI","name":"Virgin Islands (U.S.)","region":{"id":"LCN","iso2code":"ZJ","value":"Latin America & Caribbean "},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"HIC","iso2code":"XD","value":"High income"},"lendingType":{"id":"LNX","iso2code":"XX","value":"Not classified"},"capitalCity":"Charlotte Amalie","longitude":"-64.8963","latitude":"18.3358"},{"id":"VNM","iso2Code":"VN","name":"Viet Nam","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Hanoi","longitude":"105.825","latitude":"21.0069"},{"id":"VUT","iso2Code":"VU","name":"Vanuatu","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Port-Vila","longitude":"168.321","latitude":"-17.7404"},{"id":"WLD","iso2Code":"1W","name":"World","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"WSM","iso2Code":"WS","name":"Samoa","region":{"id":"EAS","iso2code":"Z4","value":"East Asia & Pacific"},"adminregion":{"id":"EAP","iso2code":"4E","value":"East Asia & Pacific (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Apia","longitude":"-171.752","latitude":"-13.8314"},{"id":"XKX","iso2Code":"XK","name":"Kosovo","region":{"id":"ECS","iso2code":"Z7","value":"Europe & Central Asia"},"adminregion":{"id":"ECA","iso2code":"7E","value":"Europe & Central Asia (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Pristina","longitude":"20.926","latitude":"42.565"},{"id":"XZN","iso2Code":"A5","name":"Sub-Saharan Africa excluding South Africa and Nigeria","region":{"id":"NA","iso2code":"NA","value":"Aggregates"},"adminregion":{"id":"","iso2code":"","value":""},"incomeLevel":{"id":"NA","iso2code":"NA","value":"Aggregates"},"lendingType":{"id":"","iso2code":"","value":"Aggregates"},"capitalCity":"","longitude":"","latitude":""},{"id":"YEM","iso2Code":"YE","name":"Yemen, Rep.","region":{"id":"MEA","iso2code":"ZQ","value":"Middle East & North Africa"},"adminregion":{"id":"MNA","iso2code":"XQ","value":"Middle East & North Africa (excluding high income)"},"incomeLevel":{"id":"LIC","iso2code":"XM","value":"Low income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Sana'a","longitude":"44.2075","latitude":"15.352"},{"id":"ZAF","iso2Code":"ZA","name":"South Africa","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"UMC","iso2code":"XT","value":"Upper middle income"},"lendingType":{"id":"IBD","iso2code":"XF","value":"IBRD"},"capitalCity":"Pretoria","longitude":"28.1871","latitude":"-25.746"},{"id":"ZMB","iso2Code":"ZM","name":"Zambia","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDX","iso2code":"XI","value":"IDA"},"capitalCity":"Lusaka","longitude":"28.2937","latitude":"-15.3982"},{"id":"ZWE","iso2Code":"ZW","name":"Zimbabwe","region":{"id":"SSF","iso2code":"ZG","value":"Sub-Saharan Africa "},"adminregion":{"id":"SSA","iso2code":"ZF","value":"Sub-Saharan Africa (excluding high income)"},"incomeLevel":{"id":"LMC","iso2code":"XN","value":"Lower middle income"},"lendingType":{"id":"IDB","iso2code":"XH","value":"Blend"},"capitalCity":"Harare","longitude":"31.0672","latitude":"-17.8312"}]] diff --git a/process/configuration/regions/example_ES_Las_Palmas_2023.yml b/process/configuration/regions/example_ES_Las_Palmas_2023.yml index d97e2194..c172d8cd 100644 --- a/process/configuration/regions/example_ES_Las_Palmas_2023.yml +++ b/process/configuration/regions/example_ES_Las_Palmas_2023.yml @@ -16,14 +16,14 @@ ## Full study region name, e.g. Las Palmas de Gran Canaria name: Las Palmas de Gran Canaria -## Target year for analysis, e.g. 2023 -year: 2023 ## Fully country name, e.g. España country: Spain ## Two character country code (ISO3166 Alpha-2 code), e.g. ES country_code: ES ## Continent name, e.g. Europe continent: Europe +## Target year for analysis, e.g. 2023 +year: 2023 ## Projected coordinate reference system (CRS) metadata crs: ## name of the projected (i.e. units in metres) coordinate reference system (CRS), e.g. REGCAN95 / LAEA Europe @@ -224,8 +224,8 @@ covariate_data: urban_query country_gdp: ## Country GDP classification, e.g. lower-middle classification: High-income - ## Citation for the GDP classification, e.g. The World Bank. 2020. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups - citation: The World Bank. 2020. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups + ## Citation for the GDP classification, e.g. The World Bank. 2023. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups + citation: The World Bank. 2023. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups ######### ## Optional custom destinations to import in addition to those from (e.g. as done for Maiduguri, Nigeria). Uncomment if required. # custom_destinations: @@ -353,145 +353,6 @@ reporting: country: "España" summary: | Después de revisar los resultados de su ciudad, proporcione un resumen contextualizado modificando el texto de "resumen" para cada idioma configurado dentro del archivo de configuración de la región. - # Chinese - Simplified: - # name: "大加那利岛拉斯帕尔马斯" - # country: "西班牙" - # summary: | - # 查看您所在城市的结果后,通过使用区域配置文件中的报告例外添加或修改每种相关语言的“摘要”例外文本来提供上下文摘要。 使用超链接将调查结果与您所在城市的外部参考和文档相关联。 - # Arabic: - # name: "CITY" - # country: "COUNTRY" - # summary: بعد مراجعة النتائج الخاصة بمدينتك، قم بتوفير ملخص سياقي عن طريق تعديل نص "الملخص" لكل لغة تم تكوينها داخل ملف تكوين المنطقة. - # Catalan: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Després de revisar els resultats de la vostra ciutat, proporcioneu un resum contextualitzat modificant el text "resum" per a cada idioma configurat dins del fitxer de configuració de la regió. - # Chinese - Traditional: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # 查看您所在城市的結果後,透過修改區域設定檔中每種設定語言的「摘要」文字來提供上下文摘要。 - # Croation: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Nakon pregleda rezultata za vaš grad, pružite kontekstualizirani sažetak izmjenom teksta "sažetka" za svaki konfigurirani jezik unutar konfiguracijske datoteke regije. - # Czech: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Po kontrole výsledků pro vaše město poskytněte kontextový souhrn úpravou textu „souhrnu“ pro každý nakonfigurovaný jazyk v konfiguračním souboru regionu. - # Danish: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Når du har gennemgået resultaterne for din by, skal du give et kontekstualiseret resumé ved at ændre "sammendrag"-teksten for hvert konfigureret sprog i regionkonfigurationsfilen. - # Dutch: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Nadat u de resultaten voor uw stad heeft bekeken, kunt u een gecontextualiseerde samenvatting geven door de 'samenvatting'-tekst voor elke geconfigureerde taal in het regioconfiguratiebestand aan te passen. - # Finnish: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Kun olet tarkistanut kaupunkisi tulokset, anna asiayhteyteen perustuva yhteenveto muokkaamalla kunkin määritetyn kielen yhteenvetotekstiä alueen määritystiedostossa. - # French: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Après avoir examiné les résultats pour votre ville, fournissez un résumé contextualisé en modifiant le texte « résumé » pour chaque langue configurée dans le fichier de configuration de la région.. - # German: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Nachdem Sie die Ergebnisse für Ihre Stadt überprüft haben, stellen Sie eine kontextualisierte Zusammenfassung bereit, indem Sie den „Zusammenfassungstext“ für jede konfigurierte Sprache in der Regionskonfigurationsdatei ändern. - # Hausa: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Bayan nazarin sakamakon garin ku, samar da taƙaitaccen bayani ta hanyar gyara rubutun "taƙaitawa" don kowane yare da aka daidaita a cikin fayil ɗin daidaitawar yanki. - # Hindi: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # अपने शहर के परिणामों की समीक्षा करने के बाद, क्षेत्र कॉन्फ़िगरेशन फ़ाइल के भीतर प्रत्येक कॉन्फ़िगर की गई भाषा के लिए "सारांश" पाठ को संशोधित करके एक प्रासंगिक सारांश प्रदान करें। - # Greek: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Αφού ελέγξετε τα αποτελέσματα για την πόλη σας, παρέχετε μια σύνοψη με βάση τα συμφραζόμενα τροποποιώντας το κείμενο "σύνοψης" για κάθε διαμορφωμένη γλώσσα στο αρχείο διαμόρφωσης περιοχής. - # Indonesian: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Setelah meninjau hasil untuk kota Anda, berikan ringkasan kontekstual dengan memodifikasi teks “ringkasan” untuk setiap bahasa yang dikonfigurasi dalam file konfigurasi wilayah. - # Italian: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Dopo aver esaminato i risultati per la tua città, fornisci un riepilogo contestualizzato modificando il testo del "riepilogo" per ciascuna lingua configurata all'interno del file di configurazione della regione. - # Japanese: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # あなたの都市の結果を確認した後、地域設定ファイル内の設定された言語ごとに「概要」テキストを変更して、状況に応じた概要を提供します。 - # Korean: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # 귀하의 도시에 대한 결과를 검토한 후 지역 구성 파일 내에서 구성된 각 언어에 대한 "요약" 텍스트를 수정하여 상황에 맞는 요약을 제공하십시오. - # Māori: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Whai muri i te arotake i nga hua mo to taone, homai he whakarāpopototanga horopaki ma te whakarereke i te tuhinga "whakapoto" mo ia reo kua whirihorahia i roto i te konae whirihoranga rohe. - # Nepali: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # तपाईंको सहरको नतिजाहरू समीक्षा गरेपछि, क्षेत्र कन्फिगरेसन फाइल भित्र प्रत्येक कन्फिगर गरिएको भाषाको लागि "सारांश" पाठ परिमार्जन गरेर एक सन्दर्भबद्ध सारांश प्रदान गर्नुहोस्। - # Persian: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # پس از بررسی نتایج برای شهر خود، با تغییر متن "خلاصه" برای هر زبان پیکربندی شده در فایل پیکربندی منطقه، یک خلاصه متنی ارائه دهید. - # Portuguese - Brazil: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Depois de analisar os resultados da sua cidade, forneça um resumo contextualizado modificando o texto do “resumo” para cada idioma configurado no arquivo de configuração da região. - # Portuguese - Portugal: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Depois de analisar os resultados da sua cidade, forneça um resumo contextualizado modificando o texto do “resumo” para cada idioma configurado no arquivo de configuração da região. - # Spanish - Mexico: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Después de revisar los resultados de su ciudad, proporcione un resumen contextualizado modificando el texto de "resumen" para cada idioma configurado dentro del archivo de configuración de la región. - # Tamil: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # உங்கள் நகரத்திற்கான முடிவுகளை மதிப்பாய்வு செய்த பிறகு, பிராந்திய உள்ளமைவு கோப்பில் உள்ள ஒவ்வொரு உள்ளமைக்கப்பட்ட மொழிக்கும் "சுருக்கம்" உரையை மாற்றுவதன் மூலம் சூழல்சார்ந்த சுருக்கத்தை வழங்கவும். - # Thai: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # หลังจากตรวจสอบผลลัพธ์สำหรับเมืองของคุณแล้ว ให้จัดทำสรุปตามบริบทโดยแก้ไขข้อความ "สรุป" สำหรับแต่ละภาษาที่กำหนดค่าไว้ภายในไฟล์การกำหนดค่าภูมิภาค - # Turkish: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Şehrinize ilişkin sonuçları inceledikten sonra, bölge yapılandırma dosyasındaki her yapılandırılmış dil için "özet" metnini değiştirerek bağlamsallaştırılmış bir özet sağlayın. - # Vietnamese: - # name: "CITY" - # country: "COUNTRY" - # summary: | - # Sau khi xem xét kết quả cho thành phố của bạn, hãy cung cấp bản tóm tắt theo ngữ cảnh bằng cách sửa đổi văn bản “tóm tắt” cho từng ngôn ngữ được định cấu hình trong tệp cấu hình khu vực. ## Optionally, exceptions to the template can be specified here, this can be useful for additional translation customisation without modifying the report_configuration.xlsx file. These phrases can incorporate translated phrases defined in report configuration, by enclosing these in curly braces, e.g. like {this}, if 'this' has been defined as a phrase in the relevant language. See the example region for a demonstration of how this can be used. Sections from the example can be pasted here and modified as required, or the below example can be uncommented. exceptions: "English": diff --git a/process/subprocesses/sketch_config_gui.py b/process/subprocesses/sketch_config_gui.py index 2d74b87b..26f2e7bd 100644 --- a/process/subprocesses/sketch_config_gui.py +++ b/process/subprocesses/sketch_config_gui.py @@ -7,32 +7,41 @@ import yaml from ghsci import Region +from local_file_picker import local_file_picker from nicegui import ui template_path = Path( '/home/ghsci/process/configuration/assets/region_template.yml', ) -country_codes_path = Path('/home/ghsci/process/data/flags/countries.json') +countries_path = Path( + '/home/ghsci/process/configuration/assets/WorldBank-Countries-2024.json', +) config_path = '/home/ghsci/process/configuration' # with open(template_path) as f: # region_template = yaml.safe_load(f) -with open(country_codes_path) as f: - country_codes = {v: k for k, v in json.load(f).items()} +with open(countries_path) as f: + countries = dict( + sorted( + { + element['name']: element + for element in json.load(f)[1] + if element['region']['id'] != 'NA' + }.items(), + ), + ) -def load_yaml(study_region=None): +def load_configuration(study_region=None): """Load yaml file and return as dictionary.""" if type(study_region) is Region: return study_region.config - if os.path.isfile(f'{config_path}/{study_region}.yml'): yml = f'{config_path}/{study_region}.yml' else: yml = template_path - with open(yml) as f: try: config = yaml.safe_load(f) @@ -44,13 +53,13 @@ def load_yaml(study_region=None): # class Configuration: # def __init__(self, study_region=None): -# config = load_yaml(study_region) +# config = load_configuration(study_region) # # Initialize attributes based on the keys in the region_template # for key, value in config.items(): # setattr(self, key, config.get(key, value)) -config = load_yaml(Region('example_ES_Las_Palmas_2023')) +config = load_configuration(Region('example_ES_Las_Palmas_2023')) policy_templates = { x: True if x in config['reporting']['templates'] else False for x in ['policy', 'spatial', 'policy_spatial'] @@ -70,14 +79,118 @@ def load_yaml(study_region=None): } +def getUTM(longitude, latitude): + """ + Get UTM zone number and EPSG code from latitude and longitude, accounting for Norway and Svalbard. + + Drawing on contributions from user2232395 and user52366 at + https://gis.stackexchange.com/questions/365584/convert-utm-zone-into-epsg-code + """ + + def latlon2utm(lon, lat): + import math + + # Norway_Svalbard_mappings + if lat >= 72.0 and lat < 84.0: + if lon >= 0.0 and lon < 9.0: + return 31 + if lon >= 9.0 and lon < 21.0: + return 33 + if lon >= 21.0 and lon < 33.0: + return 35 + if lon >= 33.0 and lon < 42.0: + return 37 + if lat >= 56 and lat < 64.0 and lon >= 3 and lon <= 12: + return 32 + return math.floor((lon + 180) / 6) + 1 + + try: + longitude = float(longitude) + latitude = float(latitude) + except Exception as e: + print(f'Unable to convert lat/lon to float (error: {e})') + return None + zone = latlon2utm(longitude, latitude) + # zone = (math.floor((longitude + 180) / 6) ) + 1 # without special zones for Svalbard and Norway + epsg_code = 32600 + epsg_code += int(zone) + if latitude < 0: # South + epsg_code += 100 + zone = f'{zone}S' + else: + zone = f'{zone}N' + + return { + 'zone': zone, + 'epsg': epsg_code, + } + + +def country_update(): + if config['country'] not in countries.keys(): + ui.notify( + f"Unable to auto-fill additional details as country '{config['country']}' was not found in World Bank (2023) data", + ) + else: + utm = getUTM( + countries[config['country']]['longitude'], + countries[config['country']]['latitude'], + ) + with ui.dialog() as dialog, ui.card(): + if utm is not None: + ui.label( + f"Do you want to auto-fill additional details on country two-letter region code, World Bank income category (2023), and co-ordinate reference system* based on the selected country '{config['country']}'? These may be modified as required.", + ) + ui.label( + f"Note that coordinate reference system based on country selection may not necessarily be an appropriate choice for your study region. Please review https://spatialreference.org/ref/epsg/{utm['epsg']} for more information on the UTM{utm['zone']} projection and consider whether there are more accurate options available.)", + ) + else: + ui.label( + f"Do you want to auto-fill additional details on country two-letter region code and World Bank income category (2023) based on the selected country '{config['country']}'? These may be modified as required.", + ), + with ui.row(): + ui.button( + 'No, go back', + on_click=lambda: { + preview_config.refresh(), + dialog.close(), + }, + ) + ui.button( + 'Yes, auto-fill', + on_click=lambda: { + run_country_updates(), + preview_config.refresh(), + dialog.close(), + }, + ) + dialog.open() + + +def run_country_updates(): + config['continent'] = countries[config['country']]['region']['value'] + config['country_gdp']['classification'] = countries[config['country']][ + 'incomeLevel' + ]['value'] + config['country_gdp'][ + 'citation' + ] = 'The World Bank. 2023. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups' + utm = getUTM( + countries[config['country']]['longitude'], + countries[config['country']]['latitude'], + ) + if utm is not None: + config['crs']['srid'] = utm['epsg'] + config['crs']['name'] = f'WGS 84 / UTM zone {utm["zone"]}' + config['crs']['standard'] = 'EPSG' + + @ui.refreshable def preview_config(): """Preview the configuration file.""" + if config['country'] in countries.keys(): + config['country_code'] = countries[config['country']]['iso2Code'] with ui.card().tight(): - if str(config['year']).isdigit(): - config['year'] = int(config['year']) - if config['country'] in country_codes.keys(): - config['country_code'] = country_codes[config['country']] for feed in [f for f in config['gtfs_feeds'] if f != 'folder']: start = config['gtfs_feeds'][feed]['start_date_mmdd'] end = config['gtfs_feeds'][feed]['end_date_mmdd'] @@ -96,13 +209,13 @@ def preview_config(): ui.label('(not earlier)') ui.button('Okay', on_click=dialog.close) dialog.open() - config['reporting']['templates'] = [ - x for x in policy_templates if policy_templates[x] - ] - preview = ui.code( - yaml.dump(config, default_flow_style=False, sort_keys=False), - language='yaml', - ) + config['reporting']['templates'] = [ + x for x in policy_templates if policy_templates[x] + ] + preview = ui.code( + yaml.dump(config, default_flow_style=False, sort_keys=False), + language='yaml', + ) def stepper_navigation(stepper, back=True, next=True): @@ -116,12 +229,26 @@ def stepper_navigation(stepper, back=True, next=True): def get_country_code(country=None): """Get the country code from the country name.""" - codes = [k for k, v in country_codes.items() if v == country] + codes = [k for k, v in countries.items() if v == country] if len(codes) > 0: return codes[0] return 'Two-letter country code' +async def locate_file( + path: str = '/home/ghsci/process/data', + dict: dict = None, + record: str = 'data', +): + """Locate a file.""" + file = await local_file_picker(path) + if record == 'data': + dict.update(data=file[0]) + if record == 'data_dir': + dict.update(data_dir=file[0]) + preview_config.refresh() + + # def add_exception(exception, language): # """Add an exception to the configuration file.""" # ui.input( @@ -129,12 +256,11 @@ def get_country_code(country=None): # placeholder=exception, # on_change=lambda: preview_config.refresh(), # ).bind_value(config['reporting']['exceptions'][language], exception).style('min-width:500px;') + + def configure_study_region(stepper): # for key, value in config.items(): - with ui.step('Study region details').on( - 'click', - lambda: stepper.set_value('Study region details'), - ): + with ui.step('Study region details'): # with ui.expansion(text='Expand to view and edit', group='group') ui.input( label='Full study region name', @@ -142,97 +268,86 @@ def configure_study_region(stepper): # validation={'Input too long': lambda value: len(value) < 50}, on_change=lambda: preview_config.refresh(), ).bind_value(config, 'name').style('min-width:500px;') - ui.select( - options=list(sorted(country_codes.keys())), - label='Select country from list or enter customised name', - with_input=True, - new_value_mode='add', - on_change=lambda: preview_config.refresh(), - ).bind_value(config, 'country').style('min-width:500px;') - ui.input( - label='Two character country code (ISO3166 Alpha-2 code)', - placeholder=get_country_code(config['country']), - on_change=lambda: preview_config.refresh(), - ).bind_value(config, 'country_code').style('min-width:500px;') - ui.input( + ui.number( label='Target year for analysis', - placeholder=2024, - validation={ - 'Must be a 4-digit numeric year (e.g. 2023)': lambda value: type( - value, - ) - is int - and value > 999 - and value < 10000, - }, - on_change=lambda: preview_config.refresh(), - ).bind_value(config, 'year').style('min-width:300px;') - # ui.number( - # label='Target year for analysis', - # format='%d', - # placeholder=2023, - # min=0, - # max=2100, - # precision=0, - # on_change=lambda: preview_config.refresh(), - # ).bind_value(config, 'year').style('min-width:300px;') - ui.input( - label='Country GDP classification, e.g. lower-middle', - placeholder='High-income', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['country_gdp'], 'classification').style( - 'min-width:500px;', - ) - ui.input( - label='Citation for the GDP classification, e.g. The World Bank. 2020. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups', - placeholder='The World Bank. 2020. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups', + format='%d', + placeholder=2023, + min=0, + max=2100, + precision=0, on_change=lambda: preview_config.refresh(), - ).bind_value(config['country_gdp'], 'citation').style( - 'min-width:500px;', + ).bind_value( + config, + 'year', + backward=lambda year: int(year), + forward=lambda year: int(year), + ).style( + 'min-width:300px;', ) ui.input( label='Notes', placeholder='Any additional aspects of this study region or analysis that should be noted.', on_change=lambda: preview_config.refresh(), ).bind_value(config, 'notes').style('min-width:500px;') - stepper_navigation(stepper, back=False) - - -def configure_crs(stepper): - with ui.step('Projected coordinate reference system (CRS)').on( - 'click', - lambda: stepper.set_value( - 'Projected coordinate reference system (CRS)', - ), - ): - ui.markdown( - 'Please specify a suitable [projected coordinate reference system](https://en.wikipedia.org/wiki/Projected_coordinate_system#Examples_of_projected_CRS) (CRS; having units in metres) for this study region. Search [https://epsg.io](https://epsg.io) or [https://spatialreference.org/](https://spatialreference.org/) for a suitable projection noting its name (e.g. ), standard (e.g. EPSG) and spatial reference identifier code (SRID). This will be used for analysis of accessibility using units of metres.', - ) - ui.input( - label='CRS name', - placeholder='WGS 84 / UTM zone 28N', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['crs'], 'name').style('min-width:500px;') - ui.input( - label='Acronym of the standard catalogue defining this CRS, eg. EPSG', - placeholder='EPSG', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['crs'], 'standard').style( - 'min-width:500px;', - ) - ui.input( - label='Spatial reference identifier (SRID) integer for this CRS and standard', - placeholder='EPSG', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['crs'], 'srid').style('min-width:500px;') + with ui.card().style('width: 100%'): + ui.label('Country context').style('font-weight:700;') + if config['country'] in countries.keys(): + ui.button( + 'Auto-fill additional details based on country selection', + on_click=country_update, + ) + ui.select( + options=list(sorted(countries.keys())), + label='Select country from list or enter customised name', + with_input=True, + new_value_mode='add', + on_change=lambda: preview_config.refresh(), + ).bind_value(config, 'country').style('min-width:500px;') + ui.input( + label='Two character country code (ISO3166 Alpha-2 code)', + placeholder=get_country_code(config['country']), + on_change=lambda: preview_config.refresh(), + ).bind_value(config, 'country_code').style('min-width:500px;') + ui.input( + label='Country World Bank income group classification, e.g. lower-middle', + placeholder='High-income', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['country_gdp'], 'classification').style( + 'width:500px;', + ) + ui.textarea( + label='Citation for the GDP classification ', + placeholder='The World Bank. 2023. World Bank country and lending groups. https://datahelpdesk.worldbank.org/knowledgebase/articles/906519-world-bank-country-and-lending-groups', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['country_gdp'], 'citation').style( + 'width: 100%;', + ) + with ui.card(): + ui.markdown( + 'Please specify a suitable [projected coordinate reference system](https://en.wikipedia.org/wiki/Projected_coordinate_system#Examples_of_projected_CRS) (CRS; having units in metres) for this study region. Search [https://epsg.io](https://epsg.io) or [https://spatialreference.org/](https://spatialreference.org/) for a suitable projection noting its name (e.g. ), standard (e.g. EPSG) and spatial reference identifier code (SRID). This will be used for analysis of accessibility using units of metres.', + ) + ui.input( + label='CRS name', + placeholder='WGS 84 / UTM zone 28N', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['crs'], 'name').style('min-width:500px;') + ui.input( + label='Acronym of the standard catalogue defining this CRS, eg. EPSG', + placeholder='EPSG', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['crs'], 'standard').style( + 'min-width:500px;', + ) + ui.input( + label='Spatial reference identifier (SRID) integer for this CRS and standard', + placeholder='EPSG', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['crs'], 'srid').style('min-width:500px;') stepper_navigation(stepper) def configure_boundary(stepper): - with ui.step('Study region boundary data').on( - 'click', - lambda: stepper.set_value('Study region boundary data'), - ): + with ui.step('Study region boundary data'): ui.label( 'Please provide the path to the study region boundary data, relative to the project directory.', ) @@ -245,47 +360,87 @@ def configure_boundary(stepper): ui.label( '''Data may optionally be queried to return a boundary matching specific attributes, for example: region_boundaries/your_geopackage.gpkg:layer_name -where "some_attribute=='some_value'"''', ) + # file path browser for boundary data + ui.button( + 'Select a file in the process/data folder', + on_click=lambda: locate_file( + dict=config['study_region_boundary'], + record='data', + ), + ).props( + 'icon=folder', + ) ui.input( label='Boundary data path', placeholder='/path/to/boundary/data.shp', on_change=lambda: preview_config.refresh(), - ).bind_value(config['study_region_boundary'], 'data').style( - 'min-width:500px;', - ) - ui.input( - label='The name of the source of this data.', - placeholder='Centro Nacional de Información Geográfica', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['study_region_boundary'], 'source').style( - 'min-width:500px;', - ) - ui.input( - label='Publication date for study region area data source, using the format yyyy-mm-dd. e.g. 2019-02-01', - placeholder='2019-02-01', - on_change=lambda: preview_config.refresh(), ).bind_value( config['study_region_boundary'], - 'publication_date', + 'data', + backward=lambda path: path.replace( + '/home/ghsci/process/data/', + '', + ), ).style( - 'min-width:500px;', - ) - ui.input( - label='URL for the source dataset, or its provider, e.g. https://datos.gob.es/en/catalogo/e00125901-spaignllm', - placeholder='https://datos.gob.es/en/catalogo/e00125901-spaignllm', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['study_region_boundary'], 'url').style( - 'min-width:500px;', - ) - ui.input( - label='Licence for the data, e.g. CC-BY-4.0', - placeholder='CC-BY-4.0', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['study_region_boundary'], 'licence').style( - 'min-width:500px;', - ) - ui.input( - label='Whether the provided study region boundary will be further restricted to an urban area defined by its intersection with a linked urban region dataset (see urban_region), e.g. true', - placeholder='true', + 'width:100%;', + ), + with ui.card().style('width:100%;'): + ui.label('Citation details').style('font-weight:700;') + ui.input( + label='The name of the source of this data.', + placeholder='Centro Nacional de Información Geográfica', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['study_region_boundary'], 'source').style( + 'width:100%;', + ) + ui.input( + label='URL for the source dataset.', + placeholder='https://datos.gob.es/en/catalogo/e00125901-spaignllm', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['study_region_boundary'], 'url').style( + 'width:100%;', + ) + ui.textarea( + label='A formal citation for this data.', + placeholder='Instituto Geográfico Nacional (2019). Base de datos de divisiones administrativas de España. https://datos.gob.es/en/catalogo/e00125901-spaignllm', + on_change=lambda: preview_config.refresh(), + ).bind_value( + config['study_region_boundary'], + 'citation', + ).style( + 'width:100%;', + ) + ui.label('Publication date') + with ui.input('Date') as date: + with ui.menu().props('no-parent-event') as menu: + with ui.date().bind_value(date).bind_value( + config['study_region_boundary'], + 'publication_date', + ): + with ui.row().classes('justify-end'): + ui.button('Close', on_click=menu.close).props( + 'flat', + ) + with date.add_slot('append'): + ui.icon('edit_calendar').on('click', menu.open).classes( + 'cursor-pointer', + ) + ui.input( + label='Licence for the data, e.g. CC-BY-4.0', + placeholder='CC-BY-4.0', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['study_region_boundary'], 'licence').style( + 'min-width:500px;', + ) + ui.textarea( + label='Notes', + placeholder='manually extracted municipal boundary for Las Palmas de Gran Canaria in WGS84 from the downloaded zip file "lineas_limite.zip" using QGIS to a geojson file for demonstration purposes.', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['study_region_boundary'], 'notes').style( + 'width:100%;', + ) + ui.checkbox( + text='Restrict analysis to an urban area defined by its intersection with a defined urban region (configured later)?', on_change=lambda: preview_config.refresh(), ).bind_value( config['study_region_boundary'], @@ -293,262 +448,391 @@ def configure_boundary(stepper): ).style( 'min-width:500px;', ) - ui.input( - label='A formal citation for this data, e.g. "Instituto Geográfico Nacional (2019). Base de datos de divisiones administrativas de España. https://datos.gob.es/en/catalogo/e00125901-spaignllm."', - placeholder='Instituto Geográfico Nacional (2019). Base de datos de divisiones administrativas de España. https://datos.gob.es/en/catalogo/e00125901-spaignllm', - on_change=lambda: preview_config.refresh(), - ).bind_value( - config['study_region_boundary'], - 'citation', - ).style( - 'min-width:500px;', - ) - ui.input( - label='Notes', - placeholder='manually extracted municipal boundary for Las Palmas de Gran Canaria in WGS84 from the downloaded zip file "lineas_limite.zip" using QGIS to a geojson file for demonstration purposes.', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['study_region_boundary'], 'notes').style( - 'min-width:500px;', - ) stepper_navigation(stepper) def configure_population(stepper): - with ui.step('Population data').on( - 'click', - lambda: stepper.set_value('Population data'), - ): - ui.input( - label='Name of the population data', - placeholder='Global Human Settlements population data 2020 (EU JRC, 2022)', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'name').style( - 'min-width:500px;', + with ui.step('Population data'): + ui.markdown( + 'Population distribution may be represented using a raster population grid or vector data. Our provided example uses the [Global Human Settlements Layer population destimates](https://human-settlement.emergency.copernicus.eu/download.php?ds=pop). Note that if using this data, you must select an epoch for population estimates/projections (e.g. 2025). The default resolution of 100m is recommended. Your study region may span multiple grid tiles; check using the map at the above link, then download and extract tif files to a sub-folder within the process/data folder that you can browse to using the button below.', + ) + # file path browser for boundary data + ui.button( + 'Select a folder containing in the process/data folder', + on_click=lambda: locate_file( + dict=config['population'], + record='data_dir', + ), + ).props( + 'icon=folder', ) ui.input( label='Path relative to project data directory to folder containing tifs, or to vector file', placeholder='population_grids/Example/GHS_POP_E2020_GLOBE_R2023A_54009_100_V1_0_R5_C23', on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'data_dir').style( - 'min-width:500px;', - ) - ui.input( - label='Type of data (e.g. "raster:Int64" or "vector")', - placeholder='raster:Int64', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'data_type').style( - 'min-width:500px;', - ) - ui.input( - label='Resolution of the image, e.g. 100 m', - placeholder='100m', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'resolution').style( - 'min-width:500px;', - ) - ui.input( - label='The image band containing the relevant data, e.g. for GHSL-POP, 1', - placeholder='1', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'raster_band').style( - 'min-width:500px;', - ) - ui.input( - label='A value in the image that represents "no data", e.g. for GHSL-POP, -200', - placeholder='-200', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'raster_nodata').style( - 'min-width:500px;', - ) - ui.input( - label='Sample points intersecting grid cells with estimated population less than this will be excluded from analysis. Depending on your population data resolution, you can use this to exclude areas with very low population due to the uncertainty of where anyone might live in that area, or if they do at all', - placeholder='1', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'pop_min_threshold').style( - 'min-width:500px;', - ) - ui.input( - label='Coordinate reference system metadata for population data (e.g. Mollweide, ESRI, 54009)', - placeholder='Mollweide', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'crs_name').style( - 'min-width:500px;', - ) - ui.input( - label='URL for where this data was sourced from', - placeholder='https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/GHSL/GHS_POP_GLOBE_R2022A/GHS_POP_E2020_GLOBE_R2022A_54009_100/V1-0/tiles/GHS_POP_E2020_GLOBE_R2022A_54009_100_V1_0_R6_C17.zip', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'source_url').style( - 'min-width:500px;', - ) - ui.input( - label='Year the data was published (yyyy), e.g. 2023', - placeholder='2022', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'year_published').style( - 'min-width:500px;', - ) - ui.input( - label='The year the data is intended to represent (yyyy), e.g. 2020', - placeholder='2020', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'year_target').style( - 'min-width:500px;', - ) - ui.input( - label='The date you retrieved it (yyyymmdd). This can be useful to record as data can be subject to revision. e.g. 20230627', - placeholder='20230222', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'date_acquired').style( - 'min-width:500px;', - ) - ui.input( - label='Licence, e.g. "CC BY 4.0"', - placeholder='CC BY 4.0', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'licence').style( - 'min-width:500px;', - ) - ui.input( - label='Citation, e.g. "Schiavina, M; Freire, S; Carioli, A., MacManus, K (2023): GHS-POP R2023A - GHS population grid multitemporal (1975-2030). European Commission, Joint Research Centre (JRC) [Dataset] doi: 10.2905/D6D86A90-4351-4508-99C1-CB074B022C4A"', - placeholder='Schiavina, Marcello; Freire, Sergio; MacManus, Kytt (2022): GHS-POP R2022A - GHS population grid multitemporal (1975-2030). European Commission, Joint Research Centre (JRC) [Dataset] doi: 10.2905/D6D86A90-4351-4508-99C1-CB074B022C4A', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['population'], 'citation').style( - 'min-width:500px;', + ).bind_value( + config['population'], + 'data_dir', + backward=lambda path: path.replace( + '/home/ghsci/process/data/', + '', + ), + ).style( + 'width:100%;', ) + with ui.card().style('width: 100%'): + ui.label('Citation details').style('font-weight:700;') + ui.input( + label='Name of the population data', + placeholder='Global Human Settlements population data 2020 (EU JRC, 2022)', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'name').style( + 'width:100%;', + ) + ui.textarea( + label='URL(s) used to retrieve this data', + placeholder='https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/GHSL/GHS_POP_GLOBE_R2022A/GHS_POP_E2020_GLOBE_R2022A_54009_100/V1-0/tiles/GHS_POP_E2020_GLOBE_R2022A_54009_100_V1_0_R6_C17.zip', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'source_url').style( + 'width:100%;', + ) + ui.textarea( + label='Citation', + placeholder='Schiavina, Marcello; Freire, Sergio; MacManus, Kytt (2022): GHS-POP R2022A - GHS population grid multitemporal (1975-2030). European Commission, Joint Research Centre (JRC) [Dataset] doi: 10.2905/D6D86A90-4351-4508-99C1-CB074B022C4A', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'citation').style( + 'width:100%;', + ) + ui.input( + label='Licence, e.g. "CC BY 4.0"', + placeholder='CC BY 4.0', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'licence').style( + 'min-width:500px;', + ) + ui.input( + label='Year the data was published (yyyy), e.g. 2023', + placeholder='2022', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'year_published').style( + 'min-width:500px;', + ) + ui.input( + label='The year the data is intended to represent (yyyy), e.g. 2020', + placeholder='2020', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'year_target').style( + 'min-width:500px;', + ) + ui.label('Retrieval date') + with ui.input('Date') as date: + with ui.menu().props('no-parent-event') as menu: + with ui.date().bind_value(date).bind_value( + config['population'], + 'date_acquired', + ): + with ui.row().classes('justify-end'): + ui.button('Close', on_click=menu.close).props( + 'flat', + ) + with date.add_slot('append'): + ui.icon('edit_calendar').on('click', menu.open).classes( + 'cursor-pointer', + ) + with ui.card().style('width: 100%'): + with ui.expansion( + 'Advanced configuration options', + icon='settings', + ).classes('w-full'): + ui.label( + 'If you are using the GHSL-POP data, as demonstrated in the provided example, you may not have to modify the following options. However, if you are using alternative data it is likely that additional configuration will be required.', + ) + ui.input( + label='Type of data (e.g. "raster:Int64" or "vector")', + placeholder='raster:Int64', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'data_type').style( + 'min-width:500px;', + ) + ui.input( + label='Resolution of the image, e.g. 100 m', + placeholder='100m', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'resolution').style( + 'min-width:500px;', + ) + ui.input( + label='The image band containing the relevant data, e.g. for GHSL-POP, 1', + placeholder='1', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'raster_band').style( + 'min-width:500px;', + ) + ui.input( + label='A value in the image that represents "no data", e.g. for GHSL-POP, -200', + placeholder='-200', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'raster_nodata').style( + 'min-width:500px;', + ) + ui.input( + label='Sample points intersecting grid cells with estimated population less than this will be excluded from analysis. Depending on your population data resolution, you can use this to exclude areas with very low population due to the uncertainty of where anyone might live in that area, or if they do at all', + placeholder='1', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'pop_min_threshold').style( + 'min-width:500px;', + ) + ui.input( + label='Coordinate reference system metadata for population data (e.g. Mollweide, ESRI, 54009)', + placeholder='Mollweide', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['population'], 'crs_name').style( + 'min-width:500px;', + ) stepper_navigation(stepper) def configure_openstreetmap(stepper): - with ui.step('OpenStreetMap data').on( - 'click', - lambda: stepper.set_value('OpenStreetMap data'), - ): - ui.input( - label='Path relative to project data directory to OpenStreetMap data file', - placeholder='OpenStreetMap/Example/iran_51.092,35.567_51.603,35.829.osm.pbf', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['OpenStreetMap'], 'data_dir').style( - 'min-width:500px;', + with ui.step('OpenStreetMap data'): + # file path browser for boundary data + ui.button( + 'Select a file in the process/data folder', + on_click=lambda: locate_file( + dict=config['OpenStreetMap'], + record='data_dir', + ), + ).props( + 'icon=folder', ) ui.input( - label='The source of the OpenStreetMap data (e.g. Planet OSM, GeoFabrik or OpenStreetMap.fr)', - placeholder='OpenStreetMap.fr', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['OpenStreetMap'], 'source').style( - 'min-width:500px;', - ) - ui.input( - label='When it was published (yyyymmdd), e.g. 20230627', - placeholder='20230221', + label='OpenStreetMap .pbf file', + placeholder='OpenStreetMap/Example/iran_51.092,35.567_51.603,35.829.osm.pbf', on_change=lambda: preview_config.refresh(), ).bind_value( config['OpenStreetMap'], - 'publication_date', + 'data_dir', + backward=lambda path: path.replace( + '/home/ghsci/process/data/', + '', + ), ).style( - 'min-width:500px;', - ) - ui.input( - label='Licence (which is most likely ODbL for OpenStreetMap data published since 2012)', - placeholder='ODbL', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['OpenStreetMap'], 'licence').style( - 'min-width:500px;', - ) - ui.input( - label='The URL from where it was downloaded', - placeholder='https://download.openstreetmap.fr/extracts/africa/spain/canarias/las_palmas-latest.osm.pbf', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['OpenStreetMap'], 'url').style( - 'min-width:500px;', - ) - ui.input( - label='An optional note regarding this data', - placeholder='This is configured with a derived excerpt from the larger OpenStreetMap dataset for Las Canarias based on the 1600m buffered municipal boundary of Las Palmas de Gran Canaria to reduce file size for demonstration purposes.', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['OpenStreetMap'], 'note').style( - 'min-width:500px;', + 'width:100%;', ) + with ui.card().style('width: 100%'): + ui.label('Citation details').style('font-weight:700;') + ui.input( + label='The source of the OpenStreetMap data (e.g. Planet OSM, GeoFabrik or OpenStreetMap.fr)', + placeholder='OpenStreetMap.fr', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['OpenStreetMap'], 'source').style( + 'width:100%;', + ) + ui.label('Publication date') + with ui.input('Date') as date: + with ui.menu().props('no-parent-event') as menu: + with ui.date().bind_value(date).bind_value( + config['OpenStreetMap'], + 'publication_date', + backward=lambda date: datetime.strptime( + str(date), + '%Y%m%d', + ).strftime('%Y-%m-%d'), + forward=lambda date: datetime.strptime( + str(date), + '%Y-%m-%d', + ).strftime('%Y%m%d'), + ): + with ui.row().classes('justify-end'): + ui.button('Close', on_click=menu.close).props( + 'flat', + ) + with date.add_slot('append'): + ui.icon('edit_calendar').on('click', menu.open).classes( + 'cursor-pointer', + ) + ui.textarea( + label='The URL from where it was downloaded', + placeholder='https://download.openstreetmap.fr/extracts/africa/spain/canarias/las_palmas-latest.osm.pbf', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['OpenStreetMap'], 'url').style( + 'width:100%;', + ) + ui.textarea( + label='An optional note regarding this data', + placeholder='This is configured with a derived excerpt from the larger OpenStreetMap dataset for Las Canarias based on the 1600m buffered municipal boundary of Las Palmas de Gran Canaria to reduce file size for demonstration purposes.', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['OpenStreetMap'], 'note').style( + 'width:100%;', + ) stepper_navigation(stepper) +def toggle_network_source(value): + if value == 'Custom' and 'intersections' not in config['network']: + config['network']['intersections'] = {} + config['network']['intersections']['data'] = '' + config['network']['intersections']['citation'] = '' + config['network']['intersections']['note'] = '' + + def configure_network(stepper): - with ui.step('Pedestrian street network data').on( - 'click', - lambda: stepper.set_value('Pedestrian street network data'), - ): - # The following includes parameters for a basic analysis. Additional advanced configuration options are available by editing a configuration file in a text editor according to the provided examples. - ui.label( - 'Tolerance in metres for cleaning intersections. If not providing your own data for evaluating intersection density (see below), this is an important methodological choice. The chosen parameter should be robust to a variety of network topologies in the city being studied. See https://github.com/gboeing/osmnx-examples/blob/main/notebooks/04-simplify-graph-consolidate-nodes.ipynb', - ) - ui.label( - 'Optionally, data for evaluating intersections can be provided as an alternative to deriving intersections from OpenStreetMap (where available, this may be preferable). See the provided example configuration file for directions on how to do this.', + with ui.step('Pedestrian street network data'): + ui.label('Data source for intersection analysis') + switch = ui.toggle( + [ + 'OpenStreetMap', + 'Custom', + ], + value=['OpenStreetMap', 'Custom'][ + 'intersections' in config['network'] + ], + on_change=lambda e: toggle_network_source(e.value), + clearable=False, + ).style( + 'font-weight:700;', ) - for key, value in config['network'].items(): + with ui.card().style('width: 100%').bind_visibility_from( + switch, + 'value', + value='Custom', + ): + ui.label( + 'Optionally, data for evaluating intersections can be provided as an alternative to deriving intersections from OpenStreetMap (where available, this may be preferable). See the provided example configuration file for directions on how to do this.', + ) + + with ui.card().style('width: 100%').bind_visibility_from( + switch, + 'value', + value='OpenStreetMap', + ): + ui.label( + 'Tolerance in metres for cleaning intersections. If not providing your own data for evaluating intersection density (see below), this is an important methodological choice. The chosen parameter should be robust to a variety of network topologies in the city being studied. See https://github.com/gboeing/osmnx-examples/blob/main/notebooks/04-simplify-graph-consolidate-nodes.ipynb', + ) ui.input( - label=key, - placeholder=value, + label='Intersection tolerance (m)', + placeholder='12', on_change=lambda: preview_config.refresh(), - ).bind_value(config['network'], key) + ).bind_value(config['network'], 'intersection_tolerance').style( + 'min-width:500px;', + ) + with ui.expansion( + 'Advanced configuration options', + icon='settings', + ).classes('w-full'): + ui.checkbox( + text='Retain main connected network when retrieving OSM roads? The default is unchecked or "false" for most settings, however if your study region spans multiple disconnected islands it may be more appropriate set to checked or "true"', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['network'], 'osmnx_retain_all') + ui.checkbox( + text='Extract the network for the buffered study region? The default is checked or "true" in most cases. Setting this to unchecked or "false" may be appropriate for study regions comprised of multiple islands, but could be problematic for anywhere else where the network and associated amenities may be accessible beyond the edge of the study region boundary.', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['network'], 'buffered_region') + ui.checkbox( + text='Iterate over and combine polygons? The default is unchecked or "false" for most cases, but may be appropriate for a series of islands, like Hong Kong.', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['network'], 'polygon_iteration') + ui.label( + 'Minimum total network distance for subgraphs to retain. This is a useful parameter for customising analysis for islands, like Hong Kong, but for most purposes you can leave this blank (the default).', + ) + ui.number( + label='Metres (None, or > 0).', + placeholder=None, + min=-1, + on_change=lambda: preview_config.refresh(), + ).bind_value( + config['network'], + 'connection_threshold', + backward=lambda value: ( + int(value) if value is not None and value > 0 else None + ), + ).style( + 'min-width:500px;', + ) + ui.label( + 'Pedestrian network definition. This is the query used to retrieve the pedestrian network from OpenStreetMap. The default is a query that excludes motorways, proposed roads, construction sites, abandoned roads, platforms, raceways, private roads, and roads with private access. You may customise this query to suit your study region. See https://osmnx.readthedocs.io/en/stable/user-reference.html#module-osmnx.graph and https://wiki.openstreetmap.org/wiki/Overpass_API.', + ) + ui.textarea( + 'OSMnx Overpass custom filter query', + placeholder='["highway"]["area"!~"yes"]["highway"!~"motor|proposed|construction|abandoned|platform|raceway"]["foot"!~"no"]["service"!~"private"]["access"!~"private"]', + on_change=lambda: preview_config.refresh(), + ).bind_value( + config['network'], + 'pedestrian', + ).style( + 'width:100%;', + ) stepper_navigation(stepper) def configure_urban_region(stepper): - with ui.step('Urban region data').on( - 'click', - lambda: stepper.set_value('Urban region data'), - ): - ui.input( - label='Name for the urban region data, e.g. "Global Human Settlements urban centres: 2015 (EU JRC, 2019)"', - placeholder='Global Human Settlements urban centres: 2015 (EU JRC, 2019; Las Palmas de Gran Canaria only)', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['urban_region'], 'name').style( - 'min-width:500px;', + with ui.step('Urban region data'): + ui.markdown( + 'You can configure analysis to be restricted to a specific urban region for analysis using the Global Human Settlements Layer (GHSL) Urban Centres Database (UCDB). This database has a target year of 2015, however it provides data on urban agglomerations globally linked with relevant contextual attributes. Further details including links to download the full GHSL UCDB (R2019A) are available [here](https://data.jrc.ec.europa.eu/dataset/53473144-b88c-44bc-b4a3-4583ed1f547e).', ) - ui.input( - label='Path to data relative to the project data directory, e.g. "urban_regions/GHS_STAT_UCDB2015MT_GLOBE_R2019A_V1_2.gpkg"', - placeholder='urban_regions/Example/GHS_STAT_UCDB2015MT_GLOBE_R2019A_V1_2.gpkg', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['urban_region'], 'data_dir').style( - 'min-width:500px;', + ui.button( + 'Select a file in the process/data folder', + on_click=lambda: locate_file( + dict=config['urban_region'], + record='data_dir', + ), + ).props( + 'icon=folder', ) ui.input( - label='Licence, e.g. CC BY 4.0', - placeholder='CC BY 4.0', - on_change=lambda: preview_config.refresh(), - ).bind_value(config['urban_region'], 'licence').style( - 'min-width:500px;', - ) - ui.input( - label='Citation for this data, this has been pre-filled for the GHSL UCDB (2019), but change as required if using', - placeholder='Florczyk, A. et al. (2019): GHS Urban Centre Database 2015, multitemporal and multidimensional attributes, R2019A. European Commission, Joint Research Centre (JRC). https://data.jrc.ec.europa.eu/dataset/53473144-b88c-44bc-b4a3-4583ed1f547e', + label='Path to data relative to the project data directory', + placeholder='urban_regions/Example/GHS_STAT_UCDB2015MT_GLOBE_R2019A_V1_2.gpkg', on_change=lambda: preview_config.refresh(), - ).bind_value(config['urban_region'], 'citation').style( - 'min-width:500px;', - ) - ui.label( - 'A list of additional covariates can be optionally linked for cities included in the GHSL UCDB. These may be edited in a text editor according to the provided examples.', + ).bind_value( + config['urban_region'], + 'data_dir', + backward=lambda path: path.replace( + '/home/ghsci/process/data/', + '', + ), + ).style( + 'width:100%;', ) - ui.input( + ui.textarea( label='Query used to identify the specific urban region relevant for this region in the Urban Centres database', placeholder='GHS:UC_NM_MN==\'Las Palmas de Gran Canaria\' and CTR_MN_NM==\'Spain\'', on_change=lambda: preview_config.refresh(), - ).bind_value(config, 'urban_query').style('min-width:500px;') - ui.input( - label='Additional study region summary covariates to be optionally linked. This is designed to retrieve the list of covariates specifies in the \'urban_region\' configuration, either from the configured Global Human Settlements Layer data (enter "urban_query"), or from a CSV file (provide a path relative to the project data directory)', - placeholder='urban_query', - on_change=lambda: preview_config.refresh(), - ).bind_value(config, 'covariate_data').style( - 'min-width:500px;', - ) + ).bind_value(config, 'urban_query').style('width: 100%;') + with ui.card().style('width: 100%'): + ui.label('Citation details').style('font-weight:700;') + ui.input( + label='Name for the urban region data', + placeholder='GHS Urban Centre Database 2015 (EU JRC, 2019)', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['urban_region'], 'name').style( + 'min-width:500px;', + ) + ui.input( + label='Citation for this data, this has been pre-filled for the GHSL UCDB (2019), but change as required if using', + placeholder='Florczyk, A. et al. (2019): GHS Urban Centre Database 2015, multitemporal and multidimensional attributes, R2019A. European Commission, Joint Research Centre (JRC). https://data.jrc.ec.europa.eu/dataset/53473144-b88c-44bc-b4a3-4583ed1f547e', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['urban_region'], 'citation').style( + 'min-width:500px;', + ) + ui.input( + label='Licence, e.g. CC BY 4.0', + placeholder='CC BY 4.0', + on_change=lambda: preview_config.refresh(), + ).bind_value(config['urban_region'], 'licence').style( + 'min-width:500px;', + ) + with ui.card().style('width: 100%'): + with ui.expansion( + 'Advanced configuration options', + icon='settings', + ).classes('w-full'): + ui.label( + 'A list of additional covariates can be optionally linked for cities included in the GHSL UCDB. These may be edited in a text editor according to the provided examples.', + ) stepper_navigation(stepper) def configure_optional(stepper): - with ui.step('Optional analyses').on( - 'click', - lambda: stepper.set_value('Optional analyses'), - ): + with ui.step('Optional analyses'): with ui.switch('Policy review').style( 'font-weight:700;', ) as policy_review: @@ -694,10 +978,7 @@ def configure_optional(stepper): def configure_reporting(stepper): - with ui.step('Reporting').on( - 'click', - lambda: stepper.set_value('Reporting'), - ): + with ui.step('Reporting'): ui.label( 'The following parameters are used to configure the reporting of the study region configuration and results. These are not used in the analysis, but are important for documenting the study region and results.', ) @@ -887,25 +1168,28 @@ def configure_reporting(stepper): stepper_navigation(stepper, next=False) -with ui.row(): - with ui.column().classes('w-1/2'): - with ui.stepper().props('vertical').classes('w-full') as stepper: - configure_study_region(stepper) - configure_crs(stepper) - configure_boundary(stepper) - configure_population(stepper) - configure_openstreetmap(stepper) - configure_network(stepper) - configure_urban_region(stepper) - configure_optional(stepper) - configure_reporting(stepper) - with ui.column().style('max-width: 40%'): - ui.label('Study region configuration preview').style( - 'font-weight:700;', - ) - preview_config() - # with ui.column(): - # ui.code(country_codes, language='json') +@ui.page('/') +async def main_page(): + with ui.row(): + with ui.column().classes('w-1/2'): + with ui.stepper().props( + 'v-model="step" header-nav ref="stepper" color="primary" animated', + ).classes('w-full') as stepper: + configure_study_region(stepper) + configure_boundary(stepper) + configure_population(stepper) + configure_openstreetmap(stepper) + configure_network(stepper) + configure_urban_region(stepper) + configure_optional(stepper) + configure_reporting(stepper) + with ui.column().style('max-width: 40%'): + ui.label('Study region configuration preview').style( + 'font-weight:700;', + ) + preview_config() + # with ui.column(): + # ui.code(countries, language='json') # preview_config()