diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index da984fd3..648e5cc2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -52,10 +52,9 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Clone pypsa-eur and technology-data repositories + - name: Clone pypsa-eur subworkflow run: | git clone https://github.com/pypsa/pypsa-eur ../pypsa-eur - git clone https://github.com/pypsa/technology-data ../technology-data cp ../pypsa-eur/test/config.test1.yaml ../pypsa-eur/config.yaml - name: Setup secrets diff --git a/.gitignore b/.gitignore index a7049efe..e3f625c3 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,9 @@ gurobi.log /data/Industrial_Database.csv /data/retro/tabula-calculator-calcsetbuilding.csv /data/nuts* +data/gas_network/scigrid-gas/ +dask-worker-space/ +publications.jrc.ec.europa.eu/ *.org @@ -48,3 +51,7 @@ doc/_build *.xls *.geojson + +*.ipynb + +data/costs_* \ No newline at end of file diff --git a/Snakefile b/Snakefile index a76d42de..63961989 100644 --- a/Snakefile +++ b/Snakefile @@ -1,6 +1,6 @@ from os.path import exists -from shutil import copyfile +from shutil import copyfile, move from snakemake.remote.HTTP import RemoteProvider as HTTPRemoteProvider HTTP = HTTPRemoteProvider() @@ -21,7 +21,6 @@ wildcard_constraints: SDIR = config['summary_dir'] + '/' + config['run'] RDIR = config['results_dir'] + config['run'] -CDIR = config['costs_dir'] subworkflow pypsaeur: @@ -44,6 +43,13 @@ rule prepare_sector_networks: expand(RDIR + "/prenetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc", **config['scenario']) + +rule plot_all_networks: + input: + expand(RDIR + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all_{planning_horizons}.pdf", + **config['scenario']) + + datafiles = [ "data/eea/UNFCCC_v23.csv", "data/switzerland-sfoe/switzerland-new_format.csv", @@ -65,6 +71,15 @@ if config.get('retrieve_sector_databundle', True): script: 'scripts/retrieve_sector_databundle.py' +if config.get("retrieve_cost_data", True): + rule retrieve_cost_data: + input: HTTP.remote("raw.githubusercontent.com/PyPSA/technology-data/{}/outputs/".format(config['costs']['version']) + "costs_{year}.csv", keep_local=True) + output: "data/costs_{year}.csv" + log: "logs/" + RDIR + "retrieve_cost_data_{year}.log", + resources: mem_mb=1000, + run: move(input[0], output[0]) + + rule build_population_layouts: input: nuts3_shapes=pypsaeur('resources/nuts3_shapes.geojson'), @@ -158,34 +173,26 @@ else: rule build_heat_demands: input: - pop_layout_total="resources/pop_layout_total.nc", - pop_layout_urban="resources/pop_layout_urban.nc", - pop_layout_rural="resources/pop_layout_rural.nc", + pop_layout="resources/pop_layout_{scope}.nc", regions_onshore=pypsaeur("resources/regions_onshore_elec_s{simpl}_{clusters}.geojson") output: - heat_demand_urban="resources/heat_demand_urban_elec_s{simpl}_{clusters}.nc", - heat_demand_rural="resources/heat_demand_rural_elec_s{simpl}_{clusters}.nc", - heat_demand_total="resources/heat_demand_total_elec_s{simpl}_{clusters}.nc" + heat_demand="resources/heat_demand_{scope}_elec_s{simpl}_{clusters}.nc" resources: mem_mb=20000 - benchmark: "benchmarks/build_heat_demands/s{simpl}_{clusters}" + threads: 8 + benchmark: "benchmarks/build_heat_demands/{scope}_s{simpl}_{clusters}" script: "scripts/build_heat_demand.py" rule build_temperature_profiles: input: - pop_layout_total="resources/pop_layout_total.nc", - pop_layout_urban="resources/pop_layout_urban.nc", - pop_layout_rural="resources/pop_layout_rural.nc", + pop_layout="resources/pop_layout_{scope}.nc", regions_onshore=pypsaeur("resources/regions_onshore_elec_s{simpl}_{clusters}.geojson") output: - temp_soil_total="resources/temp_soil_total_elec_s{simpl}_{clusters}.nc", - temp_soil_rural="resources/temp_soil_rural_elec_s{simpl}_{clusters}.nc", - temp_soil_urban="resources/temp_soil_urban_elec_s{simpl}_{clusters}.nc", - temp_air_total="resources/temp_air_total_elec_s{simpl}_{clusters}.nc", - temp_air_rural="resources/temp_air_rural_elec_s{simpl}_{clusters}.nc", - temp_air_urban="resources/temp_air_urban_elec_s{simpl}_{clusters}.nc" + temp_soil="resources/temp_soil_{scope}_elec_s{simpl}_{clusters}.nc", + temp_air="resources/temp_air_{scope}_elec_s{simpl}_{clusters}.nc", resources: mem_mb=20000 - benchmark: "benchmarks/build_temperature_profiles/s{simpl}_{clusters}" + threads: 8 + benchmark: "benchmarks/build_temperature_profiles/{scope}_s{simpl}_{clusters}" script: "scripts/build_temperature_profiles.py" @@ -211,16 +218,13 @@ rule build_cop_profiles: rule build_solar_thermal_profiles: input: - pop_layout_total="resources/pop_layout_total.nc", - pop_layout_urban="resources/pop_layout_urban.nc", - pop_layout_rural="resources/pop_layout_rural.nc", + pop_layout="resources/pop_layout_{scope}.nc", regions_onshore=pypsaeur("resources/regions_onshore_elec_s{simpl}_{clusters}.geojson") output: - solar_thermal_total="resources/solar_thermal_total_elec_s{simpl}_{clusters}.nc", - solar_thermal_urban="resources/solar_thermal_urban_elec_s{simpl}_{clusters}.nc", - solar_thermal_rural="resources/solar_thermal_rural_elec_s{simpl}_{clusters}.nc" + solar_thermal="resources/solar_thermal_{scope}_elec_s{simpl}_{clusters}.nc", resources: mem_mb=20000 - benchmark: "benchmarks/build_solar_thermal_profiles/s{simpl}_{clusters}" + threads: 16 + benchmark: "benchmarks/build_solar_thermal_profiles/{scope}_s{simpl}_{clusters}" script: "scripts/build_solar_thermal_profiles.py" @@ -252,9 +256,9 @@ rule build_biomass_potentials: enspreso_biomass=HTTP.remote("https://cidportal.jrc.ec.europa.eu/ftp/jrc-opendata/ENSPRESO/ENSPRESO_BIOMASS.xlsx", keep_local=True), nuts2="data/nuts/NUTS_RG_10M_2013_4326_LEVL_2.geojson", # https://gisco-services.ec.europa.eu/distribution/v2/nuts/download/#nuts21 regions_onshore=pypsaeur("resources/regions_onshore_elec_s{simpl}_{clusters}.geojson"), - nuts3_population=pypsaeur("data/bundle/nama_10r_3popgdp.tsv.gz"), - swiss_cantons=pypsaeur("data/bundle/ch_cantons.csv"), - swiss_population=pypsaeur("data/bundle/je-e-21.03.02.xls"), + nuts3_population="../pypsa-eur/data/bundle/nama_10r_3popgdp.tsv.gz", + swiss_cantons="../pypsa-eur/data/bundle/ch_cantons.csv", + swiss_population="../pypsa-eur/data/bundle/je-e-21.03.02.xls", country_shapes=pypsaeur('resources/country_shapes.geojson') output: biomass_potentials_all='resources/biomass_potentials_all_s{simpl}_{clusters}.csv', @@ -280,6 +284,23 @@ else: build_biomass_transport_costs_output = {} +if config["sector"]["regional_co2_sequestration_potential"]["enable"]: + rule build_sequestration_potentials: + input: + sequestration_potential=HTTP.remote("https://raw.githubusercontent.com/ericzhou571/Co2Storage/main/resources/complete_map_2020_unit_Mt.geojson", keep_local=True), + regions_onshore=pypsaeur("resources/regions_onshore_elec_s{simpl}_{clusters}.geojson"), + regions_offshore=pypsaeur("resources/regions_offshore_elec_s{simpl}_{clusters}.geojson"), + output: + sequestration_potential="resources/co2_sequestration_potential_elec_s{simpl}_{clusters}.csv" + threads: 1 + resources: mem_mb=4000 + benchmark: "benchmarks/build_sequestration_potentials_s{simpl}_{clusters}" + script: "scripts/build_sequestration_potentials.py" + build_sequestration_potentials_output = rules.build_sequestration_potentials.output +else: + build_sequestration_potentials_output = {} + + rule build_salt_cavern_potentials: input: salt_caverns="data/h2_salt_caverns_GWh_per_sqkm.geojson", @@ -437,6 +458,18 @@ rule build_population_weighted_energy_totals: script: "scripts/build_population_weighted_energy_totals.py" +rule build_shipping_demand: + input: + ports="data/attributed_ports.json", + scope=pypsaeur("resources/europe_shape.geojson"), + regions=pypsaeur("resources/regions_onshore_elec_s{simpl}_{clusters}.geojson"), + demand="resources/energy_totals.csv" + output: "resources/shipping_demand_s{simpl}_{clusters}.csv" + threads: 1 + resources: mem_mb=2000 + script: "scripts/build_shipping_demand.py" + + rule build_transport_demand: input: clustered_pop_layout="resources/pop_layout_elec_s{simpl}_{clusters}.csv", @@ -462,6 +495,7 @@ rule prepare_sector_network: energy_totals_name='resources/energy_totals.csv', eurostat=input_eurostat, pop_weighted_energy_totals="resources/pop_weighted_energy_totals_s{simpl}_{clusters}.csv", + shipping_demand="resources/shipping_demand_s{simpl}_{clusters}.csv", transport_demand="resources/transport_demand_s{simpl}_{clusters}.csv", transport_data="resources/transport_data_s{simpl}_{clusters}.csv", avail_profile="resources/avail_profile_s{simpl}_{clusters}.csv", @@ -470,7 +504,7 @@ rule prepare_sector_network: co2="data/eea/UNFCCC_v23.csv", biomass_potentials='resources/biomass_potentials_s{simpl}_{clusters}.csv', heat_profile="data/heat_load_profile_BDEW.csv", - costs=CDIR + "costs_{}.csv".format(config['costs']['year']) if config["foresight"] == "overnight" else CDIR + "costs_{planning_horizons}.csv", + costs="data/costs_{}.csv".format(config['costs']['year']) if config["foresight"] == "overnight" else "data/costs_{planning_horizons}.csv", profile_offwind_ac=pypsaeur("resources/profile_offwind-ac.nc"), profile_offwind_dc=pypsaeur("resources/profile_offwind-dc.nc"), h2_cavern="resources/salt_cavern_potentials_s{simpl}_{clusters}.csv", @@ -494,12 +528,13 @@ rule prepare_sector_network: cop_air_total="resources/cop_air_total_elec_s{simpl}_{clusters}.nc", cop_air_rural="resources/cop_air_rural_elec_s{simpl}_{clusters}.nc", cop_air_urban="resources/cop_air_urban_elec_s{simpl}_{clusters}.nc", - solar_thermal_total="resources/solar_thermal_total_elec_s{simpl}_{clusters}.nc", - solar_thermal_urban="resources/solar_thermal_urban_elec_s{simpl}_{clusters}.nc", - solar_thermal_rural="resources/solar_thermal_rural_elec_s{simpl}_{clusters}.nc", + solar_thermal_total="resources/solar_thermal_total_elec_s{simpl}_{clusters}.nc" if config["sector"]["solar_thermal"] else [], + solar_thermal_urban="resources/solar_thermal_urban_elec_s{simpl}_{clusters}.nc" if config["sector"]["solar_thermal"] else [], + solar_thermal_rural="resources/solar_thermal_rural_elec_s{simpl}_{clusters}.nc" if config["sector"]["solar_thermal"] else [], **build_retro_cost_output, **build_biomass_transport_costs_output, - **gas_infrastructure + **gas_infrastructure, + **build_sequestration_potentials_output output: RDIR + '/prenetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc' threads: 1 resources: mem_mb=2000 @@ -510,7 +545,8 @@ rule prepare_sector_network: rule plot_network: input: overrides="data/override_component_attrs", - network=RDIR + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc" + network=RDIR + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc", + regions=pypsaeur('resources/regions_onshore_elec_s{simpl}_{clusters}.geojson') output: map=RDIR + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all_{planning_horizons}.pdf", today=RDIR + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}-today.pdf" @@ -543,7 +579,7 @@ rule make_summary: RDIR + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc", **config['scenario'] ), - costs=CDIR + "costs_{}.csv".format(config['costs']['year']) if config["foresight"] == "overnight" else CDIR + "costs_{}.csv".format(config['scenario']['planning_horizons'][0]), + costs="data/costs_{}.csv".format(config['costs']['year']) if config["foresight"] == "overnight" else "data/costs_{}.csv".format(config['scenario']['planning_horizons'][0]), plots=expand( RDIR + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all_{planning_horizons}.pdf", **config['scenario'] @@ -593,9 +629,9 @@ if config["foresight"] == "overnight": input: overrides="data/override_component_attrs", network=RDIR + "/prenetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc", - costs=CDIR + "costs_{}.csv".format(config['costs']['year']), + costs="data/costs_{}.csv".format(config['costs']['year']), config=SDIR + '/configs/config.yaml', - env=SDIR + '/configs/environment.yaml', + #env=SDIR + '/configs/environment.yaml', output: RDIR + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc" shadow: "shallow" log: @@ -618,7 +654,7 @@ if config["foresight"] == "myopic": busmap_s=pypsaeur("resources/busmap_elec_s{simpl}.csv"), busmap=pypsaeur("resources/busmap_elec_s{simpl}_{clusters}.csv"), clustered_pop_layout="resources/pop_layout_elec_s{simpl}_{clusters}.csv", - costs=CDIR + "costs_{}.csv".format(config['scenario']['planning_horizons'][0]), + costs="data/costs_{}.csv".format(config['scenario']['planning_horizons'][0]), cop_soil_total="resources/cop_soil_total_elec_s{simpl}_{clusters}.nc", cop_air_total="resources/cop_air_total_elec_s{simpl}_{clusters}.nc", existing_heating='data/existing_infrastructure/existing_heating_raw.csv', @@ -647,7 +683,7 @@ if config["foresight"] == "myopic": overrides="data/override_component_attrs", network=RDIR + '/prenetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc', network_p=solved_previous_horizon, #solved network at previous time step - costs=CDIR + "costs_{planning_horizons}.csv", + costs="data/costs_{planning_horizons}.csv", cop_soil_total="resources/cop_soil_total_elec_s{simpl}_{clusters}.nc", cop_air_total="resources/cop_air_total_elec_s{simpl}_{clusters}.nc" output: RDIR + "/prenetworks-brownfield/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc" @@ -664,7 +700,7 @@ if config["foresight"] == "myopic": input: overrides="data/override_component_attrs", network=RDIR + "/prenetworks-brownfield/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc", - costs=CDIR + "costs_{planning_horizons}.csv", + costs="data/costs_{planning_horizons}.csv", config=SDIR + '/configs/config.yaml' output: RDIR + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{planning_horizons}.nc" shadow: "shallow" diff --git a/config.default.yaml b/config.default.yaml index 4078ee01..c1172bd1 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -3,10 +3,10 @@ version: 0.6.0 logging_level: INFO retrieve_sector_databundle: true +retrieve_cost_data: true results_dir: results/ summary_dir: results -costs_dir: ../technology-data/outputs/ run: your-run-name # use this to keep track of runs with different settings foresight: overnight # options are overnight, myopic, perfect (perfect is not yet implemented) # if you use myopic or perfect foresight, set the investment years in "planning_horizons" below @@ -66,7 +66,7 @@ snapshots: # arguments to pd.date_range start: "2013-01-01" end: "2014-01-01" - closed: left # end is not inclusive + inclusive: left # end is not inclusive atlite: cutout: ../pypsa-eur/cutouts/europe-2013-era5.nc @@ -160,6 +160,7 @@ sector: 2040: 0.6 2050: 1.0 district_heating_loss: 0.15 + cluster_heat_buses: false # cluster residential and service heat buses to one to save memory bev_dsm_restriction_value: 0.75 #Set to 0 for no restriction on BEV DSM bev_dsm_restriction_time: 7 #Time at which SOC of BEV has to be dsm_restriction_value transport_heating_deadband_upper: 20. @@ -178,24 +179,38 @@ sector: bev_avail_mean: 0.8 v2g: true #allows feed-in to grid from EV battery #what is not EV or FCEV is oil-fuelled ICE - land_transport_fuel_cell_share: # 1 means all FCEVs + land_transport_fuel_cell_share: 2020: 0 2030: 0.05 2040: 0.1 2050: 0.15 - land_transport_electric_share: # 1 means all EVs + land_transport_electric_share: 2020: 0 2030: 0.25 2040: 0.6 2050: 0.85 + land_transport_ice_share: + 2020: 1 + 2030: 0.7 + 2040: 0.3 + 2050: 0 transport_fuel_cell_efficiency: 0.5 transport_internal_combustion_efficiency: 0.3 agriculture_machinery_electric_share: 0 + agriculture_machinery_oil_share: 1 agriculture_machinery_fuel_efficiency: 0.7 # fuel oil per use agriculture_machinery_electric_efficiency: 0.3 # electricity per use - shipping_average_efficiency: 0.4 #For conversion of fuel oil to propulsion in 2011 + MWh_MeOH_per_MWh_H2: 0.8787 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64. + MWh_MeOH_per_tCO2: 4.0321 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64. + MWh_MeOH_per_MWh_e: 3.6907 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64. shipping_hydrogen_liquefaction: false # whether to consider liquefaction costs for shipping H2 demands - shipping_hydrogen_share: 0 + shipping_hydrogen_share: 0 + shipping_methanol_share: 1 + shipping_oil_share: 0 + shipping_methanol_efficiency: 0.46 # 10-15% higher https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf, https://users.ugent.be/~lsileghe/documents/extended_abstract.pdf + shipping_oil_efficiency: 0.40 #For conversion of fuel oil to propulsion in 2011 + aviation_demand_factor: 1. # relative aviation demand compared to today + HVC_demand_factor: 1. # relative HVC demand compared to today time_dep_hp_cop: true #time dependent heat pump coefficient of performance heat_pump_sink_T: 55. # Celsius, based on DTU / large area radiators; used in build_cop_profiles.py # conservatively high to cover hot water and space heating in poorly-insulated buildings @@ -235,10 +250,19 @@ sector: coal_cc: false dac: true co2_vent: false + allam_cycle: false SMR: true + regional_co2_sequestration_potential: + enable: false # enable regionally resolved geological co2 storage potential + attribute: 'conservative estimate Mt' + include_onshore: false # include onshore sequestration potentials + min_size: 3 # Gt, sites with lower potential will be excluded + max_size: 25 # Gt, max sequestration potential for any one site, TODO research suitable value + years_of_storage: 25 # years until potential exhausted at optimised annual rate co2_sequestration_potential: 200 #MtCO2/a sequestration potential for Europe co2_sequestration_cost: 10 #EUR/tCO2 for sequestration of CO2 - co2_network: false + co2_spatial: false + co2network: false cc_fraction: 0.9 # default fraction of CO2 captured with post-combustion capture hydrogen_underground_storage: true hydrogen_underground_storage_locations: @@ -246,8 +270,11 @@ sector: - nearshore # within 50 km of sea # - offshore ammonia: false # can be false (no NH3 carrier), true (copperplated NH3), "regional" (regionalised NH3 without network) + min_part_load_fischer_tropsch: 0.9 # p_min_pu + min_part_load_methanolisation: 0.5 # p_min_pu use_fischer_tropsch_waste_heat: true use_fuel_cell_waste_heat: true + use_electrolysis_waste_heat: false electricity_distribution_grid: true electricity_distribution_grid_cost_factor: 1.0 #multiplies cost in data/costs.csv electricity_grid_connection: true # only applies to onshore wind and utility PV @@ -261,7 +288,8 @@ sector: gas_network_connectivity_upgrade: 1 # https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation gas_distribution_grid: true gas_distribution_grid_cost_factor: 1.0 #multiplies cost in data/costs.csv - biomass_transport: false # biomass transport between nodes + biomass_spatial: false # regionally resolve biomass (e.g. potentials) + biomass_transport: false # allow transport of solid biomass between nodes conventional_generation: # generator : carrier OCGT: gas biomass_to_liquid: false @@ -324,6 +352,7 @@ industry: costs: year: 2030 + version: v0.5.0 lifetime: 25 #default lifetime # From a Lion Hirth paper, also reflects average of Noothout et al 2016 discountrate: 0.07 @@ -395,7 +424,7 @@ plotting: boundaries: [-11, 30, 34, 71] color_geomap: ocean: white - land: whitesmoke + land: white eu_node_location: x: -5.5 y: 46. @@ -598,6 +627,9 @@ plotting: liquid: '#25c49a' kerosene for aviation: '#a1ffe6' naphtha for industry: '#57ebc4' + methanolisation: '#83d6d5' + methanol: '#468c8b' + shipping methanol: '#468c8b' # co2 CC: '#f29dae' CCS: '#f29dae' @@ -614,6 +646,7 @@ plotting: process emissions to atmosphere: '#888888' oil emissions: '#aaaaaa' shipping oil emissions: "#555555" + shipping methanol emissions: '#666666' land transport oil emissions: '#777777' agriculture machinery oil emissions: '#333333' # other diff --git a/data/attributed_ports.json b/data/attributed_ports.json new file mode 100644 index 00000000..12344811 --- /dev/null +++ b/data/attributed_ports.json @@ -0,0 +1,861 @@ +{ +"type": "FeatureCollection", +"features": [ +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-345---", "LOCODE": "AEAUH", "Name": "Abu Dhabi", "NameWoDiac": "Abu Dhabi", "Status": "AI", "outflows": 41597.142851999997 }, "geometry": { "type": "Point", "coordinates": [ 54.366666666666667, 24.466666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AERUW", "Name": "Ar Ruways", "NameWoDiac": "Ar Ruways", "Status": "RL", "outflows": 166556.0 }, "geometry": { "type": "Point", "coordinates": [ 52.733333333333334, 24.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AEKLF", "Name": "Khor al Fakkan", "NameWoDiac": "Khor al Fakkan", "Status": "RL", "outflows": 790406.5 }, "geometry": { "type": "Point", "coordinates": [ 56.35, 25.333333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-3-----", "LOCODE": "AEMKH", "Name": "Mina Khalid", "NameWoDiac": "Mina Khalid", "Status": "RL", "outflows": 646965.0 }, "geometry": { "type": "Point", "coordinates": [ 55.366666666666667, 25.35 ] } }, +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AEKHL", "Name": "Mina Khalifa\/Abu Dhabi", "NameWoDiac": "Mina Khalifa\/Abu Dhabi", "Status": "RL", "outflows": 18341458.820419993 }, "geometry": { "type": "Point", "coordinates": [ 54.666666666666664, 24.833333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1--4----", "LOCODE": "AEQIW", "Name": "Umm al Qaiwain", "NameWoDiac": "Umm al Qaiwain", "Status": "AI", "outflows": 14196.0 }, "geometry": { "type": "Point", "coordinates": [ 55.55, 25.566666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Antigua and Barbuda", "Function": "1-------", "LOCODE": "AGSJO", "Name": "Saint John's", "NameWoDiac": "Saint John's", "Status": "AI", "outflows": 208663.0 }, "geometry": { "type": "Point", "coordinates": [ -61.85, 17.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARBHI", "Name": "Bahía Blanca", "NameWoDiac": "Bahia Blanca", "Status": "AI", "outflows": 677327.625 }, "geometry": { "type": "Point", "coordinates": [ -62.283333333333331, -38.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "12345---", "LOCODE": "ARBUE", "Name": "Buenos Aires", "NameWoDiac": "Buenos Aires", "Status": "AI", "outflows": 11083411.036479998 }, "geometry": { "type": "Point", "coordinates": [ -58.666666666666664, -34.583333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1-345---", "LOCODE": "ARMDQ", "Name": "Mar del Plata", "NameWoDiac": "Mar del Plata", "Status": "AI", "outflows": 24960.0 }, "geometry": { "type": "Point", "coordinates": [ -57.533333333333331, -38.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARPUD", "Name": "Puerto Deseado", "NameWoDiac": "Puerto Deseado", "Status": "AI", "outflows": 24960.0 }, "geometry": { "type": "Point", "coordinates": [ -65.9, -47.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARPMY", "Name": "Puerto Madryn", "NameWoDiac": "Puerto Madryn", "Status": "AI", "outflows": 671555.625 }, "geometry": { "type": "Point", "coordinates": [ -65.033333333333331, -42.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "12345---", "LOCODE": "ARROS", "Name": "Rosario", "NameWoDiac": "Rosario", "Status": "AI", "outflows": 110227.0 }, "geometry": { "type": "Point", "coordinates": [ -60.65, -32.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1-------", "LOCODE": "ARSAE", "Name": "San Antonio Este", "NameWoDiac": "San Antonio Este", "Status": "RQ", "outflows": 23075.0 }, "geometry": { "type": "Point", "coordinates": [ -64.733333333333334, -40.8 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARUSH", "Name": "Ushuaia", "NameWoDiac": "Ushuaia", "Status": "AI", "outflows": 30732.0 }, "geometry": { "type": "Point", "coordinates": [ -68.3, -54.8 ] } }, +{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1-------", "LOCODE": "ARZAE", "Name": "Zárate", "NameWoDiac": "Zarate", "Status": "AI", "outflows": 164645.0 }, "geometry": { "type": "Point", "coordinates": [ -59.033333333333331, -34.1 ] } }, +{ "type": "Feature", "properties": { "Country": "American Samoa", "Function": "1--45---", "LOCODE": "ASPPG", "Name": "Pago Pago", "NameWoDiac": "Pago Pago", "Status": "AI", "outflows": 338184.5 }, "geometry": { "type": "Point", "coordinates": [ -170.7, 14.266666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUADL", "Name": "Adelaide", "NameWoDiac": "Adelaide", "Status": "AC", "outflows": 5338947.2004299983 }, "geometry": { "type": "Point", "coordinates": [ 138.583333333333343, -34.916666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUBNE", "Name": "Brisbane", "NameWoDiac": "Brisbane", "Status": "AC", "outflows": 8402703.6401499975 }, "geometry": { "type": "Point", "coordinates": [ 153.01666666666668, -27.466666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUDRW", "Name": "Darwin", "NameWoDiac": "Darwin", "Status": "AC", "outflows": 88640.416664000004 }, "geometry": { "type": "Point", "coordinates": [ 130.833333333333343, -12.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUMEL", "Name": "Melbourne", "NameWoDiac": "Melbourne", "Status": "AC", "outflows": 9957826.0957300067 }, "geometry": { "type": "Point", "coordinates": [ 144.966666666666669, -37.81666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUSYD", "Name": "Sydney", "NameWoDiac": "Sydney", "Status": "AC", "outflows": 10352110.143530006 }, "geometry": { "type": "Point", "coordinates": [ 151.2, -33.85 ] } }, +{ "type": "Feature", "properties": { "Country": "Aruba", "Function": "1-------", "LOCODE": "AWBAR", "Name": "Barcadera", "NameWoDiac": "Barcadera", "Status": "RL", "outflows": 65431.8 }, "geometry": { "type": "Point", "coordinates": [ -69.983333333333334, 12.483333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Bangladesh", "Function": "1--45---", "LOCODE": "BDCGP", "Name": "Chattogram", "NameWoDiac": "Chattogram", "Status": "AI", "outflows": 1379549.0523300001 }, "geometry": { "type": "Point", "coordinates": [ 91.833333333333329, 22.333333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "Belgium", "Function": "12345---", "LOCODE": "BEANR", "Name": "Antwerpen", "NameWoDiac": "Antwerpen", "Status": "AI", "outflows": 51827814.560638025 }, "geometry": { "type": "Point", "coordinates": [ 4.416666666666667, 51.216666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Belgium", "Function": "1234----", "LOCODE": "BEGNE", "Name": "Gent (Ghent)", "NameWoDiac": "Gent (Ghent)", "Status": "AI", "outflows": 13260.0 }, "geometry": { "type": "Point", "coordinates": [ 3.716666666666667, 51.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Belgium", "Function": "1-3-----", "LOCODE": "BEZEE", "Name": "Zeebrugge", "NameWoDiac": "Zeebrugge", "Status": "AI", "outflows": 5650583.2502299985 }, "geometry": { "type": "Point", "coordinates": [ 3.2, 51.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Bahrain", "Function": "1-------", "LOCODE": "BHMIN", "Name": "Mina Sulman Port", "NameWoDiac": "Mina Sulman Port", "Status": "AA", "outflows": 632118.5 }, "geometry": { "type": "Point", "coordinates": [ 50.616666666666667, 26.2 ] } }, +{ "type": "Feature", "properties": { "Country": "Bonaire, Sint Eustatius and Saba", "Function": "1-------", "LOCODE": "BQKRA", "Name": "Kralendijk", "NameWoDiac": "Kralendijk", "Status": "AI", "outflows": 117162.5 }, "geometry": { "type": "Point", "coordinates": [ -68.266666666666666, 12.15 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "-23-----", "LOCODE": "BRIGI", "Name": "Itaguaí", "NameWoDiac": "Itaguai", "Status": "RL", "outflows": 2879859.0476199985 }, "geometry": { "type": "Point", "coordinates": [ -43.766666666666666, -22.866666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-3-----", "LOCODE": "BRIOA", "Name": "Itapoá", "NameWoDiac": "Itapoa", "Status": "RL", "outflows": 9027277.19 }, "geometry": { "type": "Point", "coordinates": [ -48.6, -26.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-34----", "LOCODE": "BRNVT", "Name": "Navegantes", "NameWoDiac": "Navegantes", "Status": "AI", "outflows": 10279036.91334 }, "geometry": { "type": "Point", "coordinates": [ -48.65, -26.9 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRPNG", "Name": "Paranaguá", "NameWoDiac": "Paranagua", "Status": "AI", "outflows": 13802196.524050001 }, "geometry": { "type": "Point", "coordinates": [ -48.5, -25.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "12------", "LOCODE": "BRPEC", "Name": "Pecém Pt\/São Gonçalo do Amarante", "NameWoDiac": "Pecem Pt\/Sao Goncalo do Amarante", "Status": "AA", "outflows": 2174063.6046599997 }, "geometry": { "type": "Point", "coordinates": [ -38.866666666666667, -3.533333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "123-567-", "LOCODE": "BRRIO", "Name": "Rio de Janeiro", "NameWoDiac": "Rio de Janeiro", "Status": "AA", "outflows": 9600221.3041699976 }, "geometry": { "type": "Point", "coordinates": [ -43.233333333333334, -22.883333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRMCP", "Name": "Santana Pt.\/Macapá", "NameWoDiac": "Santana Pt.\/Macapa", "Status": "AA", "outflows": 837504.77784000011 }, "geometry": { "type": "Point", "coordinates": [ -51.166666666666664, -0.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1234----", "LOCODE": "BRSSZ", "Name": "Santos", "NameWoDiac": "Santos", "Status": "AI", "outflows": 17682777.003890004 }, "geometry": { "type": "Point", "coordinates": [ -46.333333333333336, -23.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-34----", "LOCODE": "BRSLZ", "Name": "São Luís", "NameWoDiac": "Sao Luis", "Status": "AI", "outflows": 45240.0 }, "geometry": { "type": "Point", "coordinates": [ -44.3, -2.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRVIX", "Name": "Vitória Pt", "NameWoDiac": "Vitoria Pt", "Status": "AA", "outflows": 738129.52788000007 }, "geometry": { "type": "Point", "coordinates": [ -40.333333333333336, -20.316666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Bahamas", "Function": "1--45---", "LOCODE": "BSNAS", "Name": "Nassau", "NameWoDiac": "Nassau", "Status": "AI", "outflows": 62842.0 }, "geometry": { "type": "Point", "coordinates": [ -77.35, 25.083333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "Belize", "Function": "1-34----", "LOCODE": "BZBGK", "Name": "Big Creek", "NameWoDiac": "Big Creek", "Status": "RL", "outflows": 199368.0 }, "geometry": { "type": "Point", "coordinates": [ -88.4, 16.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-34----", "LOCODE": "CANWP", "Name": "Argentia", "NameWoDiac": "Argentia", "Status": "AI", "outflows": 27248.000001 }, "geometry": { "type": "Point", "coordinates": [ -54.0, 47.3 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-34-6--", "LOCODE": "CASJB", "Name": "Saint-John", "NameWoDiac": "Saint-John", "Status": "AS", "outflows": 389420.2 }, "geometry": { "type": "Point", "coordinates": [ -66.066666666666663, 45.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-3-----", "LOCODE": "CASJF", "Name": "Saint-John's", "NameWoDiac": "Saint-John's", "Status": "AS", "outflows": 26845.0 }, "geometry": { "type": "Point", "coordinates": [ -52.733333333333334, 47.56666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Congo, The Democratic Republic of the", "Function": "1-3-----", "LOCODE": "CDBNW", "Name": "Banana", "NameWoDiac": "Banana", "Status": "RL", "outflows": 48681.0 }, "geometry": { "type": "Point", "coordinates": [ 12.401211892732039, -6.003633266930797 ] } }, +{ "type": "Feature", "properties": { "Country": "Congo", "Function": "1--45---", "LOCODE": "CGPNR", "Name": "Pointe Noire", "NameWoDiac": "Pointe Noire", "Status": "AI", "outflows": 3473713.5811700015 }, "geometry": { "type": "Point", "coordinates": [ 11.85, -4.8 ] } }, +{ "type": "Feature", "properties": { "Country": "Côte d'Ivoire", "Function": "1--45---", "LOCODE": "CIABJ", "Name": "Abidjan", "NameWoDiac": "Abidjan", "Status": "AI", "outflows": 3248845.4334399998 }, "geometry": { "type": "Point", "coordinates": [ -4.016666666666667, 5.333333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Côte d'Ivoire", "Function": "1-34----", "LOCODE": "CISPY", "Name": "San-Pédro", "NameWoDiac": "San-Pedro", "Status": "AI", "outflows": 2312502.0286400001 }, "geometry": { "type": "Point", "coordinates": [ -6.616666666666667, 4.733333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1--4----", "LOCODE": "CLANF", "Name": "Antofagasta", "NameWoDiac": "Antofagasta", "Status": "AI", "outflows": 2136460.625 }, "geometry": { "type": "Point", "coordinates": [ -70.38333333333334, -23.633333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-34----", "LOCODE": "CLARI", "Name": "Arica", "NameWoDiac": "Arica", "Status": "AI", "outflows": 1400600.825 }, "geometry": { "type": "Point", "coordinates": [ -70.316666666666663, -18.483333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLCNL", "Name": "Coronel", "NameWoDiac": "Coronel", "Status": "AI", "outflows": 5437390.8332000002 }, "geometry": { "type": "Point", "coordinates": [ -73.15, -37.016666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1--4----", "LOCODE": "CLIQQ", "Name": "Iquique", "NameWoDiac": "Iquique", "Status": "AI", "outflows": 1915647.5 }, "geometry": { "type": "Point", "coordinates": [ -70.13333333333334, -20.216666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLLQN", "Name": "Lirquén", "NameWoDiac": "Lirquen", "Status": "AI", "outflows": 3185838.4995000004 }, "geometry": { "type": "Point", "coordinates": [ -72.983333333333334, -36.7 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-------", "LOCODE": "CLMJS", "Name": "Mejillones", "NameWoDiac": "Mejillones", "Status": "AI", "outflows": 32362.2 }, "geometry": { "type": "Point", "coordinates": [ -70.45, -23.1 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLPAG", "Name": "Puerto Angamos", "NameWoDiac": "Puerto Angamos", "Status": "RL", "outflows": 5408319.3663000017 }, "geometry": { "type": "Point", "coordinates": [ -70.45, -23.083333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-34----", "LOCODE": "CLPUQ", "Name": "Punta Arenas", "NameWoDiac": "Punta Arenas", "Status": "AI", "outflows": 18174.0 }, "geometry": { "type": "Point", "coordinates": [ -70.933333333333337, -53.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLSAI", "Name": "San Antonio", "NameWoDiac": "San Antonio", "Status": "AI", "outflows": 9417069.025 }, "geometry": { "type": "Point", "coordinates": [ -71.6, -33.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-3-----", "LOCODE": "CLSVE", "Name": "San Vicente", "NameWoDiac": "San Vicente", "Status": "AI", "outflows": 945075.625 }, "geometry": { "type": "Point", "coordinates": [ -73.13333333333334, -36.7 ] } }, +{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1234----", "LOCODE": "CLVAP", "Name": "Valparaiso", "NameWoDiac": "Valparaiso", "Status": "AI", "outflows": 2059925.0 }, "geometry": { "type": "Point", "coordinates": [ -71.63333333333334, -33.033333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNCFD", "Name": "Caofeidian Pt", "NameWoDiac": "Caofeidian Pt", "Status": "AS", "outflows": 168350.0 }, "geometry": { "type": "Point", "coordinates": [ 118.533333333333331, 38.95 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1----6--", "LOCODE": "CNDCB", "Name": "DA CHAN BAY", "NameWoDiac": "DA CHAN BAY", "Status": "RL", "outflows": 4367401.0713399984 }, "geometry": { "type": "Point", "coordinates": [ 113.86666666666666, 22.533333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNDGG", "Name": "Dongguan Pt", "NameWoDiac": "Dongguan Pt", "Status": "AS", "outflows": 94354.0 }, "geometry": { "type": "Point", "coordinates": [ 113.75, 23.033333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNDJK", "Name": "Dongjiangkou", "NameWoDiac": "Dongjiangkou", "Status": "AS", "outflows": 386750.0 }, "geometry": { "type": "Point", "coordinates": [ 119.52253982618285, 35.308885331582253 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "--3-----", "LOCODE": "CNFQG", "Name": "Fuqing", "NameWoDiac": "Fuqing", "Status": "RL", "outflows": 1164780.9333599997 }, "geometry": { "type": "Point", "coordinates": [ 119.36666666666666, 25.716666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNHUI", "Name": "Huizhou Pt", "NameWoDiac": "Huizhou Pt", "Status": "AS", "outflows": 27300.0 }, "geometry": { "type": "Point", "coordinates": [ 114.36666666666666, 23.083333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNHMN", "Name": "Humen Pt", "NameWoDiac": "Humen Pt", "Status": "AS", "outflows": 630027.5 }, "geometry": { "type": "Point", "coordinates": [ 113.666666666666671, 22.833333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-3-----", "LOCODE": "CNJGY", "Name": "Jiangyin", "NameWoDiac": "Jiangyin", "Status": "RL", "outflows": 594906.0 }, "geometry": { "type": "Point", "coordinates": [ 119.3, 25.466666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNJNZ", "Name": "Jinzhou Pt", "NameWoDiac": "Jinzhou Pt", "Status": "AS", "outflows": 684866.0 }, "geometry": { "type": "Point", "coordinates": [ 121.15, 41.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNLYG", "Name": "Lianyungang", "NameWoDiac": "Lianyungang", "Status": "AS", "outflows": 9288988.8094500005 }, "geometry": { "type": "Point", "coordinates": [ 119.433333333333337, 34.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNNSA", "Name": "Nansha Pt", "NameWoDiac": "Nansha Pt", "Status": "AS", "outflows": 42484636.038412996 }, "geometry": { "type": "Point", "coordinates": [ 113.583333333333329, 22.75 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNNTG", "Name": "Nantong Pt", "NameWoDiac": "Nantong Pt", "Status": "AS", "outflows": 261618.5 }, "geometry": { "type": "Point", "coordinates": [ 120.85, 32.016666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNSHP", "Name": "Qinhuangdao Pt", "NameWoDiac": "Qinhuangdao Pt", "Status": "AS", "outflows": 105300.0 }, "geometry": { "type": "Point", "coordinates": [ 119.583333333333329, 39.916666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNQZJ", "Name": "Quanzhou Pt", "NameWoDiac": "Quanzhou Pt", "Status": "AS", "outflows": 512451.33335000003 }, "geometry": { "type": "Point", "coordinates": [ 118.6, 24.933333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNRZH", "Name": "Rizhao Pt", "NameWoDiac": "Rizhao Pt", "Status": "AS", "outflows": 1075073.00003 }, "geometry": { "type": "Point", "coordinates": [ 119.533333333333331, 35.383333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNSHK", "Name": "Shekou Pt", "NameWoDiac": "Shekou Pt", "Status": "AS", "outflows": 74635666.140550002 }, "geometry": { "type": "Point", "coordinates": [ 113.916666666666671, 22.483333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNSHD", "Name": "Shidao Pt", "NameWoDiac": "Shidao Pt", "Status": "AS", "outflows": 54886.0 }, "geometry": { "type": "Point", "coordinates": [ 122.433333333333337, 36.866666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNWIH", "Name": "Waihai", "NameWoDiac": "Waihai", "Status": "AS", "outflows": 50050.0 }, "geometry": { "type": "Point", "coordinates": [ 113.13333333333334, 22.583333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1--4----", "LOCODE": "CNWEF", "Name": "Weifang Pt", "NameWoDiac": "Weifang Pt", "Status": "AS", "outflows": 65923.0 }, "geometry": { "type": "Point", "coordinates": [ 119.1, 36.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1--45---", "LOCODE": "CNWEI", "Name": "Weihai", "NameWoDiac": "Weihai", "Status": "AS", "outflows": 238257.5 }, "geometry": { "type": "Point", "coordinates": [ 122.11666666666666, 37.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNYPG", "Name": "Yangpu Pt", "NameWoDiac": "Yangpu Pt", "Status": "AS", "outflows": 872543.16658000019 }, "geometry": { "type": "Point", "coordinates": [ 109.2, 19.7 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNYTN", "Name": "Yantian Pt", "NameWoDiac": "Yantian Pt", "Status": "AS", "outflows": 74187678.537459999 }, "geometry": { "type": "Point", "coordinates": [ 119.86666666666666, 26.85 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNYIK", "Name": "Yingkou Pt", "NameWoDiac": "Yingkou Pt", "Status": "AS", "outflows": 1421671.0 }, "geometry": { "type": "Point", "coordinates": [ 122.216666666666669, 40.65 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNZJG", "Name": "Zhangjiagang", "NameWoDiac": "Zhangjiagang", "Status": "AS", "outflows": 196865.5 }, "geometry": { "type": "Point", "coordinates": [ 120.533333333333331, 31.866666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNZZU", "Name": "Zhangzhou Pt", "NameWoDiac": "Zhangzhou Pt", "Status": "AS", "outflows": 340964.0 }, "geometry": { "type": "Point", "coordinates": [ 117.65, 24.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNZUH", "Name": "Zhuhai Pt", "NameWoDiac": "Zhuhai Pt", "Status": "AS", "outflows": 929467.5 }, "geometry": { "type": "Point", "coordinates": [ 113.566666666666663, 22.283333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COLET", "Name": "Leticia", "NameWoDiac": "Leticia", "Status": "AI", "outflows": 9675.0 }, "geometry": { "type": "Point", "coordinates": [ -69.933333333333337, -4.216666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COTLU", "Name": "Tolú", "NameWoDiac": "Tolu", "Status": "AI", "outflows": 9675.0 }, "geometry": { "type": "Point", "coordinates": [ -75.583333333333329, 9.533333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COTRB", "Name": "Turbo", "NameWoDiac": "Turbo", "Status": "AI", "outflows": 799731.40001499979 }, "geometry": { "type": "Point", "coordinates": [ -76.716666666666669, 8.083333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Costa Rica", "Function": "123-----", "LOCODE": "CRCAL", "Name": "Caldera", "NameWoDiac": "Caldera", "Status": "RL", "outflows": 704191.8 }, "geometry": { "type": "Point", "coordinates": [ -84.716666666666669, 9.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Costa Rica", "Function": "1-3-----", "LOCODE": "CRMOB", "Name": "Moín", "NameWoDiac": "Moin", "Status": "RL", "outflows": 2884497.4165249998 }, "geometry": { "type": "Point", "coordinates": [ -83.083333333333329, 10.0 ] } }, +{ "type": "Feature", "properties": { "Country": "Costa Rica", "Function": "1-3-----", "LOCODE": "CRLIO", "Name": "Puerto Limón", "NameWoDiac": "Puerto Limon", "Status": "AI", "outflows": 2372283.3334299996 }, "geometry": { "type": "Point", "coordinates": [ -83.033333333333331, 10.0 ] } }, +{ "type": "Feature", "properties": { "Country": "Cuba", "Function": "1234----", "LOCODE": "CUMAR", "Name": "Mariel", "NameWoDiac": "Mariel", "Status": "RL", "outflows": 370296.8 }, "geometry": { "type": "Point", "coordinates": [ -82.75, 23.0 ] } }, +{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "1-3-----", "LOCODE": "CVMIN", "Name": "Mindelo", "NameWoDiac": "Mindelo", "Status": "RL", "outflows": 114309.0 }, "geometry": { "type": "Point", "coordinates": [ -25.0, 16.883333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Curaçao", "Function": "1-------", "LOCODE": "CWWIL", "Name": "Willemstad", "NameWoDiac": "Willemstad", "Status": "AI", "outflows": 721990.3 }, "geometry": { "type": "Point", "coordinates": [ -68.916666666666671, 12.1 ] } }, +{ "type": "Feature", "properties": { "Country": "Christmas Island", "Function": "1-------", "LOCODE": "CXFFC", "Name": "Flying Fish Cove", "NameWoDiac": "Flying Fish Cove", "Status": "RL", "outflows": 2520.0 }, "geometry": { "type": "Point", "coordinates": [ 105.716666666666669, -10.416666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Cyprus", "Function": "1-3-5---", "LOCODE": "CYLMS", "Name": "Limassol", "NameWoDiac": "Limassol", "Status": "AA", "outflows": 2366252.75 }, "geometry": { "type": "Point", "coordinates": [ 33.05, 34.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "123-----", "LOCODE": "DEBKE", "Name": "Brake", "NameWoDiac": "Brake", "Status": "AF", "outflows": 27774.0 }, "geometry": { "type": "Point", "coordinates": [ 8.483333333333333, 53.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "123-----", "LOCODE": "DECUX", "Name": "Cuxhaven", "NameWoDiac": "Cuxhaven", "Status": "AF", "outflows": 128258.0 }, "geometry": { "type": "Point", "coordinates": [ 8.7, 53.883333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEEME", "Name": "Emden", "NameWoDiac": "Emden", "Status": "AF", "outflows": 14598.0 }, "geometry": { "type": "Point", "coordinates": [ 7.216666666666667, 53.366666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEKEL", "Name": "Kiel", "NameWoDiac": "Kiel", "Status": "AF", "outflows": 14040.0 }, "geometry": { "type": "Point", "coordinates": [ 10.133333333333333, 54.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DERSK", "Name": "Rostock", "NameWoDiac": "Rostock", "Status": "AF", "outflows": 7984.0 }, "geometry": { "type": "Point", "coordinates": [ 12.133333333333333, 54.083333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEWVN", "Name": "Wilhelmshaven", "NameWoDiac": "Wilhelmshaven", "Status": "AF", "outflows": 7664957.3927999986 }, "geometry": { "type": "Point", "coordinates": [ 8.133333333333333, 53.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12345---", "LOCODE": "DKAAR", "Name": "Aarhus", "NameWoDiac": "Aarhus", "Status": "AF", "outflows": 4009844.4282799996 }, "geometry": { "type": "Point", "coordinates": [ 10.216666666666667, 56.15 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12345---", "LOCODE": "DKCPH", "Name": "København", "NameWoDiac": "Kobenhavn", "Status": "AF", "outflows": 138606.0 }, "geometry": { "type": "Point", "coordinates": [ 12.583333333333334, 55.666666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "1-3--6--", "LOCODE": "DOCAU", "Name": "Caucedo", "NameWoDiac": "Caucedo", "Status": "RL", "outflows": 11771542.79576 }, "geometry": { "type": "Point", "coordinates": [ -69.63333333333334, 18.416666666666668 ] } }, +{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "123-----", "LOCODE": "DOMAN", "Name": "Manzanillo", "NameWoDiac": "Manzanillo", "Status": "RL", "outflows": 53258.4 }, "geometry": { "type": "Point", "coordinates": [ -71.75, 19.7 ] } }, +{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "123456--", "LOCODE": "DZALG", "Name": "Alger (Algiers)", "NameWoDiac": "Alger (Algiers)", "Status": "AI", "outflows": 835952.4 }, "geometry": { "type": "Point", "coordinates": [ 3.05, 36.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "123-----", "LOCODE": "DZAZW", "Name": "Arzew", "NameWoDiac": "Arzew", "Status": "RL", "outflows": 24660.0 }, "geometry": { "type": "Point", "coordinates": [ -0.316666666666667, 35.866666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "123-----", "LOCODE": "DZGHZ", "Name": "Ghazaouet", "NameWoDiac": "Ghazaouet", "Status": "RL", "outflows": 72735.0 }, "geometry": { "type": "Point", "coordinates": [ -1.85, 35.1 ] } }, +{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "1--4----", "LOCODE": "ECESM", "Name": "Esmeraldas", "NameWoDiac": "Esmeraldas", "Status": "AI", "outflows": 153990.2 }, "geometry": { "type": "Point", "coordinates": [ -79.7, 0.983333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "1--45---", "LOCODE": "ECGYE", "Name": "Guayaquil", "NameWoDiac": "Guayaquil", "Status": "AI", "outflows": 8368052.2252000012 }, "geometry": { "type": "Point", "coordinates": [ -79.9, -2.166666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "--3--6--", "LOCODE": "ECPSJ", "Name": "Posorja", "NameWoDiac": "Posorja", "Status": "RL", "outflows": 1776250.6667999995 }, "geometry": { "type": "Point", "coordinates": [ -80.25, -2.7 ] } }, +{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "1-------", "LOCODE": "ECPBO", "Name": "Puerto Bolívar", "NameWoDiac": "Puerto Bolivar", "Status": "AI", "outflows": 1601516.8 }, "geometry": { "type": "Point", "coordinates": [ -79.983333333333334, -3.266666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "1------B", "LOCODE": "EEKND", "Name": "Kunda", "NameWoDiac": "Kunda", "Status": "AA", "outflows": 4176.0 }, "geometry": { "type": "Point", "coordinates": [ 26.533333333333335, 59.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "1------B", "LOCODE": "EEMUG", "Name": "Muuga", "NameWoDiac": "Muuga", "Status": "AA", "outflows": 74880.0 }, "geometry": { "type": "Point", "coordinates": [ 24.966666666666665, 59.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "-23----B", "LOCODE": "EEPLA", "Name": "Paldiski", "NameWoDiac": "Paldiski", "Status": "AA", "outflows": 90009.0 }, "geometry": { "type": "Point", "coordinates": [ 24.05, 59.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "1--45---", "LOCODE": "EETLL", "Name": "Tallinn", "NameWoDiac": "Tallinn", "Status": "AI", "outflows": 493596.99998000002 }, "geometry": { "type": "Point", "coordinates": [ 24.733333333333334, 59.43333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1234----", "LOCODE": "EGDAM", "Name": "Dumyat (Damietta)", "NameWoDiac": "Dumyat (Damietta)", "Status": "RL", "outflows": 9993066.850010002 }, "geometry": { "type": "Point", "coordinates": [ 31.816666666666666, 31.416666666666668 ] } }, +{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1--45---", "LOCODE": "EGALY", "Name": "El Iskandariya (Alexandria)", "NameWoDiac": "El Iskandariya (Alexandria)", "Status": "AI", "outflows": 6389301.2997899996 }, "geometry": { "type": "Point", "coordinates": [ 29.916666666666668, 31.183333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1-------", "LOCODE": "EGSOK", "Name": "Sokhna Port", "NameWoDiac": "Sokhna Port", "Status": "RQ", "outflows": 3639356.7318400005 }, "geometry": { "type": "Point", "coordinates": [ 32.35, 29.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Eritrea", "Function": "1234----", "LOCODE": "ERMSW", "Name": "Massawa (Mitsiwa)", "NameWoDiac": "Massawa (Mitsiwa)", "Status": "AI", "outflows": 44242.0 }, "geometry": { "type": "Point", "coordinates": [ 39.45, 15.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESLEI", "Name": "Almería", "NameWoDiac": "Almeria", "Status": "AI", "outflows": 123708.0 }, "geometry": { "type": "Point", "coordinates": [ -2.45, 36.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESBIO", "Name": "Bilbao", "NameWoDiac": "Bilbao", "Status": "AI", "outflows": 757628.79999199987 }, "geometry": { "type": "Point", "coordinates": [ -2.966666666666667, 43.25 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESCAR", "Name": "Cartagena", "NameWoDiac": "Cartagena", "Status": "AA", "outflows": 161718.0 }, "geometry": { "type": "Point", "coordinates": [ -0.983333333333333, 37.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESCAS", "Name": "Castellón de la Plana", "NameWoDiac": "Castellon de la Plana", "Status": "AI", "outflows": 2188540.79158 }, "geometry": { "type": "Point", "coordinates": [ -0.033333333333333, 39.983333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESFRO", "Name": "Ferrol", "NameWoDiac": "Ferrol", "Status": "AI", "outflows": 165064.5 }, "geometry": { "type": "Point", "coordinates": [ -8.25, 43.483333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESGIJ", "Name": "Gijón", "NameWoDiac": "Gijon", "Status": "AI", "outflows": 356746.0 }, "geometry": { "type": "Point", "coordinates": [ -5.666666666666667, 43.533333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESACE", "Name": "Lanzarote", "NameWoDiac": "Lanzarote", "Status": "AI", "outflows": 421980.0 }, "geometry": { "type": "Point", "coordinates": [ -13.533333333333333, 28.966666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-3456--", "LOCODE": "ESLPA", "Name": "Las Palmas de Gran Canaria", "NameWoDiac": "Las Palmas de Gran Canaria", "Status": "AI", "outflows": 5009347.5287000006 }, "geometry": { "type": "Point", "coordinates": [ -15.416666666666666, 28.1 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--45---", "LOCODE": "ESAGP", "Name": "Málaga", "NameWoDiac": "Malaga", "Status": "AI", "outflows": 439868.0 }, "geometry": { "type": "Point", "coordinates": [ -4.416666666666667, 36.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-34----", "LOCODE": "ESMLN", "Name": "Melilla", "NameWoDiac": "Melilla", "Status": "AI", "outflows": 45500.0 }, "geometry": { "type": "Point", "coordinates": [ -2.883333333333333, 35.31666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESSAG", "Name": "Sagunto", "NameWoDiac": "Sagunto", "Status": "AI", "outflows": 417560.0 }, "geometry": { "type": "Point", "coordinates": [ -0.266666666666667, 39.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESSPC", "Name": "Santa Cruz de La Palma", "NameWoDiac": "Santa Cruz de La Palma", "Status": "AI", "outflows": 245440.0 }, "geometry": { "type": "Point", "coordinates": [ -17.766666666666666, 28.683333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-3-----", "LOCODE": "ESVIL", "Name": "Villagarcía de Arosa", "NameWoDiac": "Villagarcia de Arosa", "Status": "AI", "outflows": 130988.0 }, "geometry": { "type": "Point", "coordinates": [ -8.75, 42.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FITKU", "Name": "Åbo (Turku)", "NameWoDiac": "Abo (Turku)", "Status": "AI", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 22.283333333333335, 60.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FITKU", "Name": "Turku (Åbo)", "NameWoDiac": "Turku (Abo)", "Status": "AI", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 22.283333333333335, 60.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIPOR", "Name": "Björneborg (Pori)", "NameWoDiac": "Bjorneborg (Pori)", "Status": "AI", "outflows": 5220.0 }, "geometry": { "type": "Point", "coordinates": [ 21.8, 61.483333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIPOR", "Name": "Pori (Björneborg)", "NameWoDiac": "Pori (Bjorneborg)", "Status": "AI", "outflows": 5220.0 }, "geometry": { "type": "Point", "coordinates": [ 21.8, 61.483333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHMN", "Name": "Fredrikshamn (Hamina)", "NameWoDiac": "Fredrikshamn (Hamina)", "Status": "AI", "outflows": 4437.0 }, "geometry": { "type": "Point", "coordinates": [ 27.2, 60.56666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHMN", "Name": "Hamina (Fredrikshamn)", "NameWoDiac": "Hamina (Fredrikshamn)", "Status": "AI", "outflows": 4437.0 }, "geometry": { "type": "Point", "coordinates": [ 27.2, 60.56666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIPRS", "Name": "Jakobstad (Pietarsaari)", "NameWoDiac": "Jakobstad (Pietarsaari)", "Status": "AI", "outflows": 9396.0 }, "geometry": { "type": "Point", "coordinates": [ 22.783333333333335, 63.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIPRS", "Name": "Pietarsaari (Jakobstad)", "NameWoDiac": "Pietarsaari (Jakobstad)", "Status": "AI", "outflows": 9396.0 }, "geometry": { "type": "Point", "coordinates": [ 22.783333333333335, 63.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIKOK", "Name": "Karleby (Kokkola)", "NameWoDiac": "Karleby (Kokkola)", "Status": "AI", "outflows": 39182.0 }, "geometry": { "type": "Point", "coordinates": [ 23.116666666666667, 63.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIKOK", "Name": "Kokkola (Karleby)", "NameWoDiac": "Kokkola (Karleby)", "Status": "AI", "outflows": 39182.0 }, "geometry": { "type": "Point", "coordinates": [ 23.116666666666667, 63.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIKEM", "Name": "Kemi\/Torneå (Kemi\/Tornio)", "NameWoDiac": "Kemi\/Tornea (Kemi\/Tornio)", "Status": "AI", "outflows": 106574.0 }, "geometry": { "type": "Point", "coordinates": [ 24.566666666666666, 65.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIKEM", "Name": "Kemi\/Tornio (Kemi\/Torneå)", "NameWoDiac": "Kemi\/Tornio (Kemi\/Tornea)", "Status": "AI", "outflows": 106574.0 }, "geometry": { "type": "Point", "coordinates": [ 24.566666666666666, 65.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123----B", "LOCODE": "FIKTK", "Name": "Kotka", "NameWoDiac": "Kotka", "Status": "AC", "outflows": 1116795.4999200001 }, "geometry": { "type": "Point", "coordinates": [ 26.916666666666668, 60.466666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123----B", "LOCODE": "FIRAU", "Name": "Rauma (Raumo)", "NameWoDiac": "Rauma (Raumo)", "Status": "AC", "outflows": 705561.49998000008 }, "geometry": { "type": "Point", "coordinates": [ 21.5, 61.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123----B", "LOCODE": "FIRAU", "Name": "Raumo (Rauma)", "NameWoDiac": "Raumo (Rauma)", "Status": "AC", "outflows": 705561.49998000008 }, "geometry": { "type": "Point", "coordinates": [ 21.5, 61.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FITOR", "Name": "Torneå (Tornio)", "NameWoDiac": "Tornea (Tornio)", "Status": "AI", "outflows": 91624.0 }, "geometry": { "type": "Point", "coordinates": [ 24.183333333333334, 65.85 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FITOR", "Name": "Tornio (Torneå)", "NameWoDiac": "Tornio (Tornea)", "Status": "AI", "outflows": 91624.0 }, "geometry": { "type": "Point", "coordinates": [ 24.183333333333334, 65.85 ] } }, +{ "type": "Feature", "properties": { "Country": "Fiji", "Function": "123-----", "LOCODE": "FJLTK", "Name": "Lautoka", "NameWoDiac": "Lautoka", "Status": "RL", "outflows": 490393.0 }, "geometry": { "type": "Point", "coordinates": [ 177.45, -17.616666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Fiji", "Function": "1--45---", "LOCODE": "FJSUV", "Name": "Suva", "NameWoDiac": "Suva", "Status": "AI", "outflows": 535295.0 }, "geometry": { "type": "Point", "coordinates": [ 178.45, -18.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Faroe Islands", "Function": "1-3-----", "LOCODE": "FOKOL", "Name": "Kollafjördur", "NameWoDiac": "Kollafjordur", "Status": "RL", "outflows": 82628.0 }, "geometry": { "type": "Point", "coordinates": [ -6.883333333333333, 62.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Faroe Islands", "Function": "1-------", "LOCODE": "FOTHO", "Name": "Thorshavn", "NameWoDiac": "Thorshavn", "Status": "RL", "outflows": 91104.0 }, "geometry": { "type": "Point", "coordinates": [ -6.766666666666667, 62.016666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "12------", "LOCODE": "FRBAS", "Name": "Bassens", "NameWoDiac": "Bassens", "Status": "AF", "outflows": 33930.0 }, "geometry": { "type": "Point", "coordinates": [ -0.516666666666667, 44.9 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "1234----", "LOCODE": "FRBES", "Name": "Brest", "NameWoDiac": "Brest", "Status": "AF", "outflows": 107185.0 }, "geometry": { "type": "Point", "coordinates": [ -4.483333333333333, 48.4 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "12--5---", "LOCODE": "FRDKK", "Name": "Dunkerque", "NameWoDiac": "Dunkerque", "Status": "AF", "outflows": 4450642.0836299993 }, "geometry": { "type": "Point", "coordinates": [ 2.383333333333333, 51.033333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "123---7-", "LOCODE": "FRFOS", "Name": "Fos-sur-Mer", "NameWoDiac": "Fos-sur-Mer", "Status": "AF", "outflows": 18248513.215530016 }, "geometry": { "type": "Point", "coordinates": [ 4.933333333333334, 43.43333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "1-------", "LOCODE": "FRLPE", "Name": "la Pallice", "NameWoDiac": "la Pallice", "Status": "AF", "outflows": 22725.0 }, "geometry": { "type": "Point", "coordinates": [ -1.216666666666667, 46.166666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "12-4----", "LOCODE": "FRLRH", "Name": "La Rochelle", "NameWoDiac": "La Rochelle", "Status": "AF", "outflows": 33930.0 }, "geometry": { "type": "Point", "coordinates": [ -1.15, 46.166666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "12345---", "LOCODE": "FRLEH", "Name": "Le Havre", "NameWoDiac": "Le Havre", "Status": "AF", "outflows": 35976285.665610015 }, "geometry": { "type": "Point", "coordinates": [ 0.1, 49.5 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "12-45---", "LOCODE": "FRMRS", "Name": "Marseille", "NameWoDiac": "Marseille", "Status": "AF", "outflows": 629024.0 }, "geometry": { "type": "Point", "coordinates": [ 5.4, 43.3 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "123-----", "LOCODE": "FRMTX", "Name": "Montoir-de-Bretagne", "NameWoDiac": "Montoir-de-Bretagne", "Status": "AF", "outflows": 1130547.1665700004 }, "geometry": { "type": "Point", "coordinates": [ -2.15, 47.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "12------", "LOCODE": "FRPOV", "Name": "Port-Vendres", "NameWoDiac": "Port-Vendres", "Status": "AF", "outflows": 21450.0 }, "geometry": { "type": "Point", "coordinates": [ 3.116666666666667, 42.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "1-3-----", "LOCODE": "FRRAD", "Name": "Radicatel", "NameWoDiac": "Radicatel", "Status": "RL", "outflows": 42900.000003000001 }, "geometry": { "type": "Point", "coordinates": [ 0.5, 49.5 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "1-34----", "LOCODE": "FRURO", "Name": "Rouen", "NameWoDiac": "Rouen", "Status": "AF", "outflows": 34842.0 }, "geometry": { "type": "Point", "coordinates": [ 1.1, 49.45 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "123-----", "LOCODE": "FRSET", "Name": "Sète", "NameWoDiac": "Sete", "Status": "AF", "outflows": 34041.0 }, "geometry": { "type": "Point", "coordinates": [ 3.7, 43.4 ] } }, +{ "type": "Feature", "properties": { "Country": "France", "Function": "12-4----", "LOCODE": "FRTLN", "Name": "Toulon", "NameWoDiac": "Toulon", "Status": "AF", "outflows": 1080.0 }, "geometry": { "type": "Point", "coordinates": [ 5.933333333333334, 43.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBABD", "Name": "Aberdeen", "NameWoDiac": "Aberdeen", "Status": "AF", "outflows": 48681.0 }, "geometry": { "type": "Point", "coordinates": [ -2.1, 57.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4-6--", "LOCODE": "GBBEL", "Name": "Belfast", "NameWoDiac": "Belfast", "Status": "AF", "outflows": 137826.0 }, "geometry": { "type": "Point", "coordinates": [ -5.916666666666667, 54.983333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBGRG", "Name": "Grangemouth", "NameWoDiac": "Grangemouth", "Status": "AF", "outflows": 192244.0 }, "geometry": { "type": "Point", "coordinates": [ -3.716666666666667, 56.0 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBGRK", "Name": "Greenock", "NameWoDiac": "Greenock", "Status": "AF", "outflows": 275567.66664999997 }, "geometry": { "type": "Point", "coordinates": [ -4.75, 55.93333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBHUL", "Name": "Hull", "NameWoDiac": "Hull", "Status": "AF", "outflows": 219740.33333800005 }, "geometry": { "type": "Point", "coordinates": [ -0.316666666666667, 53.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBIMM", "Name": "Immingham", "NameWoDiac": "Immingham", "Status": "AF", "outflows": 329625.0 }, "geometry": { "type": "Point", "coordinates": [ -0.216666666666667, 53.6 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBLIV", "Name": "Liverpool", "NameWoDiac": "Liverpool", "Status": "AF", "outflows": 1673890.2916200003 }, "geometry": { "type": "Point", "coordinates": [ -3.0, 53.416666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "123--6--", "LOCODE": "GBLGP", "Name": "London Gateway Port", "NameWoDiac": "London Gateway Port", "Status": "RL", "outflows": 21704403.092420008 }, "geometry": { "type": "Point", "coordinates": [ 0.483333333333333, 51.5 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBTEE", "Name": "Teesport", "NameWoDiac": "Teesport", "Status": "AF", "outflows": 556920.0 }, "geometry": { "type": "Point", "coordinates": [ -1.15, 54.583333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBTYN", "Name": "Tyne", "NameWoDiac": "Tyne", "Status": "RQ", "outflows": 31668.0 }, "geometry": { "type": "Point", "coordinates": [ -1.433333333333333, 55.0 ] } }, +{ "type": "Feature", "properties": { "Country": "French Guiana", "Function": "1-------", "LOCODE": "GFDDC", "Name": "Dégrad des Cannes", "NameWoDiac": "Degrad des Cannes", "Status": "RL", "outflows": 286520.0 }, "geometry": { "type": "Point", "coordinates": [ -52.266666666666666, 4.85 ] } }, +{ "type": "Feature", "properties": { "Country": "Greenland", "Function": "1-34----", "LOCODE": "GLGOH", "Name": "Nuuk (Godthaab)", "NameWoDiac": "Nuuk (Godthaab)", "Status": "AI", "outflows": 23426.0 }, "geometry": { "type": "Point", "coordinates": [ -51.75, 64.183333333333337 ] } }, +{ "type": "Feature", "properties": { "Country": "Guadeloupe", "Function": "1--45---", "LOCODE": "GPPTP", "Name": "Point-à-Pitre Apt", "NameWoDiac": "Point-a-Pitre Apt", "Status": "AF", "outflows": 1970512.9165490004 }, "geometry": { "type": "Point", "coordinates": [ -61.516666666666666, 16.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--4----", "LOCODE": "GRHER", "Name": "Heraklion (Iraklion)", "NameWoDiac": "Heraklion (Iraklion)", "Status": "AI", "outflows": 23582.0 }, "geometry": { "type": "Point", "coordinates": [ 25.166666666666668, 35.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--4----", "LOCODE": "GRHER", "Name": "Iraklion (Heraklion)", "NameWoDiac": "Iraklion (Heraklion)", "Status": "AI", "outflows": 23582.0 }, "geometry": { "type": "Point", "coordinates": [ 25.166666666666668, 35.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1-------", "LOCODE": "GRPIR", "Name": "Piraeus", "NameWoDiac": "Piraeus", "Status": "AI", "outflows": 25227137.508840002 }, "geometry": { "type": "Point", "coordinates": [ 23.616666666666667, 37.93333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--45---", "LOCODE": "GRSKG", "Name": "Thessaloníki", "NameWoDiac": "Thessaloniki", "Status": "AI", "outflows": 790815.99999000016 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 40.633333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--4----", "LOCODE": "GRVOL", "Name": "Vólos", "NameWoDiac": "Volos", "Status": "AI", "outflows": 23582.0 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 39.366666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Guatemala", "Function": "1-------", "LOCODE": "GTSTC", "Name": "Puerto Santo Tomás de Castilla", "NameWoDiac": "Puerto Santo Tomas de Castilla", "Status": "AI", "outflows": 1241734.0000599998 }, "geometry": { "type": "Point", "coordinates": [ -88.61666666666666, 15.7 ] } }, +{ "type": "Feature", "properties": { "Country": "Guam", "Function": "--3-----", "LOCODE": "GUPIT", "Name": "Piti", "NameWoDiac": "Piti", "Status": "RL", "outflows": 52903.5 }, "geometry": { "type": "Point", "coordinates": [ 144.683333333333337, 13.433333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Guinea-Bissau", "Function": "1-345---", "LOCODE": "GWOXB", "Name": "Bissau", "NameWoDiac": "Bissau", "Status": "AI", "outflows": 114309.0 }, "geometry": { "type": "Point", "coordinates": [ -15.583333333333334, 11.85 ] } }, +{ "type": "Feature", "properties": { "Country": "Croatia", "Function": "123-----", "LOCODE": "HRPLE", "Name": "Ploce", "NameWoDiac": "Ploce", "Status": "RL", "outflows": 136773.0 }, "geometry": { "type": "Point", "coordinates": [ 17.433333333333334, 43.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Croatia", "Function": "1234----", "LOCODE": "HRRJK", "Name": "Rijeka", "NameWoDiac": "Rijeka", "Status": "AI", "outflows": 3818455.3333799997 }, "geometry": { "type": "Point", "coordinates": [ 14.4, 45.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Croatia", "Function": "1234----", "LOCODE": "HRSPU", "Name": "Split", "NameWoDiac": "Split", "Status": "AI", "outflows": 63609.0 }, "geometry": { "type": "Point", "coordinates": [ 16.45, 43.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Haiti", "Function": "1--4----", "LOCODE": "HTCAP", "Name": "Cap-Haïtien", "NameWoDiac": "Cap-Haitien", "Status": "AI", "outflows": 47268.0 }, "geometry": { "type": "Point", "coordinates": [ -72.2, 19.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Haiti", "Function": "1-------", "LOCODE": "HTLFF", "Name": "Lafiteau", "NameWoDiac": "Lafiteau", "Status": "AI", "outflows": 1098127.3333000003 }, "geometry": { "type": "Point", "coordinates": [ -72.433333333333337, 18.483333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDBPN", "Name": "Balikpapan", "NameWoDiac": "Balikpapan", "Status": "AI", "outflows": 77320.75 }, "geometry": { "type": "Point", "coordinates": [ 116.833333333333329, -1.283333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDBTM", "Name": "Batam Island", "NameWoDiac": "Batam Island", "Status": "RL", "outflows": 7335.5 }, "geometry": { "type": "Point", "coordinates": [ 104.033333333333331, 1.083333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBEN", "Name": "Benete", "NameWoDiac": "Benete", "Status": "RL", "outflows": 12681.75 }, "geometry": { "type": "Point", "coordinates": [ 116.716666666666669, -8.866666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBOA", "Name": "Benoa", "NameWoDiac": "Benoa", "Status": "RL", "outflows": 6747.0 }, "geometry": { "type": "Point", "coordinates": [ 115.216666666666669, -8.766666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "12345---", "LOCODE": "IDJKT", "Name": "Jakarta, Java", "NameWoDiac": "Jakarta, Java", "Status": "AI", "outflows": 12060454.992969999 }, "geometry": { "type": "Point", "coordinates": [ 106.833333333333329, -6.133333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-345---", "LOCODE": "IDDJJ", "Name": "Jayapura, Irian Jaya", "NameWoDiac": "Jayapura, Irian Jaya", "Status": "AI", "outflows": 136162.0 }, "geometry": { "type": "Point", "coordinates": [ 140.7, -2.533333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDKUM", "Name": "Kumai", "NameWoDiac": "Kumai", "Status": "RL", "outflows": 4238.0 }, "geometry": { "type": "Point", "coordinates": [ 111.716666666666669, -2.733333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDMAK", "Name": "Makassar", "NameWoDiac": "Makassar", "Status": "RL", "outflows": 664450.0 }, "geometry": { "type": "Point", "coordinates": [ 119.4, -5.116666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1234----", "LOCODE": "IDPDG", "Name": "Padang", "NameWoDiac": "Padang", "Status": "AI", "outflows": 74470.25 }, "geometry": { "type": "Point", "coordinates": [ 100.35, -0.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDPER", "Name": "Perawang", "NameWoDiac": "Perawang", "Status": "RL", "outflows": 3627.0 }, "geometry": { "type": "Point", "coordinates": [ 102.86666666666666, 1.066666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-345---", "LOCODE": "IDSRG", "Name": "Semarang", "NameWoDiac": "Semarang", "Status": "AI", "outflows": 2529727.4165999996 }, "geometry": { "type": "Point", "coordinates": [ 110.483333333333334, -6.966666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "123456--", "LOCODE": "IDSUB", "Name": "Surabaya", "NameWoDiac": "Surabaya", "Status": "AI", "outflows": 5004081.1427500024 }, "geometry": { "type": "Point", "coordinates": [ 112.75, -7.233333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDTNJ", "Name": "Tanjungpinang", "NameWoDiac": "Tanjungpinang", "Status": "AI", "outflows": 3068.0 }, "geometry": { "type": "Point", "coordinates": [ 104.45, 0.916666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDTMK", "Name": "Timika", "NameWoDiac": "Timika", "Status": "RQ", "outflows": 3240.0 }, "geometry": { "type": "Point", "coordinates": [ 136.55, -4.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDTUA", "Name": "Tual", "NameWoDiac": "Tual", "Status": "RQ", "outflows": 12207.0 }, "geometry": { "type": "Point", "coordinates": [ 132.73333333333332, -5.633333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Ireland", "Function": "1-345---", "LOCODE": "IEWAT", "Name": "Waterford", "NameWoDiac": "Waterford", "Status": "AF", "outflows": 86515.0 }, "geometry": { "type": "Point", "coordinates": [ -7.1, 52.25 ] } }, +{ "type": "Feature", "properties": { "Country": "Israel", "Function": "1--45---", "LOCODE": "ILHFA", "Name": "Haifa", "NameWoDiac": "Haifa", "Status": "AI", "outflows": 8470527.0681299977 }, "geometry": { "type": "Point", "coordinates": [ 34.983333333333334, 32.8 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "12345---", "LOCODE": "INMAA", "Name": "Chennai (ex Madras)", "NameWoDiac": "Chennai (ex Madras)", "Status": "AA", "outflows": 2818763.3167999992 }, "geometry": { "type": "Point", "coordinates": [ 80.283333333333331, 13.083333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1234-6--", "LOCODE": "INCOK", "Name": "Cochin", "NameWoDiac": "Cochin", "Status": "AA", "outflows": 2453568.0832799999 }, "geometry": { "type": "Point", "coordinates": [ 76.233333333333334, 9.966666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "--3--6--", "LOCODE": "INHZR", "Name": "Hazira", "NameWoDiac": "Hazira", "Status": "RL", "outflows": 5911162.5861400003 }, "geometry": { "type": "Point", "coordinates": [ 72.62343557464672, 21.09641041428134 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1234-6--", "LOCODE": "INIXY", "Name": "Kandla", "NameWoDiac": "Kandla", "Status": "AA", "outflows": 817280.5 }, "geometry": { "type": "Point", "coordinates": [ 70.216666666666669, 23.033333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INKTP", "Name": "Kattupalli Port", "NameWoDiac": "Kattupalli Port", "Status": "RL", "outflows": 1964901.8999300003 }, "geometry": { "type": "Point", "coordinates": [ 80.38333333333334, 13.3 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1--45---", "LOCODE": "INCCU", "Name": "Kolkata (ex Calcutta)", "NameWoDiac": "Kolkata (ex Calcutta)", "Status": "AA", "outflows": 303853.53334000002 }, "geometry": { "type": "Point", "coordinates": [ 88.35, 22.566666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INMRM", "Name": "Marmagao (Marmugao)", "NameWoDiac": "Marmagao (Marmugao)", "Status": "AA", "outflows": 100178.0 }, "geometry": { "type": "Point", "coordinates": [ 73.783333333333331, 15.4 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INMRM", "Name": "Marmugao (Marmagao)", "NameWoDiac": "Marmugao (Marmagao)", "Status": "AA", "outflows": 100178.0 }, "geometry": { "type": "Point", "coordinates": [ 73.783333333333331, 15.4 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "123456--", "LOCODE": "INBOM", "Name": "Mumbai (ex Bombay)", "NameWoDiac": "Mumbai (ex Bombay)", "Status": "AA", "outflows": 126915.25 }, "geometry": { "type": "Point", "coordinates": [ 72.816666666666663, 18.966666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INPRT", "Name": "Paradip Garh", "NameWoDiac": "Paradip Garh", "Status": "AA", "outflows": 28080.0 }, "geometry": { "type": "Point", "coordinates": [ 86.61666666666666, 20.316666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INPAV", "Name": "Pipavav (Victor) Port", "NameWoDiac": "Pipavav (Victor) Port", "Status": "AA", "outflows": 6333654.3638700033 }, "geometry": { "type": "Point", "coordinates": [ 71.55, 20.966666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "123--6--", "LOCODE": "INTUT", "Name": "Tuticorin", "NameWoDiac": "Tuticorin", "Status": "AA", "outflows": 1224891.0 }, "geometry": { "type": "Point", "coordinates": [ 78.13333333333334, 8.783333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1234-6--", "LOCODE": "INVTZ", "Name": "Visakhapatnam", "NameWoDiac": "Visakhapatnam", "Status": "AA", "outflows": 2172514.4999899995 }, "geometry": { "type": "Point", "coordinates": [ 83.3, 17.7 ] } }, +{ "type": "Feature", "properties": { "Country": "Iraq", "Function": "123-----", "LOCODE": "IQUQR", "Name": "Umm Qasr Port", "NameWoDiac": "Umm Qasr Port", "Status": "RL", "outflows": 3640547.5715799998 }, "geometry": { "type": "Point", "coordinates": [ 47.93333333333333, 30.033333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1-3-----", "LOCODE": "IRASA", "Name": "Asaluyeh", "NameWoDiac": "Asaluyeh", "Status": "RL", "outflows": 3060.0 }, "geometry": { "type": "Point", "coordinates": [ 52.6, 27.466666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1--4----", "LOCODE": "IRBND", "Name": "Bandar Abbas", "NameWoDiac": "Bandar Abbas", "Status": "AI", "outflows": 1154182.75 }, "geometry": { "type": "Point", "coordinates": [ 56.266666666666666, 27.183333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1-34----", "LOCODE": "IRBKM", "Name": "Bandar Khomeini", "NameWoDiac": "Bandar Khomeini", "Status": "RL", "outflows": 85644.0 }, "geometry": { "type": "Point", "coordinates": [ 49.1, 30.433333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1-34----", "LOCODE": "IRBUZ", "Name": "Bushehr", "NameWoDiac": "Bushehr", "Status": "AI", "outflows": 85644.0 }, "geometry": { "type": "Point", "coordinates": [ 50.833333333333336, 28.966666666666665 ] } }, +{ "type": "Feature", "properties": { "Country": "Iceland", "Function": "1-------", "LOCODE": "ISREY", "Name": "Reykjavík", "NameWoDiac": "Reykjavik", "Status": "AC", "outflows": 327138.50000099995 }, "geometry": { "type": "Point", "coordinates": [ -21.95, 64.15 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-34----", "LOCODE": "ITAOI", "Name": "Ancona", "NameWoDiac": "Ancona", "Status": "AI", "outflows": 1251219.6666600001 }, "geometry": { "type": "Point", "coordinates": [ 13.5, 43.633333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-34----", "LOCODE": "ITBRI", "Name": "Bari", "NameWoDiac": "Bari", "Status": "AI", "outflows": 123851.0 }, "geometry": { "type": "Point", "coordinates": [ 16.85, 41.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-34----", "LOCODE": "ITCAG", "Name": "Cagliari", "NameWoDiac": "Cagliari", "Status": "AI", "outflows": 61347.0 }, "geometry": { "type": "Point", "coordinates": [ 9.116666666666667, 39.216666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITCTA", "Name": "Catania", "NameWoDiac": "Catania", "Status": "AI", "outflows": 112515.0 }, "geometry": { "type": "Point", "coordinates": [ 15.1, 37.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITCVV", "Name": "Civitavecchia", "NameWoDiac": "Civitavecchia", "Status": "AI", "outflows": 2179445.6662 }, "geometry": { "type": "Point", "coordinates": [ 11.8, 42.1 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "12345---", "LOCODE": "ITGOA", "Name": "Genova", "NameWoDiac": "Genova", "Status": "AI", "outflows": 23896971.132049996 }, "geometry": { "type": "Point", "coordinates": [ 8.95, 44.416666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITGIT", "Name": "Gioia Tauro", "NameWoDiac": "Gioia Tauro", "Status": "AI", "outflows": 16628557.647730002 }, "geometry": { "type": "Point", "coordinates": [ 15.9, 38.416666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITSPE", "Name": "La Spezia", "NameWoDiac": "La Spezia", "Status": "AI", "outflows": 12785874.433700003 }, "geometry": { "type": "Point", "coordinates": [ 9.833333333333334, 44.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITLIV", "Name": "Livorno", "NameWoDiac": "Livorno", "Status": "AI", "outflows": 8253720.2853500005 }, "geometry": { "type": "Point", "coordinates": [ 10.316666666666666, 43.55 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1234----", "LOCODE": "ITNAP", "Name": "Napoli", "NameWoDiac": "Napoli", "Status": "AI", "outflows": 4010591.4281000006 }, "geometry": { "type": "Point", "coordinates": [ 14.25, 40.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1234----", "LOCODE": "ITOLB", "Name": "Olbia", "NameWoDiac": "Olbia", "Status": "RL", "outflows": 11076.0 }, "geometry": { "type": "Point", "coordinates": [ 9.516666666666667, 40.916666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1--4----", "LOCODE": "ITPMO", "Name": "Palermo", "NameWoDiac": "Palermo", "Status": "AI", "outflows": 35997.0 }, "geometry": { "type": "Point", "coordinates": [ 13.366666666666667, 38.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "123-----", "LOCODE": "ITSVN", "Name": "Savona", "NameWoDiac": "Savona", "Status": "AI", "outflows": 43661.0 }, "geometry": { "type": "Point", "coordinates": [ 8.5, 44.283333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1--4----", "LOCODE": "ITTPS", "Name": "Trapani", "NameWoDiac": "Trapani", "Status": "AI", "outflows": 41808.0 }, "geometry": { "type": "Point", "coordinates": [ 12.483333333333333, 38.016666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "123-----", "LOCODE": "ITVDL", "Name": "Vado Ligure", "NameWoDiac": "Vado Ligure", "Status": "RL", "outflows": 1281768.42842 }, "geometry": { "type": "Point", "coordinates": [ 8.45, 44.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "12345--B", "LOCODE": "ITVCE", "Name": "Venezia", "NameWoDiac": "Venezia", "Status": "AI", "outflows": 1408195.6666600001 }, "geometry": { "type": "Point", "coordinates": [ 12.333333333333334, 45.43333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Jordan", "Function": "1--4----", "LOCODE": "JOAQJ", "Name": "Al 'Aqabah", "NameWoDiac": "Al 'Aqabah", "Status": "RL", "outflows": 5019094.2318399996 }, "geometry": { "type": "Point", "coordinates": [ 35.0, 29.533333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "--3-----", "LOCODE": "JPHTD", "Name": "Hakata", "NameWoDiac": "Hakata", "Status": "RL", "outflows": 3054288.2499700007 }, "geometry": { "type": "Point", "coordinates": [ 133.1, 34.18333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "--3-----", "LOCODE": "JPISS", "Name": "Isa", "NameWoDiac": "Isa", "Status": "AF", "outflows": 362101.99997 }, "geometry": { "type": "Point", "coordinates": [ 130.6, 32.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPKKJ", "Name": "Kitakyushu", "NameWoDiac": "Kitakyushu", "Status": "AF", "outflows": 476762.0 }, "geometry": { "type": "Point", "coordinates": [ 130.833333333333343, 33.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPUKB", "Name": "Kobe", "NameWoDiac": "Kobe", "Status": "AF", "outflows": 16494507.892490005 }, "geometry": { "type": "Point", "coordinates": [ 135.166666666666657, 34.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "123-----", "LOCODE": "JPMJR", "Name": "Mitajiri", "NameWoDiac": "Mitajiri", "Status": "AF", "outflows": 18720.0 }, "geometry": { "type": "Point", "coordinates": [ 131.583333333333343, 34.033333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "123-5---", "LOCODE": "JPMOJ", "Name": "Moji\/Kitakyushu", "NameWoDiac": "Moji\/Kitakyushu", "Status": "AF", "outflows": 2497337.91658 }, "geometry": { "type": "Point", "coordinates": [ 130.966666666666669, 33.9 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--45---", "LOCODE": "JPOSA", "Name": "Osaka", "NameWoDiac": "Osaka", "Status": "AF", "outflows": 9088752.8333900012 }, "geometry": { "type": "Point", "coordinates": [ 135.5, 34.666666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSEN", "Name": "Satsumasendai", "NameWoDiac": "Satsumasendai", "Status": "AF", "outflows": 1041560.0000199999 }, "geometry": { "type": "Point", "coordinates": [ 130.25, 31.816666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPTYO", "Name": "Tokyo", "NameWoDiac": "Tokyo", "Status": "AF", "outflows": 20969567.582899991 }, "geometry": { "type": "Point", "coordinates": [ 139.75, 35.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPYOK", "Name": "Yokohama", "NameWoDiac": "Yokohama", "Status": "AF", "outflows": 26921996.624540005 }, "geometry": { "type": "Point", "coordinates": [ 139.65, 35.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Cambodia", "Function": "1-34--7-", "LOCODE": "KHKOS", "Name": "Kâmpóng Saôm", "NameWoDiac": "Kampong Saom", "Status": "AI", "outflows": 1342444.99985 }, "geometry": { "type": "Point", "coordinates": [ 103.516666666666666, 10.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Comoros", "Function": "1-3-----", "LOCODE": "KMMUT", "Name": "Mutsamudu, Anjouan", "NameWoDiac": "Mutsamudu, Anjouan", "Status": "RL", "outflows": 143131.33335 }, "geometry": { "type": "Point", "coordinates": [ 44.383333333333333, -12.15 ] } }, +{ "type": "Feature", "properties": { "Country": "Saint Kitts and Nevis", "Function": "1--4----", "LOCODE": "KNCHA", "Name": "Charlestown", "NameWoDiac": "Charlestown", "Status": "RL", "outflows": 230958.0 }, "geometry": { "type": "Point", "coordinates": [ -62.616666666666667, 17.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234567-", "LOCODE": "KRPUS", "Name": "Busan", "NameWoDiac": "Busan", "Status": "AF", "outflows": 97226625.829958007 }, "geometry": { "type": "Point", "coordinates": [ 129.05, 35.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1-------", "LOCODE": "KRTSN", "Name": "Daesan\/Seosan", "NameWoDiac": "Daesan\/Seosan", "Status": "AF", "outflows": 391261.0 }, "geometry": { "type": "Point", "coordinates": [ 126.36666666666666, 37.0 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1-3-----", "LOCODE": "KRTJI", "Name": "Dangjin", "NameWoDiac": "Dangjin", "Status": "AF", "outflows": 80514.0 }, "geometry": { "type": "Point", "coordinates": [ 126.783333333333331, 36.966666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234----", "LOCODE": "KRKUV", "Name": "Gunsan", "NameWoDiac": "Gunsan", "Status": "AF", "outflows": 367380.0 }, "geometry": { "type": "Point", "coordinates": [ 126.716666666666669, 35.983333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRKAN", "Name": "Gwangyang", "NameWoDiac": "Gwangyang", "Status": "AF", "outflows": 16515872.093510004 }, "geometry": { "type": "Point", "coordinates": [ 127.7, 34.93333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRINC", "Name": "Incheon", "NameWoDiac": "Incheon", "Status": "AF", "outflows": 7323842.7736799996 }, "geometry": { "type": "Point", "coordinates": [ 126.61666666666666, 37.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRMAS", "Name": "Masan", "NameWoDiac": "Masan", "Status": "AF", "outflows": 292464.0 }, "geometry": { "type": "Point", "coordinates": [ 128.566666666666663, 35.2 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRMOK", "Name": "Mokpo", "NameWoDiac": "Mokpo", "Status": "AF", "outflows": 64792.0 }, "geometry": { "type": "Point", "coordinates": [ 126.38333333333334, 34.8 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234----", "LOCODE": "KRKPO", "Name": "Pohang", "NameWoDiac": "Pohang", "Status": "AF", "outflows": 704296.66661000007 }, "geometry": { "type": "Point", "coordinates": [ 129.366666666666674, 36.033333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123--6--", "LOCODE": "KRPTK", "Name": "Pyeongtaek", "NameWoDiac": "Pyeongtaek", "Status": "AF", "outflows": 201565.00002000004 }, "geometry": { "type": "Point", "coordinates": [ 127.1, 36.966666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234----", "LOCODE": "KRUSN", "Name": "Ulsan", "NameWoDiac": "Ulsan", "Status": "AF", "outflows": 4923083.7499700002 }, "geometry": { "type": "Point", "coordinates": [ 129.316666666666663, 35.533333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Kuwait", "Function": "1-3--6--", "LOCODE": "KWSAA", "Name": "Shuaiba", "NameWoDiac": "Shuaiba", "Status": "RL", "outflows": 770515.0 }, "geometry": { "type": "Point", "coordinates": [ 48.133333333333333, 29.033333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "Kuwait", "Function": "1-------", "LOCODE": "KWSWK", "Name": "Shuwaikh", "NameWoDiac": "Shuwaikh", "Status": "RL", "outflows": 272129.0 }, "geometry": { "type": "Point", "coordinates": [ 47.93333333333333, 29.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Cayman Islands", "Function": "1-34----", "LOCODE": "KYGEC", "Name": "Georgetown, Grand Cayman", "NameWoDiac": "Georgetown, Grand Cayman", "Status": "AI", "outflows": 20059.0 }, "geometry": { "type": "Point", "coordinates": [ -81.38333333333334, 19.3 ] } }, +{ "type": "Feature", "properties": { "Country": "Lebanon", "Function": "1--45---", "LOCODE": "LBBEY", "Name": "Beirut", "NameWoDiac": "Beirut", "Status": "AI", "outflows": 8332419.5043999981 }, "geometry": { "type": "Point", "coordinates": [ 35.483333333333334, 33.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Saint Lucia", "Function": "1-3-----", "LOCODE": "LCCAS", "Name": "Castries", "NameWoDiac": "Castries", "Status": "RL", "outflows": 395089.06669000001 }, "geometry": { "type": "Point", "coordinates": [ -60.966666666666669, 14.016666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Sri Lanka", "Function": "12345---", "LOCODE": "LKCMB", "Name": "Colombo", "NameWoDiac": "Colombo", "Status": "AI", "outflows": 40970827.24107001 }, "geometry": { "type": "Point", "coordinates": [ 79.85, 6.916666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Liberia", "Function": "1-345---", "LOCODE": "LRMLW", "Name": "Monrovia", "NameWoDiac": "Monrovia", "Status": "AI", "outflows": 467272.00002000009 }, "geometry": { "type": "Point", "coordinates": [ -10.8, 6.3 ] } }, +{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1-3-----", "LOCODE": "LYKHO", "Name": "Al Khums", "NameWoDiac": "Al Khums", "Status": "RL", "outflows": 230254.00001 }, "geometry": { "type": "Point", "coordinates": [ 14.266666666666667, 32.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "1--45---", "LOCODE": "MACAS", "Name": "Casablanca", "NameWoDiac": "Casablanca", "Status": "AI", "outflows": 2434027.9715000005 }, "geometry": { "type": "Point", "coordinates": [ -7.6, 33.583333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Moldova, Republic of", "Function": "1-3-----", "LOCODE": "MDGIU", "Name": "Giurgiulesti", "NameWoDiac": "Giurgiulesti", "Status": "RL", "outflows": 1560.0 }, "geometry": { "type": "Point", "coordinates": [ 28.183333333333334, 45.466666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Montenegro", "Function": "123-----", "LOCODE": "MEBAR", "Name": "Bar", "NameWoDiac": "Bar", "Status": "RL", "outflows": 257803.0 }, "geometry": { "type": "Point", "coordinates": [ 19.083333333333332, 42.083333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1-------", "LOCODE": "MGEHL", "Name": "Ehoala", "NameWoDiac": "Ehoala", "Status": "RL", "outflows": 19864.0 }, "geometry": { "type": "Point", "coordinates": [ 46.95, -25.066666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1-34----", "LOCODE": "MGNOS", "Name": "Nosy-Be", "NameWoDiac": "Nosy-Be", "Status": "AI", "outflows": 60888.0 }, "geometry": { "type": "Point", "coordinates": [ 48.25, -13.333333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Marshall Islands", "Function": "1--4----", "LOCODE": "MHMAJ", "Name": "Majuro", "NameWoDiac": "Majuro", "Status": "AI", "outflows": 238090.66668200004 }, "geometry": { "type": "Point", "coordinates": [ 171.383333333333326, 7.1 ] } }, +{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "123-----", "LOCODE": "MMTLA", "Name": "Thilawa", "NameWoDiac": "Thilawa", "Status": "RL", "outflows": 629785.00001999992 }, "geometry": { "type": "Point", "coordinates": [ 96.25, 16.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "123-----", "LOCODE": "MMTLA", "Name": "Thilawa", "NameWoDiac": "Thilawa", "Status": "RL", "outflows": 629785.00001999992 }, "geometry": { "type": "Point", "coordinates": [ 96.25, 16.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Malta", "Function": "1-------", "LOCODE": "MTMAR", "Name": "Marsaxlokk", "NameWoDiac": "Marsaxlokk", "Status": "AA", "outflows": 12264680.76361 }, "geometry": { "type": "Point", "coordinates": [ 14.533333333333333, 35.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Mauritius", "Function": "1-3-----", "LOCODE": "MUPMA", "Name": "Port Mathurin", "NameWoDiac": "Port Mathurin", "Status": "RL", "outflows": 3451.5 }, "geometry": { "type": "Point", "coordinates": [ 63.416666666666664, -19.683333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Maldives", "Function": "1--45---", "LOCODE": "MVMLE", "Name": "Male", "NameWoDiac": "Male", "Status": "AI", "outflows": 224938.42858000004 }, "geometry": { "type": "Point", "coordinates": [ 73.5, 4.166666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-3-----", "LOCODE": "MXATM", "Name": "Altamira", "NameWoDiac": "Altamira", "Status": "RL", "outflows": 6907067.8431760017 }, "geometry": { "type": "Point", "coordinates": [ -97.916666666666671, 22.4 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXCOA", "Name": "Coatzacoalcos", "NameWoDiac": "Coatzacoalcos", "Status": "AI", "outflows": 9100.0 }, "geometry": { "type": "Point", "coordinates": [ -94.4, 18.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXESE", "Name": "Ensenada", "NameWoDiac": "Ensenada", "Status": "AI", "outflows": 3482019.6660800003 }, "geometry": { "type": "Point", "coordinates": [ -116.6, 31.85 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXGYM", "Name": "Guaymas", "NameWoDiac": "Guaymas", "Status": "AI", "outflows": 15320.0 }, "geometry": { "type": "Point", "coordinates": [ -110.88333333333334, 27.916666666666668 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-------", "LOCODE": "MXLZC", "Name": "Lázaro Cárdenas", "NameWoDiac": "Lazaro Cardenas", "Status": "AI", "outflows": 9280527.0998299997 }, "geometry": { "type": "Point", "coordinates": [ -102.183333333333337, 17.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-34----", "LOCODE": "MXZLO", "Name": "Manzanillo", "NameWoDiac": "Manzanillo", "Status": "AI", "outflows": 14861828.233399997 }, "geometry": { "type": "Point", "coordinates": [ -104.3, 19.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXMZT", "Name": "Mazatlan", "NameWoDiac": "Mazatlan", "Status": "AI", "outflows": 258563.0 }, "geometry": { "type": "Point", "coordinates": [ -106.4, 23.4 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "--3-----", "LOCODE": "MXPRO", "Name": "Paraiso", "NameWoDiac": "Paraiso", "Status": "RL", "outflows": 771394.2 }, "geometry": { "type": "Point", "coordinates": [ -92.2, 18.183333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-3-----", "LOCODE": "MXPMD", "Name": "Puerto Madero", "NameWoDiac": "Puerto Madero", "Status": "AI", "outflows": 82680.0 }, "geometry": { "type": "Point", "coordinates": [ -92.416666666666671, 14.716666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-3-----", "LOCODE": "MXPMS", "Name": "Puerto Morelos", "NameWoDiac": "Puerto Morelos", "Status": "RL", "outflows": 13533.0 }, "geometry": { "type": "Point", "coordinates": [ -86.86666666666666, 20.833333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXTAM", "Name": "Tampico", "NameWoDiac": "Tampico", "Status": "AI", "outflows": 33951.0 }, "geometry": { "type": "Point", "coordinates": [ -97.86666666666666, 22.25 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-------", "LOCODE": "MXTUX", "Name": "Tuxpan", "NameWoDiac": "Tuxpan", "Status": "AI", "outflows": 21541.0 }, "geometry": { "type": "Point", "coordinates": [ -97.4, 20.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-345---", "LOCODE": "MXVER", "Name": "Veracruz", "NameWoDiac": "Veracruz", "Status": "AI", "outflows": 8795504.2708560005 }, "geometry": { "type": "Point", "coordinates": [ -96.083333333333329, 19.2 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYPEN", "Name": "Penang (Georgetown)", "NameWoDiac": "Penang (Georgetown)", "Status": "AI", "outflows": 3938506.0 }, "geometry": { "type": "Point", "coordinates": [ 100.316666666666663, 5.416666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "123-5---", "LOCODE": "MYPKG", "Name": "Port Klang (Pelabuhan Klang)", "NameWoDiac": "Port Klang (Pelabuhan Klang)", "Status": "RL", "outflows": 58866748.817210026 }, "geometry": { "type": "Point", "coordinates": [ 101.4, 3.0 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "123-----", "LOCODE": "MYTPP", "Name": "Tanjung Pelepas", "NameWoDiac": "Tanjung Pelepas", "Status": "RL", "outflows": 36861511.888539977 }, "geometry": { "type": "Point", "coordinates": [ 103.55, 1.366666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Namibia", "Function": "1--4----", "LOCODE": "NALUD", "Name": "Lüderitz", "NameWoDiac": "Luderitz", "Status": "AI", "outflows": 43992.0 }, "geometry": { "type": "Point", "coordinates": [ 15.166666666666666, -26.65 ] } }, +{ "type": "Feature", "properties": { "Country": "New Caledonia", "Function": "1--45---", "LOCODE": "NCNOU", "Name": "Nouméa", "NameWoDiac": "Noumea", "Status": "AI", "outflows": 1152154.3332800004 }, "geometry": { "type": "Point", "coordinates": [ 166.45, -22.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "New Caledonia", "Function": "1--45---", "LOCODE": "NCNOU", "Name": "Nouméa", "NameWoDiac": "Noumea", "Status": "AI", "outflows": 1152154.3332800004 }, "geometry": { "type": "Point", "coordinates": [ 166.45, -22.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "--3-----", "LOCODE": "NGLKK", "Name": "Lekki", "NameWoDiac": "Lekki", "Status": "RL", "outflows": 23036.0 }, "geometry": { "type": "Point", "coordinates": [ 3.1, 6.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1-3-----", "LOCODE": "NGONN", "Name": "Onne", "NameWoDiac": "Onne", "Status": "RL", "outflows": 1341939.73318 }, "geometry": { "type": "Point", "coordinates": [ 7.15, 4.716666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Nicaragua", "Function": "1-3--6--", "LOCODE": "NIRAM", "Name": "Rama", "NameWoDiac": "Rama", "Status": "RL", "outflows": 9106.5 }, "geometry": { "type": "Point", "coordinates": [ -84.216666666666669, 12.15 ] } }, +{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "12345---", "LOCODE": "NLAMS", "Name": "Amsterdam", "NameWoDiac": "Amsterdam", "Status": "AF", "outflows": 87949.333334999988 }, "geometry": { "type": "Point", "coordinates": [ 4.816666666666666, 52.4 ] } }, +{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "1-3-----", "LOCODE": "NLBOT", "Name": "Botlek", "NameWoDiac": "Botlek", "Status": "AF", "outflows": 33735.0 }, "geometry": { "type": "Point", "coordinates": [ 4.283333333333333, 51.883333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "123-----", "LOCODE": "NLIJM", "Name": "IJmuiden\/Velsen", "NameWoDiac": "IJmuiden\/Velsen", "Status": "AF", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 4.6, 52.466666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "123-----", "LOCODE": "NLMOE", "Name": "Moerdijk", "NameWoDiac": "Moerdijk", "Status": "AF", "outflows": 172497.0 }, "geometry": { "type": "Point", "coordinates": [ 4.566666666666666, 51.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "12345---", "LOCODE": "NLRTM", "Name": "Rotterdam", "NameWoDiac": "Rotterdam", "Status": "AF", "outflows": 60986246.198820002 }, "geometry": { "type": "Point", "coordinates": [ 4.5, 51.916666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "1-3-----", "LOCODE": "NLTNZ", "Name": "Terneuzen", "NameWoDiac": "Terneuzen", "Status": "AF", "outflows": 24232.0 }, "geometry": { "type": "Point", "coordinates": [ 3.816666666666666, 51.466666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "123-----", "LOCODE": "NLVLI", "Name": "Vlissingen", "NameWoDiac": "Vlissingen", "Status": "AF", "outflows": 935022.40001200011 }, "geometry": { "type": "Point", "coordinates": [ 3.7, 51.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOAES", "Name": "Ålesund", "NameWoDiac": "Alesund", "Status": "AF", "outflows": 450729.5 }, "geometry": { "type": "Point", "coordinates": [ 6.15, 62.466666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOARD", "Name": "Årdalstangen", "NameWoDiac": "Ardalstangen", "Status": "AA", "outflows": 23400.0 }, "geometry": { "type": "Point", "coordinates": [ 7.7, 61.233333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-------", "LOCODE": "NOAVE", "Name": "Averøy", "NameWoDiac": "Averoy", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 7.666666666666667, 63.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOBGO", "Name": "Bergen", "NameWoDiac": "Bergen", "Status": "AA", "outflows": 330739.5 }, "geometry": { "type": "Point", "coordinates": [ 5.316666666666666, 60.383333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOBOO", "Name": "Bodø", "NameWoDiac": "Bodo", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 14.366666666666667, 67.283333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOBVK", "Name": "Brevik", "NameWoDiac": "Brevik", "Status": "AA", "outflows": 50128.0 }, "geometry": { "type": "Point", "coordinates": [ 9.7, 59.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NODRM", "Name": "Drammen", "NameWoDiac": "Drammen", "Status": "AA", "outflows": 145713.0 }, "geometry": { "type": "Point", "coordinates": [ 10.233333333333333, 59.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOEGE", "Name": "Egersund", "NameWoDiac": "Egersund", "Status": "AA", "outflows": 142428.0 }, "geometry": { "type": "Point", "coordinates": [ 6.0, 58.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOFRO", "Name": "Florø", "NameWoDiac": "Floro", "Status": "AA", "outflows": 203580.0 }, "geometry": { "type": "Point", "coordinates": [ 5.016666666666667, 61.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOFRK", "Name": "Fredrikstad", "NameWoDiac": "Fredrikstad", "Status": "AA", "outflows": 111033.0 }, "geometry": { "type": "Point", "coordinates": [ 10.916666666666666, 59.2 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-------", "LOCODE": "NOFUS", "Name": "Fusa", "NameWoDiac": "Fusa", "Status": "AA", "outflows": 99528.0 }, "geometry": { "type": "Point", "coordinates": [ 5.616666666666667, 60.2 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOGLO", "Name": "Glomfjord", "NameWoDiac": "Glomfjord", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 13.933333333333334, 66.8 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOHFT", "Name": "Hammerfest", "NameWoDiac": "Hammerfest", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 23.666666666666668, 70.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHRD", "Name": "Harstad", "NameWoDiac": "Harstad", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 16.533333333333335, 68.783333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOHAU", "Name": "Haugesund", "NameWoDiac": "Haugesund", "Status": "AA", "outflows": 337486.5 }, "geometry": { "type": "Point", "coordinates": [ 5.25, 59.4 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHVI", "Name": "Håvik", "NameWoDiac": "Havik", "Status": "AA", "outflows": 116610.0 }, "geometry": { "type": "Point", "coordinates": [ 5.316666666666666, 59.3 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "--3-----", "LOCODE": "NOHLA", "Name": "Holla", "NameWoDiac": "Holla", "Status": "RL", "outflows": 45630.0 }, "geometry": { "type": "Point", "coordinates": [ 9.183333333333334, 59.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHYR", "Name": "Høyanger", "NameWoDiac": "Hoyanger", "Status": "AA", "outflows": 39357.5 }, "geometry": { "type": "Point", "coordinates": [ 6.05, 61.216666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHOY", "Name": "Husøy - Tønsberg", "NameWoDiac": "Husoy - Tonsberg", "Status": "AA", "outflows": 17160.0 }, "geometry": { "type": "Point", "coordinates": [ 10.45, 59.233333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOIKR", "Name": "Ikornnes", "NameWoDiac": "Ikornnes", "Status": "AA", "outflows": 69888.0 }, "geometry": { "type": "Point", "coordinates": [ 6.55, 62.383333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOKRS", "Name": "Kristiansand", "NameWoDiac": "Kristiansand", "Status": "AA", "outflows": 86460.0 }, "geometry": { "type": "Point", "coordinates": [ 7.983333333333333, 58.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOLAR", "Name": "Larvik", "NameWoDiac": "Larvik", "Status": "AA", "outflows": 123903.0 }, "geometry": { "type": "Point", "coordinates": [ 10.016666666666667, 59.033333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOMAY", "Name": "Måløy", "NameWoDiac": "Maloy", "Status": "AF", "outflows": 347613.5 }, "geometry": { "type": "Point", "coordinates": [ 5.1, 61.93333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOMOL", "Name": "Molde", "NameWoDiac": "Molde", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 7.15, 62.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOMJF", "Name": "Mosjøen", "NameWoDiac": "Mosjoen", "Status": "AF", "outflows": 42276.0 }, "geometry": { "type": "Point", "coordinates": [ 13.2, 65.833333333333329 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOMSS", "Name": "Moss", "NameWoDiac": "Moss", "Status": "AA", "outflows": 51012.0 }, "geometry": { "type": "Point", "coordinates": [ 10.65, 59.416666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOODD", "Name": "Odda", "NameWoDiac": "Odda", "Status": "AA", "outflows": 19240.0 }, "geometry": { "type": "Point", "coordinates": [ 6.533333333333333, 60.06666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOORK", "Name": "Orkanger", "NameWoDiac": "Orkanger", "Status": "AA", "outflows": 132567.5 }, "geometry": { "type": "Point", "coordinates": [ 9.833333333333334, 63.31666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "12345---", "LOCODE": "NOOSL", "Name": "Oslo", "NameWoDiac": "Oslo", "Status": "AA", "outflows": 370877.0 }, "geometry": { "type": "Point", "coordinates": [ 10.733333333333333, 59.9 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOSAT", "Name": "Salten", "NameWoDiac": "Salten", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 15.583333333333334, 67.36666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOSVG", "Name": "Stavanger", "NameWoDiac": "Stavanger", "Status": "AI", "outflows": 99528.0 }, "geometry": { "type": "Point", "coordinates": [ 5.75, 58.966666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOSKN", "Name": "Stokmarknes", "NameWoDiac": "Stokmarknes", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 14.9, 68.566666666666663 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOSUN", "Name": "Sunndalsøra", "NameWoDiac": "Sunndalsora", "Status": "AF", "outflows": 107250.0 }, "geometry": { "type": "Point", "coordinates": [ 8.55, 62.666666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOSVE", "Name": "Svelgen", "NameWoDiac": "Svelgen", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 5.283333333333333, 61.766666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOSVJ", "Name": "Svolvær", "NameWoDiac": "Svolvar", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 14.55, 68.216666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOTAE", "Name": "Tananger", "NameWoDiac": "Tananger", "Status": "AA", "outflows": 348445.5 }, "geometry": { "type": "Point", "coordinates": [ 5.583333333333333, 58.916666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOTOS", "Name": "Tromsø", "NameWoDiac": "Tromso", "Status": "AI", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 18.966666666666665, 69.666666666666671 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOTRD", "Name": "Trondheim", "NameWoDiac": "Trondheim", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 10.4, 63.43333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Nauru", "Function": "1--45---", "LOCODE": "NRINU", "Name": "Nauru Island", "NameWoDiac": "Nauru Island", "Status": "AI", "outflows": 3756.0 }, "geometry": { "type": "Point", "coordinates": [ 166.916666666666657, -0.55 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "12345---", "LOCODE": "NZAKL", "Name": "Auckland", "NameWoDiac": "Auckland", "Status": "AC", "outflows": 3839723.3548399992 }, "geometry": { "type": "Point", "coordinates": [ 174.8, -36.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "123-----", "LOCODE": "NZBLU", "Name": "Bluff", "NameWoDiac": "Bluff", "Status": "AC", "outflows": 537012.66663 }, "geometry": { "type": "Point", "coordinates": [ 168.316666666666663, -46.6 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-3-----", "LOCODE": "NZLYT", "Name": "Lyttelton", "NameWoDiac": "Lyttelton", "Status": "AC", "outflows": 2992885.6903999997 }, "geometry": { "type": "Point", "coordinates": [ 172.716666666666669, -43.6 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-3-----", "LOCODE": "NZMAP", "Name": "Marsden Point", "NameWoDiac": "Marsden Point", "Status": "AC", "outflows": 722904.00003 }, "geometry": { "type": "Point", "coordinates": [ 174.5, -35.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1--4----", "LOCODE": "NZNPE", "Name": "Napier", "NameWoDiac": "Napier", "Status": "AC", "outflows": 3423163.5692899991 }, "geometry": { "type": "Point", "coordinates": [ 176.9, -39.466666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-34----", "LOCODE": "NZNSN", "Name": "Nelson", "NameWoDiac": "Nelson", "Status": "AC", "outflows": 1229461.9998700004 }, "geometry": { "type": "Point", "coordinates": [ 173.26666666666668, -41.25 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-------", "LOCODE": "NZPOE", "Name": "Port Chalmers", "NameWoDiac": "Port Chalmers", "Status": "AC", "outflows": 1736542.9262700006 }, "geometry": { "type": "Point", "coordinates": [ 170.6, -45.81666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1234----", "LOCODE": "NZTRG", "Name": "Tauranga", "NameWoDiac": "Tauranga", "Status": "AI", "outflows": 6568750.5691900002 }, "geometry": { "type": "Point", "coordinates": [ 176.166666666666657, -37.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1234----", "LOCODE": "NZTIU", "Name": "Timaru", "NameWoDiac": "Timaru", "Status": "AC", "outflows": 1399570.2597300003 }, "geometry": { "type": "Point", "coordinates": [ 171.25, -44.383333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1234----", "LOCODE": "NZWLG", "Name": "Wellington", "NameWoDiac": "Wellington", "Status": "AC", "outflows": 1605903.3093099999 }, "geometry": { "type": "Point", "coordinates": [ 174.783333333333331, -41.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-345---", "LOCODE": "PAONX", "Name": "Colón", "NameWoDiac": "Colon", "Status": "AI", "outflows": 5425996.6880400013 }, "geometry": { "type": "Point", "coordinates": [ -79.86666666666666, 9.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PACTB", "Name": "Cristóbal", "NameWoDiac": "Cristobal", "Status": "AI", "outflows": 7696418.2510899995 }, "geometry": { "type": "Point", "coordinates": [ -79.9, 9.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-345---", "LOCODE": "PAPTY", "Name": "Panamá, Ciudad de", "NameWoDiac": "Panama, Ciudad de", "Status": "AI", "outflows": 13494.0 }, "geometry": { "type": "Point", "coordinates": [ -79.533333333333331, 8.966666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PAROD", "Name": "Rodman", "NameWoDiac": "Rodman", "Status": "RL", "outflows": 4784764.0453200005 }, "geometry": { "type": "Point", "coordinates": [ -79.566666666666663, 8.95 ] } }, +{ "type": "Feature", "properties": { "Country": "French Polynesia", "Function": "1--4----", "LOCODE": "PFBOB", "Name": "Bora Bora", "NameWoDiac": "Bora Bora", "Status": "AI", "outflows": 726.75 }, "geometry": { "type": "Point", "coordinates": [ -151.75, -16.45 ] } }, +{ "type": "Feature", "properties": { "Country": "French Polynesia", "Function": "1--45---", "LOCODE": "PFPPT", "Name": "Papeete", "NameWoDiac": "Papeete", "Status": "AI", "outflows": 1092395.0833000003 }, "geometry": { "type": "Point", "coordinates": [ -149.616666666666674, -17.55 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGMAG", "Name": "Madang", "NameWoDiac": "Madang", "Status": "AI", "outflows": 168130.0 }, "geometry": { "type": "Point", "coordinates": [ 145.783333333333331, -5.216666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1-------", "LOCODE": "PGMTK", "Name": "Motukea Island", "NameWoDiac": "Motukea Island", "Status": "RL", "outflows": 301007.5 }, "geometry": { "type": "Point", "coordinates": [ 147.1, -9.433333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-3--6--", "LOCODE": "PHBTG", "Name": "Batangas\/Luzon", "NameWoDiac": "Batangas\/Luzon", "Status": "AI", "outflows": 1811559.5 }, "geometry": { "type": "Point", "coordinates": [ 121.05, 13.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-34----", "LOCODE": "PHGES", "Name": "General Santos", "NameWoDiac": "General Santos", "Status": "AI", "outflows": 925870.83340999996 }, "geometry": { "type": "Point", "coordinates": [ 125.15, 6.116666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-3-----", "LOCODE": "PHTGO", "Name": "Tagoloan", "NameWoDiac": "Tagoloan", "Status": "RL", "outflows": 12150.0 }, "geometry": { "type": "Point", "coordinates": [ 124.75, 8.533333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Poland", "Function": "123-----", "LOCODE": "PLGDY", "Name": "Gdynia", "NameWoDiac": "Gdynia", "Status": "RL", "outflows": 1377819.1666200003 }, "geometry": { "type": "Point", "coordinates": [ 18.55, 54.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Poland", "Function": "123-----", "LOCODE": "PLSWI", "Name": "Swinoujscie", "NameWoDiac": "Swinoujscie", "Status": "RL", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 14.25, 53.9 ] } }, +{ "type": "Feature", "properties": { "Country": "Puerto Rico", "Function": "1--45---", "LOCODE": "PRSJU", "Name": "San Juan", "NameWoDiac": "San Juan", "Status": "AI", "outflows": 914875.50003 }, "geometry": { "type": "Point", "coordinates": [ -66.083333333333329, 18.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTCNL", "Name": "Caniçal", "NameWoDiac": "Canical", "Status": "RL", "outflows": 70018.0 }, "geometry": { "type": "Point", "coordinates": [ -16.733333333333334, 32.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "123-----", "LOCODE": "PTFDF", "Name": "Figueira da Foz", "NameWoDiac": "Figueira da Foz", "Status": "AI", "outflows": 26754.0 }, "geometry": { "type": "Point", "coordinates": [ -8.866666666666667, 40.15 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-34----", "LOCODE": "PTHOR", "Name": "Horta", "NameWoDiac": "Horta", "Status": "AI", "outflows": 32292.0 }, "geometry": { "type": "Point", "coordinates": [ -28.633333333333333, 38.533333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "123-----", "LOCODE": "PTLEI", "Name": "Leixões", "NameWoDiac": "Leixoes", "Status": "AI", "outflows": 1619530.783304 }, "geometry": { "type": "Point", "coordinates": [ -8.683333333333334, 41.18333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "12345---", "LOCODE": "PTLIS", "Name": "Lisboa", "NameWoDiac": "Lisboa", "Status": "AI", "outflows": 1373631.1667299997 }, "geometry": { "type": "Point", "coordinates": [ -9.133333333333333, 38.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "--3-----", "LOCODE": "PTPIC", "Name": "Pico", "NameWoDiac": "Pico", "Status": "RL", "outflows": 23192.0 }, "geometry": { "type": "Point", "coordinates": [ -8.416666666666666, 41.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-345---", "LOCODE": "PTPDL", "Name": "Ponta Delgada", "NameWoDiac": "Ponta Delgada", "Status": "AI", "outflows": 109096.0 }, "geometry": { "type": "Point", "coordinates": [ -25.666666666666668, 37.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1--4---B", "LOCODE": "PTPXO", "Name": "Porto Santo Island", "NameWoDiac": "Porto Santo Island", "Status": "AI", "outflows": 28236.0 }, "geometry": { "type": "Point", "coordinates": [ -16.333333333333332, 33.06666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTPRG", "Name": "Praia da Graciosa", "NameWoDiac": "Praia da Graciosa", "Status": "AI", "outflows": 19500.0 }, "geometry": { "type": "Point", "coordinates": [ -27.966666666666665, 39.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTPRV", "Name": "Praia da Vitória", "NameWoDiac": "Praia da Vitoria", "Status": "AI", "outflows": 109096.0 }, "geometry": { "type": "Point", "coordinates": [ -27.066666666666666, 38.733333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTSCF", "Name": "Santa Cruz das Flores", "NameWoDiac": "Santa Cruz das Flores", "Status": "RL", "outflows": 16146.0 }, "geometry": { "type": "Point", "coordinates": [ -31.116666666666667, 39.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "123-----", "LOCODE": "PTSET", "Name": "Setúbal", "NameWoDiac": "Setubal", "Status": "AI", "outflows": 443319.5 }, "geometry": { "type": "Point", "coordinates": [ -8.9, 38.533333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1234----", "LOCODE": "PTSIE", "Name": "Sines", "NameWoDiac": "Sines", "Status": "AI", "outflows": 11424189.365200002 }, "geometry": { "type": "Point", "coordinates": [ -8.866666666666667, 37.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTVEL", "Name": "Velas", "NameWoDiac": "Velas", "Status": "AI", "outflows": 47190.0 }, "geometry": { "type": "Point", "coordinates": [ -28.216666666666665, 38.68333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTVDP", "Name": "Vila do Porto", "NameWoDiac": "Vila do Porto", "Status": "RL", "outflows": 13468.0 }, "geometry": { "type": "Point", "coordinates": [ -25.15, 36.93333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Paraguay", "Function": "1--45---", "LOCODE": "PYASU", "Name": "Asunción", "NameWoDiac": "Asuncion", "Status": "AI", "outflows": 13793.0 }, "geometry": { "type": "Point", "coordinates": [ -57.666666666666664, -25.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Qatar", "Function": "1-------", "LOCODE": "QAHMD", "Name": "BGN\/PCGN1956 - HAMAD", "NameWoDiac": "BGN\/PCGN1956 - HAMAD", "Status": "RL", "outflows": 11570563.360890001 }, "geometry": { "type": "Point", "coordinates": [ 51.616666666666667, 25.0 ] } }, +{ "type": "Feature", "properties": { "Country": "Qatar", "Function": "1----6--", "LOCODE": "QAMES", "Name": "Mesaieed", "NameWoDiac": "Mesaieed", "Status": "RQ", "outflows": 87230.0 }, "geometry": { "type": "Point", "coordinates": [ 51.916666666666664, 25.633333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Romania", "Function": "1234-6--", "LOCODE": "ROCND", "Name": "Constanta", "NameWoDiac": "Constanta", "Status": "AI", "outflows": 4202750.0668100007 }, "geometry": { "type": "Point", "coordinates": [ 28.65, 44.18333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "123-----", "LOCODE": "RUBRK", "Name": "Lomonosov", "NameWoDiac": "Lomonosov", "Status": "RL", "outflows": 172926.0 }, "geometry": { "type": "Point", "coordinates": [ 29.733333333333334, 59.9 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "123--6--", "LOCODE": "RUNVS", "Name": "Novorossiysk", "NameWoDiac": "Novorossiysk", "Status": "RL", "outflows": 2856095.6668099994 }, "geometry": { "type": "Point", "coordinates": [ 37.766666666666666, 44.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "12345---", "LOCODE": "RULED", "Name": "Saint Petersburg (ex Leningrad)", "NameWoDiac": "Saint Petersburg (ex Leningrad)", "Status": "AI", "outflows": 2197863.9046789999 }, "geometry": { "type": "Point", "coordinates": [ 30.25, 59.883333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "123-----", "LOCODE": "RUULU", "Name": "Ust'-Luga", "NameWoDiac": "Ust'-Luga", "Status": "RL", "outflows": 217892.99998 }, "geometry": { "type": "Point", "coordinates": [ 28.316666666666666, 59.666666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUVYP", "Name": "Vostochnyy Port", "NameWoDiac": "Vostochnyy Port", "Status": "RL", "outflows": 694044.00000000012 }, "geometry": { "type": "Point", "coordinates": [ 133.05, 42.766666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUZAR", "Name": "Zarubino", "NameWoDiac": "Zarubino", "Status": "RL", "outflows": 8476.0 }, "geometry": { "type": "Point", "coordinates": [ 131.083333333333343, 42.616666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "12345---", "LOCODE": "SADMM", "Name": "Ad Dammam", "NameWoDiac": "Ad Dammam", "Status": "RL", "outflows": 11255729.646892 }, "geometry": { "type": "Point", "coordinates": [ 50.1, 26.416666666666668 ] } }, +{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1--45---", "LOCODE": "SAJED", "Name": "Jeddah", "NameWoDiac": "Jeddah", "Status": "AI", "outflows": 28479677.911780011 }, "geometry": { "type": "Point", "coordinates": [ 39.166666666666664, 21.533333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1-3-----", "LOCODE": "SAKAC", "Name": "King Abdullah City", "NameWoDiac": "King Abdullah City", "Status": "RQ", "outflows": 13582128.147299998 }, "geometry": { "type": "Point", "coordinates": [ 39.083333333333336, 22.4 ] } }, +{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1-34----", "LOCODE": "SAYNB", "Name": "Yanbu al-Bahr", "NameWoDiac": "Yanbu al-Bahr", "Status": "AI", "outflows": 49257.0 }, "geometry": { "type": "Point", "coordinates": [ 38.033333333333331, 24.083333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEAHU", "Name": "Åhus", "NameWoDiac": "Ahus", "Status": "AA", "outflows": 33696.0 }, "geometry": { "type": "Point", "coordinates": [ 14.283333333333333, 55.916666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1--4----", "LOCODE": "SEGVX", "Name": "Gävle", "NameWoDiac": "Gavle", "Status": "AA", "outflows": 278876.0 }, "geometry": { "type": "Point", "coordinates": [ 17.166666666666668, 60.666666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "12345---", "LOCODE": "SEGOT", "Name": "Göteborg", "NameWoDiac": "Goteborg", "Status": "AA", "outflows": 3614371.4282800001 }, "geometry": { "type": "Point", "coordinates": [ 11.966666666666667, 57.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SEHAD", "Name": "Halmstad", "NameWoDiac": "Halmstad", "Status": "AA", "outflows": 48750.0 }, "geometry": { "type": "Point", "coordinates": [ 12.85, 56.666666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1--4----", "LOCODE": "SEKSD", "Name": "Karlstad", "NameWoDiac": "Karlstad", "Status": "AA", "outflows": 3312.0 }, "geometry": { "type": "Point", "coordinates": [ 13.5, 59.366666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SENRK", "Name": "Norrköping", "NameWoDiac": "Norrkoping", "Status": "AA", "outflows": 296309.0 }, "geometry": { "type": "Point", "coordinates": [ 16.183333333333334, 58.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEOSK", "Name": "Oskarshamn", "NameWoDiac": "Oskarshamn", "Status": "AA", "outflows": 84688.5 }, "geometry": { "type": "Point", "coordinates": [ 16.433333333333334, 57.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEOXE", "Name": "Oxelösund", "NameWoDiac": "Oxelosund", "Status": "AA", "outflows": 73031.833334999988 }, "geometry": { "type": "Point", "coordinates": [ 17.1, 58.666666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEPIT", "Name": "Piteå", "NameWoDiac": "Pitea", "Status": "AA", "outflows": 67392.0 }, "geometry": { "type": "Point", "coordinates": [ 21.5, 65.333333333333329 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123--6--", "LOCODE": "SESOE", "Name": "Södertälje", "NameWoDiac": "Sodertalje", "Status": "AA", "outflows": 54799.333335000003 }, "geometry": { "type": "Point", "coordinates": [ 17.616666666666667, 59.2 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "12345---", "LOCODE": "SESTO", "Name": "Stockholm", "NameWoDiac": "Stockholm", "Status": "AA", "outflows": 227955.0 }, "geometry": { "type": "Point", "coordinates": [ 18.05, 59.333333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1-34----", "LOCODE": "SESDL", "Name": "Sundsvall", "NameWoDiac": "Sundsvall", "Status": "AA", "outflows": 51928.5 }, "geometry": { "type": "Point", "coordinates": [ 17.3, 62.383333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SEUME", "Name": "Umeå", "NameWoDiac": "Umea", "Status": "AI", "outflows": 51928.5 }, "geometry": { "type": "Point", "coordinates": [ 20.25, 63.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SEVST", "Name": "Västerås", "NameWoDiac": "Vasteras", "Status": "AA", "outflows": 21103.333335000003 }, "geometry": { "type": "Point", "coordinates": [ 16.55, 59.616666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Syrian Arab Republic", "Function": "1--4----", "LOCODE": "SYLTK", "Name": "Latakia", "NameWoDiac": "Latakia", "Status": "AI", "outflows": 719300.0 }, "geometry": { "type": "Point", "coordinates": [ 35.783333333333331, 35.516666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Syrian Arab Republic", "Function": "1-3-----", "LOCODE": "SYTTS", "Name": "Tartus", "NameWoDiac": "Tartus", "Status": "RL", "outflows": 103493.0 }, "geometry": { "type": "Point", "coordinates": [ 35.9, 34.9 ] } }, +{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "12345---", "LOCODE": "THBKK", "Name": "Bangkok", "NameWoDiac": "Bangkok", "Status": "AI", "outflows": 4526246.8335100003 }, "geometry": { "type": "Point", "coordinates": [ 100.516666666666666, 13.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "1-3-----", "LOCODE": "THLCH", "Name": "Laem Chabang", "NameWoDiac": "Laem Chabang", "Status": "RL", "outflows": 21757591.196550008 }, "geometry": { "type": "Point", "coordinates": [ 100.88333333333334, 13.083333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "---4----", "LOCODE": "THHKT", "Name": "Phuket International Apt", "NameWoDiac": "Phuket International Apt", "Status": "AA", "outflows": 44898.75 }, "geometry": { "type": "Point", "coordinates": [ 98.316666666666663, 8.116666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "1-3-----", "LOCODE": "THSCS", "Name": "Sahathai Coastal Seaport", "NameWoDiac": "Sahathai Coastal Seaport", "Status": "RQ", "outflows": 91563.33335 }, "geometry": { "type": "Point", "coordinates": [ 100.533333333333331, 13.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Timor-Leste", "Function": "1-34----", "LOCODE": "TLDIL", "Name": "Dili", "NameWoDiac": "Dili", "Status": "RL", "outflows": 34187.75 }, "geometry": { "type": "Point", "coordinates": [ 125.566666666666663, -8.55 ] } }, +{ "type": "Feature", "properties": { "Country": "Tonga", "Function": "1--45---", "LOCODE": "TOTBU", "Name": "Nuku'alofa", "NameWoDiac": "Nuku'alofa", "Status": "AI", "outflows": 178599.5 }, "geometry": { "type": "Point", "coordinates": [ -175.2, -21.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "--3-----", "LOCODE": "TRPAM", "Name": "Ambarli", "NameWoDiac": "Ambarli", "Status": "RL", "outflows": 14411413.266529994 }, "geometry": { "type": "Point", "coordinates": [ 39.166666666666664, 41.033333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1234----", "LOCODE": "TRAYT", "Name": "Antalya", "NameWoDiac": "Antalya", "Status": "AI", "outflows": 111670.0 }, "geometry": { "type": "Point", "coordinates": [ 30.6, 36.833333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1234----", "LOCODE": "TRBDM", "Name": "Bandirma", "NameWoDiac": "Bandirma", "Status": "AI", "outflows": 19968.0 }, "geometry": { "type": "Point", "coordinates": [ 27.966666666666665, 40.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "--3-----", "LOCODE": "TRELI", "Name": "Eregli", "NameWoDiac": "Eregli", "Status": "RL", "outflows": 46215.0 }, "geometry": { "type": "Point", "coordinates": [ 34.05, 37.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TREYP", "Name": "Evyap Port \/Kocaeli", "NameWoDiac": "Evyap Port \/Kocaeli", "Status": "RL", "outflows": 2234864.6663000002 }, "geometry": { "type": "Point", "coordinates": [ 29.7, 40.766666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRGEB", "Name": "Gebze", "NameWoDiac": "Gebze", "Status": "RL", "outflows": 3850254.1414999994 }, "geometry": { "type": "Point", "coordinates": [ 29.416666666666668, 40.783333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRGEM", "Name": "Gemlik", "NameWoDiac": "Gemlik", "Status": "RL", "outflows": 5852461.2414100012 }, "geometry": { "type": "Point", "coordinates": [ 29.15, 40.416666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRISK", "Name": "Iskenderun", "NameWoDiac": "Iskenderun", "Status": "RL", "outflows": 5577045.5832400005 }, "geometry": { "type": "Point", "coordinates": [ 36.166666666666664, 36.583333333333336 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "12345---", "LOCODE": "TRIZM", "Name": "Izmir", "NameWoDiac": "Izmir", "Status": "AI", "outflows": 3559402.8750300007 }, "geometry": { "type": "Point", "coordinates": [ 27.15, 38.416666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRIZT", "Name": "Izmit", "NameWoDiac": "Izmit", "Status": "RL", "outflows": 8619638.1665099971 }, "geometry": { "type": "Point", "coordinates": [ 29.95, 40.783333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRKMX", "Name": "Kumport", "NameWoDiac": "Kumport", "Status": "RQ", "outflows": 829400.0 }, "geometry": { "type": "Point", "coordinates": [ 28.816666666666666, 40.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRLMA", "Name": "Limas", "NameWoDiac": "Limas", "Status": "RQ", "outflows": 31720.0 }, "geometry": { "type": "Point", "coordinates": [ 26.916666666666668, 38.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRMAD", "Name": "Mardas", "NameWoDiac": "Mardas", "Status": "RQ", "outflows": 103532.0 }, "geometry": { "type": "Point", "coordinates": [ 28.95, 41.016666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRMER", "Name": "Mersin", "NameWoDiac": "Mersin", "Status": "RL", "outflows": 9929684.1327900011 }, "geometry": { "type": "Point", "coordinates": [ 34.633333333333333, 36.716666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1--4----", "LOCODE": "TRSSX", "Name": "Samsun", "NameWoDiac": "Samsun", "Status": "AI", "outflows": 105306.5 }, "geometry": { "type": "Point", "coordinates": [ 36.333333333333336, 41.283333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1234----", "LOCODE": "TRTEK", "Name": "Tekirdag", "NameWoDiac": "Tekirdag", "Status": "AI", "outflows": 4941615.3749799989 }, "geometry": { "type": "Point", "coordinates": [ 27.516666666666666, 40.966666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-34----", "LOCODE": "TRTZX", "Name": "Trabzon", "NameWoDiac": "Trabzon", "Status": "AI", "outflows": 14760.0 }, "geometry": { "type": "Point", "coordinates": [ 39.733333333333334, 41.0 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-3-----", "LOCODE": "TRYPO", "Name": "Yilport", "NameWoDiac": "Yilport", "Status": "RL", "outflows": 253751.33331 }, "geometry": { "type": "Point", "coordinates": [ 29.533333333333335, 40.766666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Trinidad and Tobago", "Function": "1--45---", "LOCODE": "TTPOS", "Name": "Port-of-Spain", "NameWoDiac": "Port-of-Spain", "Status": "AI", "outflows": 1136813.0 }, "geometry": { "type": "Point", "coordinates": [ -61.516666666666666, 10.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Trinidad and Tobago", "Function": "1--45---", "LOCODE": "TTPOS", "Name": "Port-of-Spain", "NameWoDiac": "Port-of-Spain", "Status": "AI", "outflows": 1136813.0 }, "geometry": { "type": "Point", "coordinates": [ -61.516666666666666, 10.65 ] } }, +{ "type": "Feature", "properties": { "Country": "Taiwan, Province of China", "Function": "1--45---", "LOCODE": "TWTPE", "Name": "Taipei", "NameWoDiac": "Taipei", "Status": "AI", "outflows": 10793107.077210007 }, "geometry": { "type": "Point", "coordinates": [ 121.516666666666666, 25.033333333333335 ] } }, +{ "type": "Feature", "properties": { "Country": "Tanzania, United Republic of", "Function": "12345---", "LOCODE": "TZDAR", "Name": "Dar es Salaam", "NameWoDiac": "Dar es Salaam", "Status": "AI", "outflows": 1404403.5674399997 }, "geometry": { "type": "Point", "coordinates": [ 39.283333333333331, -6.8 ] } }, +{ "type": "Feature", "properties": { "Country": "Ukraine", "Function": "123-----", "LOCODE": "UAILK", "Name": "Chornomorsk", "NameWoDiac": "Chornomorsk", "Status": "AA", "outflows": 1398819.4999800001 }, "geometry": { "type": "Point", "coordinates": [ 30.666666666666668, 46.31666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Ukraine", "Function": "1234-6--", "LOCODE": "UAODS", "Name": "Odesa", "NameWoDiac": "Odesa", "Status": "AA", "outflows": 2843490.8999800007 }, "geometry": { "type": "Point", "coordinates": [ 30.75, 46.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Ukraine", "Function": "1-------", "LOCODE": "UAYUZ", "Name": "Yuzhnyi", "NameWoDiac": "Yuzhnyi", "Status": "AA", "outflows": 1861645.5 }, "geometry": { "type": "Point", "coordinates": [ 31.016666666666666, 46.6 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "123-----", "LOCODE": "USBAL", "Name": "Baltimore", "NameWoDiac": "Baltimore", "Status": "RL", "outflows": 6053080.2448899997 }, "geometry": { "type": "Point", "coordinates": [ -76.61666666666666, 39.283333333333331 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23-----", "LOCODE": "USACL", "Name": "Chester", "NameWoDiac": "Chester", "Status": "RL", "outflows": 109902.0 }, "geometry": { "type": "Point", "coordinates": [ -72.583333333333329, 43.266666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3----B", "LOCODE": "USEPI", "Name": "Eastport", "NameWoDiac": "Eastport", "Status": "RN", "outflows": 28364.0 }, "geometry": { "type": "Point", "coordinates": [ -67.000460366215606, 44.918963897792032 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USFEB", "Name": "Fernandina Beach", "NameWoDiac": "Fernandina Beach", "Status": "RL", "outflows": 2700.0 }, "geometry": { "type": "Point", "coordinates": [ -81.45, 30.666666666666668 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3--6--", "LOCODE": "USGFP", "Name": "Gulfport", "NameWoDiac": "Gulfport", "Status": "RQ", "outflows": 179625.33335 }, "geometry": { "type": "Point", "coordinates": [ -89.084906220322893, 30.378156457739781 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-345---", "LOCODE": "USHNL", "Name": "Honolulu", "NameWoDiac": "Honolulu", "Status": "AI", "outflows": 808514.83334000001 }, "geometry": { "type": "Point", "coordinates": [ -157.85, 21.3 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23--6--", "LOCODE": "USHKA", "Name": "Houston", "NameWoDiac": "Houston", "Status": "RL", "outflows": 14456458.251239998 }, "geometry": { "type": "Point", "coordinates": [ -149.816666666666663, 61.633333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1234----", "LOCODE": "USLGB", "Name": "Long Beach", "NameWoDiac": "Long Beach", "Status": "AI", "outflows": 12114713.79308 }, "geometry": { "type": "Point", "coordinates": [ -118.183333333333337, 33.766666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "12345---", "LOCODE": "USNYC", "Name": "New York", "NameWoDiac": "New York", "Status": "AI", "outflows": 27396473.865290001 }, "geometry": { "type": "Point", "coordinates": [ -74.0, 40.7 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3--6--", "LOCODE": "USNFF", "Name": "Norfolk", "NameWoDiac": "Norfolk", "Status": "RL", "outflows": 20779844.877009999 }, "geometry": { "type": "Point", "coordinates": [ -73.2, 42.0 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23-----", "LOCODE": "USKND", "Name": "Oakland", "NameWoDiac": "Oakland", "Status": "RL", "outflows": 17163885.235119998 }, "geometry": { "type": "Point", "coordinates": [ -122.220254629629636, 37.932904795821436 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23--6--", "LOCODE": "USPDP", "Name": "Philadelphia", "NameWoDiac": "Philadelphia", "Status": "RL", "outflows": 5743740.1835829979 }, "geometry": { "type": "Point", "coordinates": [ -75.716666666666669, 44.15 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USPEF", "Name": "Port Everglades", "NameWoDiac": "Port Everglades", "Status": "RN", "outflows": 3155879.7381200008 }, "geometry": { "type": "Point", "coordinates": [ -80.13333333333334, 26.1 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1234-6--", "LOCODE": "USNTD", "Name": "Port Hueneme", "NameWoDiac": "Port Hueneme", "Status": "AI", "outflows": 585733.2 }, "geometry": { "type": "Point", "coordinates": [ -119.183333333333337, 34.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USPME", "Name": "Port Manatee", "NameWoDiac": "Port Manatee", "Status": "RL", "outflows": 88523.5 }, "geometry": { "type": "Point", "coordinates": [ -82.55, 27.633333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USSAN", "Name": "San Diego", "NameWoDiac": "San Diego", "Status": "AI", "outflows": 60060.0 }, "geometry": { "type": "Point", "coordinates": [ -117.15, 32.7 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USSCK", "Name": "Stockton", "NameWoDiac": "Stockton", "Status": "AI", "outflows": 27774.0 }, "geometry": { "type": "Point", "coordinates": [ -121.283333333333331, 37.95 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USILM", "Name": "Wilmington", "NameWoDiac": "Wilmington", "Status": "AI", "outflows": 2749421.5816000002 }, "geometry": { "type": "Point", "coordinates": [ -77.933333333333337, 34.216666666666669 ] } }, +{ "type": "Feature", "properties": { "Country": "Uruguay", "Function": "--3-----", "LOCODE": "UYPTP", "Name": "Punta Pereyra", "NameWoDiac": "Punta Pereyra", "Status": "RQ", "outflows": 7800.0 }, "geometry": { "type": "Point", "coordinates": [ -58.06666666666667, -34.233333333333334 ] } }, +{ "type": "Feature", "properties": { "Country": "Saint Vincent and the Grenadines", "Function": "1--45---", "LOCODE": "VCKTN", "Name": "Kingstown", "NameWoDiac": "Kingstown", "Status": "RL", "outflows": 225040.4 }, "geometry": { "type": "Point", "coordinates": [ -61.216666666666669, 13.133333333333333 ] } }, +{ "type": "Feature", "properties": { "Country": "Venezuela, Bolivarian Republic of", "Function": "1--4----", "LOCODE": "VEPLA", "Name": "Palúa", "NameWoDiac": "Palua", "Status": "AI", "outflows": 15540.0 }, "geometry": { "type": "Point", "coordinates": [ -62.666666666666664, 8.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Virgin Islands, U.S.", "Function": "1-------", "LOCODE": "VICTD", "Name": "Christiansted, Saint Croix", "NameWoDiac": "Christiansted, Saint Croix", "Status": "AI", "outflows": 11076.0 }, "geometry": { "type": "Point", "coordinates": [ -64.75, 17.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "--3-----", "LOCODE": "VNC8Q", "Name": "Chu Lai", "NameWoDiac": "Chu Lai", "Status": "RL", "outflows": 233142.0 }, "geometry": { "type": "Point", "coordinates": [ 108.7, 15.4 ] } }, +{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1--4----", "LOCODE": "VNDAD", "Name": "Da Nang", "NameWoDiac": "Da Nang", "Status": "AI", "outflows": 3019963.9167599995 }, "geometry": { "type": "Point", "coordinates": [ 108.216666666666669, 16.066666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-3456--", "LOCODE": "VNSGN", "Name": "Ho Chi Minh City", "NameWoDiac": "Ho Chi Minh City", "Status": "AI", "outflows": 12782452.750279998 }, "geometry": { "type": "Point", "coordinates": [ 106.666666666666671, 10.766666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-3-----", "LOCODE": "VNNGH", "Name": "Nghi Son", "NameWoDiac": "Nghi Son", "Status": "RL", "outflows": 43602.0 }, "geometry": { "type": "Point", "coordinates": [ 105.833333333333329, 19.333333333333332 ] } }, +{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-34----", "LOCODE": "VNUIH", "Name": "Qui Nhon", "NameWoDiac": "Qui Nhon", "Status": "AI", "outflows": 418626.0 }, "geometry": { "type": "Point", "coordinates": [ 109.216666666666669, 13.766666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-34----", "LOCODE": "VNVUT", "Name": "Vung Tau", "NameWoDiac": "Vung Tau", "Status": "RL", "outflows": 21025136.034170005 }, "geometry": { "type": "Point", "coordinates": [ 107.066666666666663, 10.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Wallis and Futuna", "Function": "---4----", "LOCODE": "WFFUT", "Name": "Vele Futuna I. Apt", "NameWoDiac": "Vele Futuna I. Apt", "Status": "AI", "outflows": 10200.0 }, "geometry": { "type": "Point", "coordinates": [ -178.083333333333343, -14.316666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "Mayotte", "Function": "1-3-----", "LOCODE": "YTLON", "Name": "Longoni", "NameWoDiac": "Longoni", "Status": "AA", "outflows": 298158.99997999996 }, "geometry": { "type": "Point", "coordinates": [ 45.166666666666664, -12.716666666666667 ] } }, +{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "12345---", "LOCODE": "ZACPT", "Name": "Cape Town", "NameWoDiac": "Cape Town", "Status": "AF", "outflows": 4902763.6243000003 }, "geometry": { "type": "Point", "coordinates": [ 18.416666666666668, -33.916666666666664 ] } }, +{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "-----6--", "LOCODE": "ZAZBA", "Name": "Coega", "NameWoDiac": "Coega", "Status": "RL", "outflows": 3467734.6668099998 }, "geometry": { "type": "Point", "coordinates": [ 25.666666666666668, -33.766666666666666 ] } }, +{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "12345---", "LOCODE": "ZADUR", "Name": "Durban", "NameWoDiac": "Durban", "Status": "AI", "outflows": 8754191.1218599975 }, "geometry": { "type": "Point", "coordinates": [ 31.016666666666666, -29.85 ] } }, +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-3-----", "LOCODE": "AEAJM", "Name": "Ajman", "NameWoDiac": "Ajman", "Status": "RL", "outflows": 73567.0 }, "geometry": { "type": "Point", "coordinates": [ 55.47878, 25.40177 ] } }, +{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AEJEA", "Name": "Jebel Ali", "NameWoDiac": "Jebel Ali", "Status": "QQ", "outflows": 44524119.850148 }, "geometry": { "type": "Point", "coordinates": [ 55.10811, 25.00255 ] } }, +{ "type": "Feature", "properties": { "Country": "Anguilla", "Function": "---45---", "LOCODE": "AIAXA", "Name": "Anguilla", "NameWoDiac": "Anguilla", "Status": "AI", "outflows": 230958.0 }, "geometry": { "type": "Point", "coordinates": [ -63.09375, 18.17648 ] } }, +{ "type": "Feature", "properties": { "Country": "Albania", "Function": "1-------", "LOCODE": "ALDRZ", "Name": "Durrës", "NameWoDiac": "Durres", "Status": "RL", "outflows": 134307.0 }, "geometry": { "type": "Point", "coordinates": [ 19.45469, 41.32355 ] } }, +{ "type": "Feature", "properties": { "Country": "Albania", "Function": "1-------", "LOCODE": "ALDRZ", "Name": "Durrës", "NameWoDiac": "Durres", "Status": "RL", "outflows": 134307.0 }, "geometry": { "type": "Point", "coordinates": [ 19.45469, 41.32355 ] } }, +{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--4----", "LOCODE": "AOCAB", "Name": "Cabinda", "NameWoDiac": "Cabinda", "Status": "AI", "outflows": 2673.25 }, "geometry": { "type": "Point", "coordinates": [ 12.2, -5.55 ] } }, +{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1---5---", "LOCODE": "AOLOB", "Name": "Lobito", "NameWoDiac": "Lobito", "Status": "RL", "outflows": 210369.4 }, "geometry": { "type": "Point", "coordinates": [ 13.53601, -12.3644 ] } }, +{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--45---", "LOCODE": "AOLAD", "Name": "Luanda", "NameWoDiac": "Luanda", "Status": "AI", "outflows": 2439604.518850001 }, "geometry": { "type": "Point", "coordinates": [ 13.23432, -8.83682 ] } }, +{ "type": "Feature", "properties": { "Country": "Angola", "Function": "0-------", "LOCODE": "AOMAL", "Name": "Malongo", "NameWoDiac": "Malongo", "Status": "RQ", "outflows": 8707.5 }, "geometry": { "type": "Point", "coordinates": [ 12.19802179783948, -5.396406481852449 ] } }, +{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--4----", "LOCODE": "AOMSZ", "Name": "Namibe", "NameWoDiac": "Namibe", "Status": "AI", "outflows": 61242.5 }, "geometry": { "type": "Point", "coordinates": [ 12.15222, -15.19611 ] } }, +{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--4----", "LOCODE": "AOSZA", "Name": "Soyo", "NameWoDiac": "Soyo", "Status": "AI", "outflows": 79583.4 }, "geometry": { "type": "Point", "coordinates": [ 12.36894, -6.1349 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "123-----", "LOCODE": "AUBEL", "Name": "Bell Bay", "NameWoDiac": "Bell Bay", "Status": "AC", "outflows": 537012.66663 }, "geometry": { "type": "Point", "coordinates": [ 146.87, -41.13 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUBWT", "Name": "Burnie", "NameWoDiac": "Burnie", "Status": "AC", "outflows": 54600.0 }, "geometry": { "type": "Point", "coordinates": [ 145.90375, -41.05584 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUCNS", "Name": "Cairns", "NameWoDiac": "Cairns", "Status": "AC", "outflows": 806.0 }, "geometry": { "type": "Point", "coordinates": [ 145.76613, -16.92366 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1-------", "LOCODE": "AUDAM", "Name": "Dampier", "NameWoDiac": "Dampier", "Status": "AC", "outflows": 2273.75 }, "geometry": { "type": "Point", "coordinates": [ 116.71256, -20.66275 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUDPO", "Name": "Devonport", "NameWoDiac": "Devonport", "Status": "AC", "outflows": 11960.0 }, "geometry": { "type": "Point", "coordinates": [ 146.35152, -41.17695 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUFRE", "Name": "Fremantle", "NameWoDiac": "Fremantle", "Status": "AC", "outflows": 4485214.6003799979 }, "geometry": { "type": "Point", "coordinates": [ 115.74557, -32.05632 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUGEX", "Name": "Geelong", "NameWoDiac": "Geelong", "Status": "AC", "outflows": 3084.0 }, "geometry": { "type": "Point", "coordinates": [ 144.36069, -38.14711 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUNTL", "Name": "Newcastle", "NameWoDiac": "Newcastle", "Status": "AI", "outflows": 69717.0 }, "geometry": { "type": "Point", "coordinates": [ 151.7801, -32.92953 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "123-----", "LOCODE": "AUPBT", "Name": "Port Botany", "NameWoDiac": "Port Botany", "Status": "AC", "outflows": 47151.0 }, "geometry": { "type": "Point", "coordinates": [ 151.22277, -33.97447 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUPKL", "Name": "Port Kembla", "NameWoDiac": "Port Kembla", "Status": "AC", "outflows": 33267.0 }, "geometry": { "type": "Point", "coordinates": [ 150.9012, -34.4818 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUTSV", "Name": "Townsville", "NameWoDiac": "Townsville", "Status": "AI", "outflows": 227206.58331800002 }, "geometry": { "type": "Point", "coordinates": [ 146.80569, -19.26639 ] } }, +{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUWEI", "Name": "Weipa", "NameWoDiac": "Weipa", "Status": "AC", "outflows": 806.0 }, "geometry": { "type": "Point", "coordinates": [ 141.87883, -12.62346 ] } }, +{ "type": "Feature", "properties": { "Country": "Aruba", "Function": "1---5---", "LOCODE": "AWORJ", "Name": "Oranjestad", "NameWoDiac": "Oranjestad", "Status": "AI", "outflows": 721990.3 }, "geometry": { "type": "Point", "coordinates": [ -70.02703, 12.52398 ] } }, +{ "type": "Feature", "properties": { "Country": "Barbados", "Function": "1--45---", "LOCODE": "BBBGI", "Name": "Bridgetown", "NameWoDiac": "Bridgetown", "Status": "AI", "outflows": 687251.06668999989 }, "geometry": { "type": "Point", "coordinates": [ -59.62021, 13.10732 ] } }, +{ "type": "Feature", "properties": { "Country": "Bangladesh", "Function": "1-------", "LOCODE": "BDMGL", "Name": "Mongla", "NameWoDiac": "Mongla", "Status": "RQ", "outflows": 65143.0 }, "geometry": { "type": "Point", "coordinates": [ 89.61095, 22.47223 ] } }, +{ "type": "Feature", "properties": { "Country": "Bulgaria", "Function": "1-------", "LOCODE": "BGBOJ", "Name": "Burgas", "NameWoDiac": "Burgas", "Status": "AC", "outflows": 535001.99997999996 }, "geometry": { "type": "Point", "coordinates": [ 27.46781, 42.50606 ] } }, +{ "type": "Feature", "properties": { "Country": "Bulgaria", "Function": "1--4----", "LOCODE": "BGVAR", "Name": "Varna", "NameWoDiac": "Varna", "Status": "AI", "outflows": 147810.0 }, "geometry": { "type": "Point", "coordinates": [ 27.91667, 43.21667 ] } }, +{ "type": "Feature", "properties": { "Country": "Benin", "Function": "1--45---", "LOCODE": "BJCOO", "Name": "Cotonou", "NameWoDiac": "Cotonou", "Status": "AI", "outflows": 4812454.6643299991 }, "geometry": { "type": "Point", "coordinates": [ 2.41833, 6.36536 ] } }, +{ "type": "Feature", "properties": { "Country": "Bermuda", "Function": "1--45---", "LOCODE": "BMBDA", "Name": "Hamilton", "NameWoDiac": "Hamilton", "Status": "AI", "outflows": 13100.0 }, "geometry": { "type": "Point", "coordinates": [ -64.78303, 32.2949 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRFOR", "Name": "Fortaleza", "NameWoDiac": "Fortaleza", "Status": "AI", "outflows": 278482.75 }, "geometry": { "type": "Point", "coordinates": [ -38.54306, -3.71722 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRIOS", "Name": "Ilheus", "NameWoDiac": "Ilheus", "Status": "AI", "outflows": 36877.75 }, "geometry": { "type": "Point", "coordinates": [ -39.03949, -14.79364 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRIBB", "Name": "Imbituba", "NameWoDiac": "Imbituba", "Status": "AI", "outflows": 378681.33330999996 }, "geometry": { "type": "Point", "coordinates": [ -48.67028, -28.24 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRITJ", "Name": "Itajai", "NameWoDiac": "Itajai", "Status": "AI", "outflows": 4871215.6998899989 }, "geometry": { "type": "Point", "coordinates": [ -48.66194, -26.90778 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRMAO", "Name": "Manaus", "NameWoDiac": "Manaus", "Status": "AI", "outflows": 1385527.97796 }, "geometry": { "type": "Point", "coordinates": [ -60.025, -3.10194 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRNAT", "Name": "Natal", "NameWoDiac": "Natal", "Status": "AI", "outflows": 241605.0 }, "geometry": { "type": "Point", "coordinates": [ -35.20944, -5.795 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRRIG", "Name": "Rio Grande", "NameWoDiac": "Rio Grande", "Status": "AI", "outflows": 10184119.863509998 }, "geometry": { "type": "Point", "coordinates": [ -43.18223, -22.90642 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRSSA", "Name": "Salvador", "NameWoDiac": "Salvador", "Status": "AI", "outflows": 8800539.5732199997 }, "geometry": { "type": "Point", "coordinates": [ -38.51083, -12.97111 ] } }, +{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRSUA", "Name": "Suape", "NameWoDiac": "Suape", "Status": "RQ", "outflows": 5878585.3904299997 }, "geometry": { "type": "Point", "coordinates": [ -38.62083, -12.74083 ] } }, +{ "type": "Feature", "properties": { "Country": "Belize", "Function": "1--45---", "LOCODE": "BZBZE", "Name": "Belize City", "NameWoDiac": "Belize City", "Status": "AI", "outflows": 469495.0 }, "geometry": { "type": "Point", "coordinates": [ -88.19756, 17.49952 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--4----", "LOCODE": "CAHAL", "Name": "Halifax", "NameWoDiac": "Halifax", "Status": "AS", "outflows": 4454972.4670409998 }, "geometry": { "type": "Point", "coordinates": [ -63.57291, 44.6464 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--45---", "LOCODE": "CAMTR", "Name": "Montreal", "NameWoDiac": "Montreal", "Status": "AS", "outflows": 2304234.075 }, "geometry": { "type": "Point", "coordinates": [ -73.58781, 45.50884 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-------", "LOCODE": "CANWE", "Name": "New Westminster", "NameWoDiac": "New Westminster", "Status": "AS", "outflows": 27774.0 }, "geometry": { "type": "Point", "coordinates": [ -122.91092, 49.20678 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--4----", "LOCODE": "CAPRR", "Name": "Prince Rupert", "NameWoDiac": "Prince Rupert", "Status": "AS", "outflows": 2510218.7498600003 }, "geometry": { "type": "Point", "coordinates": [ -130.32098, 54.31507 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--4----", "LOCODE": "CASQA", "Name": "Squamish", "NameWoDiac": "Squamish", "Status": "AS", "outflows": 9606.0 }, "geometry": { "type": "Point", "coordinates": [ -122.95396, 50.11817 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--45---", "LOCODE": "CATOR", "Name": "Toronto", "NameWoDiac": "Toronto", "Status": "AS", "outflows": 5720.0 }, "geometry": { "type": "Point", "coordinates": [ -79.4163, 43.70011 ] } }, +{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--45---", "LOCODE": "CAVAN", "Name": "Vancouver", "NameWoDiac": "Vancouver", "Status": "AS", "outflows": 11959843.503790002 }, "geometry": { "type": "Point", "coordinates": [ -123.11934, 49.24966 ] } }, +{ "type": "Feature", "properties": { "Country": "Cook Islands", "Function": "1--45---", "LOCODE": "CKAIT", "Name": "Aitutaki", "NameWoDiac": "Aitutaki", "Status": "AI", "outflows": 40320.0 }, "geometry": { "type": "Point", "coordinates": [ -159.79293, -18.85195 ] } }, +{ "type": "Feature", "properties": { "Country": "Cook Islands", "Function": "1--45---", "LOCODE": "CKRAR", "Name": "Rarotonga", "NameWoDiac": "Rarotonga", "Status": "AI", "outflows": 41157.0 }, "geometry": { "type": "Point", "coordinates": [ -159.77545, -21.2075 ] } }, +{ "type": "Feature", "properties": { "Country": "Cameroon", "Function": "1--45---", "LOCODE": "CMDLA", "Name": "Douala", "NameWoDiac": "Douala", "Status": "AI", "outflows": 1089387.80006 }, "geometry": { "type": "Point", "coordinates": [ 9.70428, 4.04827 ] } }, +{ "type": "Feature", "properties": { "Country": "Cameroon", "Function": "1--4----", "LOCODE": "CMKBI", "Name": "Kribi", "NameWoDiac": "Kribi", "Status": "AI", "outflows": 1338743.54556 }, "geometry": { "type": "Point", "coordinates": [ 9.90765, 2.93725 ] } }, +{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--45---", "LOCODE": "COBAQ", "Name": "Barranquilla", "NameWoDiac": "Barranquilla", "Status": "AI", "outflows": 1238849.9999530001 }, "geometry": { "type": "Point", "coordinates": [ -74.78132, 10.96854 ] } }, +{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COBUN", "Name": "Buenaventura", "NameWoDiac": "Buenaventura", "Status": "AI", "outflows": 12125518.600159997 }, "geometry": { "type": "Point", "coordinates": [ -77.03116, 3.8801 ] } }, +{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COCTG", "Name": "Cartagena", "NameWoDiac": "Cartagena", "Status": "AI", "outflows": 16624367.157963 }, "geometry": { "type": "Point", "coordinates": [ -75.51444, 10.39972 ] } }, +{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COSMR", "Name": "Santa Marta", "NameWoDiac": "Santa Marta", "Status": "AI", "outflows": 1906046.5665720007 }, "geometry": { "type": "Point", "coordinates": [ -74.19904, 11.24079 ] } }, +{ "type": "Feature", "properties": { "Country": "Cuba", "Function": "---4----", "LOCODE": "CUMOA", "Name": "Moa", "NameWoDiac": "Moa", "Status": "AI", "outflows": 65431.8 }, "geometry": { "type": "Point", "coordinates": [ -74.95075, 20.65776 ] } }, +{ "type": "Feature", "properties": { "Country": "Cuba", "Function": "1--4----", "LOCODE": "CUSCU", "Name": "Santiago de Cuba", "NameWoDiac": "Santiago de Cuba", "Status": "AI", "outflows": 63230.0 }, "geometry": { "type": "Point", "coordinates": [ -75.82667, 20.02083 ] } }, +{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "0-------", "LOCODE": "CVPAL", "Name": "Palmeira", "NameWoDiac": "Palmeira", "Status": "RQ", "outflows": 13234.0 }, "geometry": { "type": "Point", "coordinates": [ -22.98348, 16.75754 ] } }, +{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "1--4----", "LOCODE": "CVRAI", "Name": "Praia", "NameWoDiac": "Praia", "Status": "AI", "outflows": 114309.0 }, "geometry": { "type": "Point", "coordinates": [ -23.51254, 14.93152 ] } }, +{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "0-------", "LOCODE": "CVSAR", "Name": "Sal Rei", "NameWoDiac": "Sal Rei", "Status": "RQ", "outflows": 25421.5 }, "geometry": { "type": "Point", "coordinates": [ -22.91722, 16.17611 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DEBRE", "Name": "Bremen", "NameWoDiac": "Bremen", "Status": "AF", "outflows": 197153.69999199998 }, "geometry": { "type": "Point", "coordinates": [ 8.80717, 53.07582 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEBRV", "Name": "Bremerhaven", "NameWoDiac": "Bremerhaven", "Status": "AF", "outflows": 21710907.495360006 }, "geometry": { "type": "Point", "coordinates": [ 8.59298, 53.53615 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DEHAM", "Name": "Hamburg", "NameWoDiac": "Hamburg", "Status": "AF", "outflows": 42669313.486039981 }, "geometry": { "type": "Point", "coordinates": [ 9.99302, 53.55073 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DELBC", "Name": "Lübeck", "NameWoDiac": "Lubeck", "Status": "AF", "outflows": 295233.5 }, "geometry": { "type": "Point", "coordinates": [ 10.68729, 53.86893 ] } }, +{ "type": "Feature", "properties": { "Country": "Germany", "Function": "123-----", "LOCODE": "DETRV", "Name": "Travemünde", "NameWoDiac": "Travemunde", "Status": "AF", "outflows": 73746.0 }, "geometry": { "type": "Point", "coordinates": [ 10.8709, 53.96304 ] } }, +{ "type": "Feature", "properties": { "Country": "Djibouti", "Function": "1--45---", "LOCODE": "DJJIB", "Name": "Djibouti", "NameWoDiac": "Djibouti", "Status": "AI", "outflows": 4852561.0352500007 }, "geometry": { "type": "Point", "coordinates": [ 43.14503, 11.58901 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12345---", "LOCODE": "DKAAL", "Name": "Aalborg", "NameWoDiac": "Aalborg", "Status": "AF", "outflows": 74932.0 }, "geometry": { "type": "Point", "coordinates": [ 9.9187, 57.048 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "1234----", "LOCODE": "DKEBJ", "Name": "Esbjerg", "NameWoDiac": "Esbjerg", "Status": "AF", "outflows": 28620.0 }, "geometry": { "type": "Point", "coordinates": [ 8.45187, 55.47028 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12--5---", "LOCODE": "DKFRC", "Name": "Fredericia", "NameWoDiac": "Fredericia", "Status": "AF", "outflows": 245869.0 }, "geometry": { "type": "Point", "coordinates": [ 9.75257, 55.56568 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "123-----", "LOCODE": "DKGRE", "Name": "Grenaa", "NameWoDiac": "Grenaa", "Status": "AF", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 10.87825, 56.41578 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "123-----", "LOCODE": "DKHUN", "Name": "Hundested", "NameWoDiac": "Hundested", "Status": "AF", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 11.85044, 55.96397 ] } }, +{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12------", "LOCODE": "DKSKA", "Name": "Skagen", "NameWoDiac": "Skagen", "Status": "AF", "outflows": 56420.0 }, "geometry": { "type": "Point", "coordinates": [ 10.58394, 57.72093 ] } }, +{ "type": "Feature", "properties": { "Country": "Dominica", "Function": "1-------", "LOCODE": "DMRSU", "Name": "Roseau", "NameWoDiac": "Roseau", "Status": "AI", "outflows": 370965.4 }, "geometry": { "type": "Point", "coordinates": [ -61.38808, 15.30174 ] } }, +{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "1-------", "LOCODE": "DOBCC", "Name": "Boca Chica", "NameWoDiac": "Boca Chica", "Status": "AI", "outflows": 333493.3333 }, "geometry": { "type": "Point", "coordinates": [ -69.6, 18.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "1-------", "LOCODE": "DOPOP", "Name": "Puerto Plata", "NameWoDiac": "Puerto Plata", "Status": "AI", "outflows": 712651.3333000001 }, "geometry": { "type": "Point", "coordinates": [ -70.6884, 19.79344 ] } }, +{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "1-------", "LOCODE": "DZMOS", "Name": "Mostaganem", "NameWoDiac": "Mostaganem", "Status": "QQ", "outflows": 20553.75 }, "geometry": { "type": "Point", "coordinates": [ 0.08918, 35.93115 ] } }, +{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "1--4----", "LOCODE": "DZORN", "Name": "Oran", "NameWoDiac": "Oran", "Status": "AI", "outflows": 210402.15 }, "geometry": { "type": "Point", "coordinates": [ -0.63588, 35.69906 ] } }, +{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1-------", "LOCODE": "EGEDK", "Name": "El Dekheila", "NameWoDiac": "El Dekheila", "Status": "RQ", "outflows": 265833.75 }, "geometry": { "type": "Point", "coordinates": [ 29.82126, 31.13133 ] } }, +{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1--4----", "LOCODE": "EGPSD", "Name": "Port Said", "NameWoDiac": "Port Said", "Status": "AI", "outflows": 20587604.955879994 }, "geometry": { "type": "Point", "coordinates": [ 32.3019, 31.26531 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-------", "LOCODE": "ESALG", "Name": "Algeciras", "NameWoDiac": "Algeciras", "Status": "AI", "outflows": 27490011.70193002 }, "geometry": { "type": "Point", "coordinates": [ -5.45051, 36.13326 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESALC", "Name": "Alicante", "NameWoDiac": "Alicante", "Status": "AI", "outflows": 317642.0 }, "geometry": { "type": "Point", "coordinates": [ -0.48149, 38.34517 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESBCN", "Name": "Barcelona", "NameWoDiac": "Barcelona", "Status": "AI", "outflows": 22873062.028563999 }, "geometry": { "type": "Point", "coordinates": [ 2.15899, 41.38879 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-------", "LOCODE": "ESCAD", "Name": "Cadiz", "NameWoDiac": "Cadiz", "Status": "AI", "outflows": 248618.5 }, "geometry": { "type": "Point", "coordinates": [ -6.2891, 36.52672 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-------", "LOCODE": "ESCEU", "Name": "Ceuta", "NameWoDiac": "Ceuta", "Status": "AI", "outflows": 45500.0 }, "geometry": { "type": "Point", "coordinates": [ -5.32042, 35.88919 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESHUV", "Name": "Huelva", "NameWoDiac": "Huelva", "Status": "AI", "outflows": 191763.0 }, "geometry": { "type": "Point", "coordinates": [ -6.94004, 37.26638 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESFUE", "Name": "Puerto del Rosario-Fuerteventura", "NameWoDiac": "Puerto del Rosario-Fuerteventura", "Status": "AI", "outflows": 219128.0 }, "geometry": { "type": "Point", "coordinates": [ -13.86272, 28.50038 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1---5---", "LOCODE": "ESSCT", "Name": "Santa Cruz de Tenerife", "NameWoDiac": "Santa Cruz de Tenerife", "Status": "AI", "outflows": 640000.0 }, "geometry": { "type": "Point", "coordinates": [ -16.25462, 28.46824 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESSDR", "Name": "Santander", "NameWoDiac": "Santander", "Status": "AI", "outflows": 23634.0 }, "geometry": { "type": "Point", "coordinates": [ -3.80444, 43.46472 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESSVQ", "Name": "Sevilla", "NameWoDiac": "Sevilla", "Status": "AI", "outflows": 49842.0 }, "geometry": { "type": "Point", "coordinates": [ -5.97317, 37.38283 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESTAR", "Name": "Tarragona", "NameWoDiac": "Tarragona", "Status": "AI", "outflows": 977262.0 }, "geometry": { "type": "Point", "coordinates": [ 1.25, 41.11667 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESVLC", "Name": "Valencia", "NameWoDiac": "Valencia", "Status": "AI", "outflows": 32174699.419024002 }, "geometry": { "type": "Point", "coordinates": [ -0.37739, 39.46975 ] } }, +{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESVGO", "Name": "Vigo", "NameWoDiac": "Vigo", "Status": "AI", "outflows": 929140.33332400001 }, "geometry": { "type": "Point", "coordinates": [ -8.72264, 42.23282 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHKO", "Name": "Hangö (Hanko)", "NameWoDiac": "Hango (Hanko)", "Status": "AI", "outflows": 134144.0 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 59.83333 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHKO", "Name": "Hanko (Hangö)", "NameWoDiac": "Hanko (Hango)", "Status": "AI", "outflows": 134144.0 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 59.83333 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHEL", "Name": "Helsingfors (Helsinki)", "NameWoDiac": "Helsingfors (Helsinki)", "Status": "AI", "outflows": 745328.99995000008 }, "geometry": { "type": "Point", "coordinates": [ 24.93545, 60.16952 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHEL", "Name": "Helsinki (Helsingfors)", "NameWoDiac": "Helsinki (Helsingfors)", "Status": "AI", "outflows": 745328.99995000008 }, "geometry": { "type": "Point", "coordinates": [ 24.93545, 60.16952 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-3-----", "LOCODE": "FIVKO", "Name": "Valko (Valkom)", "NameWoDiac": "Valko (Valkom)", "Status": "AC", "outflows": 84688.5 }, "geometry": { "type": "Point", "coordinates": [ 26.24664, 60.41392 ] } }, +{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-3-----", "LOCODE": "FIVKO", "Name": "Valkom (Valko)", "NameWoDiac": "Valkom (Valko)", "Status": "AC", "outflows": 84688.5 }, "geometry": { "type": "Point", "coordinates": [ 26.24664, 60.41392 ] } }, +{ "type": "Feature", "properties": { "Country": "Gabon", "Function": "1--45---", "LOCODE": "GALBV", "Name": "Libreville", "NameWoDiac": "Libreville", "Status": "AI", "outflows": 414222.00002999994 }, "geometry": { "type": "Point", "coordinates": [ 9.45356, 0.39241 ] } }, +{ "type": "Feature", "properties": { "Country": "Gabon", "Function": "1--45---", "LOCODE": "GAPOG", "Name": "Port Gentil", "NameWoDiac": "Port Gentil", "Status": "AI", "outflows": 148566.9 }, "geometry": { "type": "Point", "coordinates": [ 8.78151, -0.71933 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBBLY", "Name": "Blyth", "NameWoDiac": "Blyth", "Status": "AF", "outflows": 13208.0 }, "geometry": { "type": "Point", "coordinates": [ -1.50856, 55.12708 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1234----", "LOCODE": "GBBRS", "Name": "Bristol", "NameWoDiac": "Bristol", "Status": "AF", "outflows": 213286.66665 }, "geometry": { "type": "Point", "coordinates": [ -2.59665, 51.45523 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1---5---", "LOCODE": "GBDVR", "Name": "Dover", "NameWoDiac": "Dover", "Status": "AF", "outflows": 17290.0 }, "geometry": { "type": "Point", "coordinates": [ 1.31257, 51.12598 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBFXT", "Name": "Felixstowe", "NameWoDiac": "Felixstowe", "Status": "AF", "outflows": 23949484.180700015 }, "geometry": { "type": "Point", "coordinates": [ 1.3511, 51.96375 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBFOY", "Name": "Fowey", "NameWoDiac": "Fowey", "Status": "AF", "outflows": 4941.0 }, "geometry": { "type": "Point", "coordinates": [ -4.6386, 50.33634 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBHRW", "Name": "Harwich", "NameWoDiac": "Harwich", "Status": "AF", "outflows": 61540.0 }, "geometry": { "type": "Point", "coordinates": [ 1.28437, 51.94194 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBPOO", "Name": "Poole", "NameWoDiac": "Poole", "Status": "AF", "outflows": 8502.0 }, "geometry": { "type": "Point", "coordinates": [ -1.98458, 50.71429 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBPME", "Name": "Portsmouth", "NameWoDiac": "Portsmouth", "Status": "AF", "outflows": 142997.400009 }, "geometry": { "type": "Point", "coordinates": [ -1.09125, 50.79899 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBSCR", "Name": "Scrabster", "NameWoDiac": "Scrabster", "Status": "AF", "outflows": 9204.0 }, "geometry": { "type": "Point", "coordinates": [ -3.54627, 58.61277 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBSHS", "Name": "Sheerness", "NameWoDiac": "Sheerness", "Status": "AF", "outflows": 21112.0 }, "geometry": { "type": "Point", "coordinates": [ 0.76252, 51.44042 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBSOU", "Name": "Southampton", "NameWoDiac": "Southampton", "Status": "AF", "outflows": 12580879.097799998 }, "geometry": { "type": "Point", "coordinates": [ -1.40428, 50.90395 ] } }, +{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBTIL", "Name": "Tilbury", "NameWoDiac": "Tilbury", "Status": "AF", "outflows": 1408139.0 }, "geometry": { "type": "Point", "coordinates": [ 0.35856, 51.46248 ] } }, +{ "type": "Feature", "properties": { "Country": "Grenada", "Function": "1-------", "LOCODE": "GDSTG", "Name": "Saint George's", "NameWoDiac": "Saint George's", "Status": "AI", "outflows": 454265.06669000001 }, "geometry": { "type": "Point", "coordinates": [ -61.75226, 12.05288 ] } }, +{ "type": "Feature", "properties": { "Country": "Georgia", "Function": "1--4----", "LOCODE": "GEBUS", "Name": "Batumi", "NameWoDiac": "Batumi", "Status": "AI", "outflows": 176479.99998 }, "geometry": { "type": "Point", "coordinates": [ 41.63392, 41.64228 ] } }, +{ "type": "Feature", "properties": { "Country": "Georgia", "Function": "1-------", "LOCODE": "GEPTI", "Name": "Poti", "NameWoDiac": "Poti", "Status": "QQ", "outflows": 241566.0 }, "geometry": { "type": "Point", "coordinates": [ 41.67384, 42.14272 ] } }, +{ "type": "Feature", "properties": { "Country": "Ghana", "Function": "1--45---", "LOCODE": "GHTKD", "Name": "Takoradi", "NameWoDiac": "Takoradi", "Status": "AI", "outflows": 343811.4 }, "geometry": { "type": "Point", "coordinates": [ -1.76029, 4.89816 ] } }, +{ "type": "Feature", "properties": { "Country": "Ghana", "Function": "1-------", "LOCODE": "GHTEM", "Name": "Tema", "NameWoDiac": "Tema", "Status": "QQ", "outflows": 7407893.3644899996 }, "geometry": { "type": "Point", "coordinates": [ -0.01657, 5.6698 ] } }, +{ "type": "Feature", "properties": { "Country": "Gibraltar", "Function": "1--45---", "LOCODE": "GIGIB", "Name": "Gibraltar", "NameWoDiac": "Gibraltar", "Status": "AI", "outflows": 67977.0 }, "geometry": { "type": "Point", "coordinates": [ -5.35257, 36.14474 ] } }, +{ "type": "Feature", "properties": { "Country": "Greenland", "Function": "1--4----", "LOCODE": "GLJHS", "Name": "Sisimiut (Holsteinsborg)", "NameWoDiac": "Sisimiut (Holsteinsborg)", "Status": "AI", "outflows": 23426.0 }, "geometry": { "type": "Point", "coordinates": [ -53.6735, 66.93946 ] } }, +{ "type": "Feature", "properties": { "Country": "Gambia", "Function": "1--45---", "LOCODE": "GMBJL", "Name": "Banjul", "NameWoDiac": "Banjul", "Status": "AI", "outflows": 184275.0 }, "geometry": { "type": "Point", "coordinates": [ -16.57803, 13.45274 ] } }, +{ "type": "Feature", "properties": { "Country": "Guinea", "Function": "1--45---", "LOCODE": "GNCKY", "Name": "Conakry", "NameWoDiac": "Conakry", "Status": "AI", "outflows": 676607.90476000018 }, "geometry": { "type": "Point", "coordinates": [ -13.67729, 9.53795 ] } }, +{ "type": "Feature", "properties": { "Country": "Equatorial Guinea", "Function": "1--45---", "LOCODE": "GQBSG", "Name": "Bata", "NameWoDiac": "Bata", "Status": "RQ", "outflows": 454067.0 }, "geometry": { "type": "Point", "coordinates": [ 9.76582, 1.86391 ] } }, +{ "type": "Feature", "properties": { "Country": "Equatorial Guinea", "Function": "1--4----", "LOCODE": "GQSSG", "Name": "Malabo", "NameWoDiac": "Malabo", "Status": "AI", "outflows": 133795.9 }, "geometry": { "type": "Point", "coordinates": [ 8.78166, 3.75578 ] } }, +{ "type": "Feature", "properties": { "Country": "Guatemala", "Function": "1--4----", "LOCODE": "GTPBR", "Name": "Puerto Barrios", "NameWoDiac": "Puerto Barrios", "Status": "AI", "outflows": 547993.33336599998 }, "geometry": { "type": "Point", "coordinates": [ -88.59444, 15.72778 ] } }, +{ "type": "Feature", "properties": { "Country": "Guyana", "Function": "1--45---", "LOCODE": "GYGEO", "Name": "Georgetown", "NameWoDiac": "Georgetown", "Status": "AI", "outflows": 428041.33332200005 }, "geometry": { "type": "Point", "coordinates": [ -58.15527, 6.80448 ] } }, +{ "type": "Feature", "properties": { "Country": "Hong Kong", "Function": "1--45---", "LOCODE": "HKHKG", "Name": "Hong Kong", "NameWoDiac": "Hong Kong", "Status": "AI", "outflows": 80530648.252739042 }, "geometry": { "type": "Point", "coordinates": [ 114.17469, 22.27832 ] } }, +{ "type": "Feature", "properties": { "Country": "Honduras", "Function": "1-------", "LOCODE": "HNPCA", "Name": "Puerto Castilla", "NameWoDiac": "Puerto Castilla", "Status": "RQ", "outflows": 75387.0 }, "geometry": { "type": "Point", "coordinates": [ -85.96667, 16.01667 ] } }, +{ "type": "Feature", "properties": { "Country": "Honduras", "Function": "1---5---", "LOCODE": "HNPCR", "Name": "Puerto Cortés", "NameWoDiac": "Puerto Cortes", "Status": "AI", "outflows": 1674222.3333919998 }, "geometry": { "type": "Point", "coordinates": [ -87.92968, 15.82562 ] } }, +{ "type": "Feature", "properties": { "Country": "Honduras", "Function": "1-------", "LOCODE": "HNSLO", "Name": "San Lorenzo", "NameWoDiac": "San Lorenzo", "Status": "RQ", "outflows": 67860.0 }, "geometry": { "type": "Point", "coordinates": [ -87.44722, 13.42417 ] } }, +{ "type": "Feature", "properties": { "Country": "Haiti", "Function": "1--45---", "LOCODE": "HTPAP", "Name": "Port-au-Prince", "NameWoDiac": "Port-au-Prince", "Status": "AI", "outflows": 783664.91664000018 }, "geometry": { "type": "Point", "coordinates": [ -72.33881, 18.54349 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDBDJ", "Name": "Banjarmasin", "NameWoDiac": "Banjarmasin", "Status": "AI", "outflows": 17848.0 }, "geometry": { "type": "Point", "coordinates": [ 114.59075, -3.31987 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBLW", "Name": "Belawan, Sumatra", "NameWoDiac": "Belawan, Sumatra", "Status": "QQ", "outflows": 494328.25003 }, "geometry": { "type": "Point", "coordinates": [ 98.6832, 3.7755 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBIT", "Name": "Bitung, Sulawesi", "NameWoDiac": "Bitung, Sulawesi", "Status": "QQ", "outflows": 215154.58334000001 }, "geometry": { "type": "Point", "coordinates": [ 125.12824, 1.44059 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDGTO", "Name": "Gorontalo, Sulawesi", "NameWoDiac": "Gorontalo, Sulawesi", "Status": "AI", "outflows": 42718.00001 }, "geometry": { "type": "Point", "coordinates": [ 123.3908, -0.8985 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDKDI", "Name": "Kendari, Sulawesi", "NameWoDiac": "Kendari, Sulawesi", "Status": "AI", "outflows": 7988.5 }, "geometry": { "type": "Point", "coordinates": [ 122.51507, -3.9778 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDLUW", "Name": "Luwuk", "NameWoDiac": "Luwuk", "Status": "AI", "outflows": 720.0 }, "geometry": { "type": "Point", "coordinates": [ 122.7875, -0.9516 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--45---", "LOCODE": "IDMES", "Name": "Medan, Sumatra", "NameWoDiac": "Medan, Sumatra", "Status": "AI", "outflows": 45136.0 }, "geometry": { "type": "Point", "coordinates": [ 98.66667, 3.58333 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDPLM", "Name": "Palembang, Sumatra", "NameWoDiac": "Palembang, Sumatra", "Status": "AI", "outflows": 106646.75 }, "geometry": { "type": "Point", "coordinates": [ 104.7458, -2.91673 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDPNJ", "Name": "Panjang", "NameWoDiac": "Panjang", "Status": "RQ", "outflows": 1532041.4998899996 }, "geometry": { "type": "Point", "coordinates": [ 100.6199, 0.3087 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--45---", "LOCODE": "IDPNK", "Name": "Pontianak, Kalimantan", "NameWoDiac": "Pontianak, Kalimantan", "Status": "AI", "outflows": 35776.0 }, "geometry": { "type": "Point", "coordinates": [ 109.325, -0.03194 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDSRI", "Name": "Samarinda, Kalimantan", "NameWoDiac": "Samarinda, Kalimantan", "Status": "AI", "outflows": 34320.0 }, "geometry": { "type": "Point", "coordinates": [ 117.14583, -0.49167 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDSOQ", "Name": "Sorong", "NameWoDiac": "Sorong", "Status": "AI", "outflows": 125268.0 }, "geometry": { "type": "Point", "coordinates": [ 131.26104, -0.87956 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDTRK", "Name": "Tarakan, Kalimantan", "NameWoDiac": "Tarakan, Kalimantan", "Status": "QQ", "outflows": 5213.0 }, "geometry": { "type": "Point", "coordinates": [ 117.59152, 3.31332 ] } }, +{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDTLI", "Name": "Tolitoli", "NameWoDiac": "Tolitoli", "Status": "AI", "outflows": 3328.0 }, "geometry": { "type": "Point", "coordinates": [ 121.1679, 1.2718 ] } }, +{ "type": "Feature", "properties": { "Country": "Ireland", "Function": "1--45---", "LOCODE": "IEORK", "Name": "Cork", "NameWoDiac": "Cork", "Status": "AF", "outflows": 316459.0 }, "geometry": { "type": "Point", "coordinates": [ -8.47061, 51.89797 ] } }, +{ "type": "Feature", "properties": { "Country": "Ireland", "Function": "12-45---", "LOCODE": "IEDUB", "Name": "Dublin", "NameWoDiac": "Dublin", "Status": "AF", "outflows": 453417.25 }, "geometry": { "type": "Point", "coordinates": [ -6.24889, 53.33306 ] } }, +{ "type": "Feature", "properties": { "Country": "Israel", "Function": "1-------", "LOCODE": "ILASH", "Name": "Ashdod", "NameWoDiac": "Ashdod", "Status": "QQ", "outflows": 5463055.0830800012 }, "geometry": { "type": "Point", "coordinates": [ 34.64966, 31.79213 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INENR", "Name": "Ennore", "NameWoDiac": "Ennore", "Status": "AA", "outflows": 263657.33331999998 }, "geometry": { "type": "Point", "coordinates": [ 80.32835, 13.24751 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INHAL", "Name": "Haldia", "NameWoDiac": "Haldia", "Status": "AA", "outflows": 182909.25 }, "geometry": { "type": "Point", "coordinates": [ 88.10975, 22.06046 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INKRI", "Name": "Krishnapatnam", "NameWoDiac": "Krishnapatnam", "Status": "AA", "outflows": 2290663.6664799997 }, "geometry": { "type": "Point", "coordinates": [ 80.12388, 14.28874 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1--4----", "LOCODE": "INIXE", "Name": "Mangalore", "NameWoDiac": "Mangalore", "Status": "AA", "outflows": 139500.0 }, "geometry": { "type": "Point", "coordinates": [ 74.85603, 12.91723 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INMUN", "Name": "Mundra", "NameWoDiac": "Mundra", "Status": "AA", "outflows": 19811914.337299995 }, "geometry": { "type": "Point", "coordinates": [ 69.7219, 22.83918 ] } }, +{ "type": "Feature", "properties": { "Country": "India", "Function": "1--4----", "LOCODE": "INIXZ", "Name": "Port Blair", "NameWoDiac": "Port Blair", "Status": "AA", "outflows": 14150.5 }, "geometry": { "type": "Point", "coordinates": [ 92.74635, 11.66613 ] } }, +{ "type": "Feature", "properties": { "Country": "Iraq", "Function": "1-------", "LOCODE": "IQALF", "Name": "Abu Al Fulus", "NameWoDiac": "Abu Al Fulus", "Status": "RQ", "outflows": 14131.0 }, "geometry": { "type": "Point", "coordinates": [ 48.04246, 30.44783 ] } }, +{ "type": "Feature", "properties": { "Country": "Iraq", "Function": "1-------", "LOCODE": "IQBSR", "Name": "Basra", "NameWoDiac": "Basra", "Status": "AI", "outflows": 7524.0 }, "geometry": { "type": "Point", "coordinates": [ 47.7804, 30.50852 ] } }, +{ "type": "Feature", "properties": { "Country": "Iceland", "Function": "1-------", "LOCODE": "ISGRF", "Name": "Grundarfjørdur", "NameWoDiac": "Grundarfjordur", "Status": "AC", "outflows": 280000.5 }, "geometry": { "type": "Point", "coordinates": [ -23.26313, 64.92427 ] } }, +{ "type": "Feature", "properties": { "Country": "Iceland", "Function": "1-------", "LOCODE": "ISRFJ", "Name": "Reydarfjørdur", "NameWoDiac": "Reydarfjordur", "Status": "AC", "outflows": 157748.5 }, "geometry": { "type": "Point", "coordinates": [ -14.21832, 65.03164 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITMDC", "Name": "Marina di Carrara", "NameWoDiac": "Marina di Carrara", "Status": "AI", "outflows": 164793.0 }, "geometry": { "type": "Point", "coordinates": [ 10.04142, 44.03837 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITMNF", "Name": "Monfalcone", "NameWoDiac": "Monfalcone", "Status": "AI", "outflows": 23587.5 }, "geometry": { "type": "Point", "coordinates": [ 13.53292, 45.80463 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITPOZ", "Name": "Pozzuoli", "NameWoDiac": "Pozzuoli", "Status": "AI", "outflows": 42042.0 }, "geometry": { "type": "Point", "coordinates": [ 14.0952, 40.84394 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITRAN", "Name": "Ravenna", "NameWoDiac": "Ravenna", "Status": "AI", "outflows": 1216610.5 }, "geometry": { "type": "Point", "coordinates": [ 12.20121, 44.41344 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-3-----", "LOCODE": "ITSAL", "Name": "Salerno", "NameWoDiac": "Salerno", "Status": "AI", "outflows": 2238415.25 }, "geometry": { "type": "Point", "coordinates": [ 14.79328, 40.67545 ] } }, +{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1--4----", "LOCODE": "ITTRS", "Name": "Trieste", "NameWoDiac": "Trieste", "Status": "AI", "outflows": 4531748.0 }, "geometry": { "type": "Point", "coordinates": [ 13.77678, 45.64953 ] } }, +{ "type": "Feature", "properties": { "Country": "Jamaica", "Function": "1--45---", "LOCODE": "JMKIN", "Name": "Kingston", "NameWoDiac": "Kingston", "Status": "AI", "outflows": 8626072.544909995 }, "geometry": { "type": "Point", "coordinates": [ -76.79358, 17.99702 ] } }, +{ "type": "Feature", "properties": { "Country": "Jamaica", "Function": "1--4----", "LOCODE": "JMMBJ", "Name": "Montego Bay", "NameWoDiac": "Montego Bay", "Status": "AI", "outflows": 628021.3333000001 }, "geometry": { "type": "Point", "coordinates": [ -77.91883, 18.47116 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPABU", "Name": "Aburatsu", "NameWoDiac": "Aburatsu", "Status": "AF", "outflows": 53352.0 }, "geometry": { "type": "Point", "coordinates": [ 144.26971, 44.02127 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPAXT", "Name": "Akita", "NameWoDiac": "Akita", "Status": "AF", "outflows": 278377.66667000001 }, "geometry": { "type": "Point", "coordinates": [ 140.11667, 39.71667 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPCHB", "Name": "Chiba", "NameWoDiac": "Chiba", "Status": "AF", "outflows": 607568.0 }, "geometry": { "type": "Point", "coordinates": [ 140.11667, 35.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPFKY", "Name": "Fukuyama, Hiroshima", "NameWoDiac": "Fukuyama, Hiroshima", "Status": "AF", "outflows": 508612.0 }, "geometry": { "type": "Point", "coordinates": [ 133.36667, 34.48333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPHHE", "Name": "Hachinohe", "NameWoDiac": "Hachinohe", "Status": "AF", "outflows": 291243.33335000003 }, "geometry": { "type": "Point", "coordinates": [ 141.5, 40.5 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPHIJ", "Name": "Hiroshima", "NameWoDiac": "Hiroshima", "Status": "AF", "outflows": 658970.0 }, "geometry": { "type": "Point", "coordinates": [ 132.45, 34.4 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPHTC", "Name": "Hitachi", "NameWoDiac": "Hitachi", "Status": "AF", "outflows": 110110.0 }, "geometry": { "type": "Point", "coordinates": [ 140.65, 36.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPHSM", "Name": "Hososhima", "NameWoDiac": "Hososhima", "Status": "AF", "outflows": 354289.0 }, "geometry": { "type": "Point", "coordinates": [ 131.66667, 32.43333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPIMB", "Name": "Imabari", "NameWoDiac": "Imabari", "Status": "AF", "outflows": 83772.0 }, "geometry": { "type": "Point", "coordinates": [ 133.00023, 34.07001 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPIMI", "Name": "Imari", "NameWoDiac": "Imari", "Status": "AF", "outflows": 232752.0 }, "geometry": { "type": "Point", "coordinates": [ 129.87877, 33.27362 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPIWK", "Name": "Iwakuni", "NameWoDiac": "Iwakuni", "Status": "AF", "outflows": 248404.0 }, "geometry": { "type": "Point", "coordinates": [ 132.22, 34.16297 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKNZ", "Name": "Kanazawa", "NameWoDiac": "Kanazawa", "Status": "AF", "outflows": 500785.99996999995 }, "geometry": { "type": "Point", "coordinates": [ 136.61667, 36.6 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKSM", "Name": "Kashima, Ibaraki", "NameWoDiac": "Kashima, Ibaraki", "Status": "AF", "outflows": 103584.0 }, "geometry": { "type": "Point", "coordinates": [ 140.64474, 35.96536 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKWS", "Name": "Kawasaki", "NameWoDiac": "Kawasaki", "Status": "AF", "outflows": 1377583.9999500001 }, "geometry": { "type": "Point", "coordinates": [ 139.71722, 35.52056 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPKCZ", "Name": "Kochi", "NameWoDiac": "Kochi", "Status": "AF", "outflows": 97578.0 }, "geometry": { "type": "Point", "coordinates": [ 133.53333, 33.55 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPKMJ", "Name": "Kumamoto", "NameWoDiac": "Kumamoto", "Status": "AF", "outflows": 44460.0 }, "geometry": { "type": "Point", "coordinates": [ 130.69181, 32.80589 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMAI", "Name": "Maizuru", "NameWoDiac": "Maizuru", "Status": "AF", "outflows": 113464.0 }, "geometry": { "type": "Point", "coordinates": [ 135.33333, 35.45 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPMYJ", "Name": "Matsuyama", "NameWoDiac": "Matsuyama", "Status": "AF", "outflows": 213629.0 }, "geometry": { "type": "Point", "coordinates": [ 132.76574, 33.83916 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMII", "Name": "Miike, Fukuoka", "NameWoDiac": "Miike, Fukuoka", "Status": "AF", "outflows": 16640.0 }, "geometry": { "type": "Point", "coordinates": [ 130.47791, 33.05207 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMIZ", "Name": "Mizushima", "NameWoDiac": "Mizushima", "Status": "AF", "outflows": 727415.0 }, "geometry": { "type": "Point", "coordinates": [ 133.73896, 34.5298 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMUR", "Name": "Muroran", "NameWoDiac": "Muroran", "Status": "AF", "outflows": 115517.99996999998 }, "geometry": { "type": "Point", "coordinates": [ 140.98806, 42.31722 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPNGS", "Name": "Nagasaki", "NameWoDiac": "Nagasaki", "Status": "AF", "outflows": 44460.0 }, "geometry": { "type": "Point", "coordinates": [ 129.88333, 32.75 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--45---", "LOCODE": "JPNGO", "Name": "Nagoya, Aichi", "NameWoDiac": "Nagoya, Aichi", "Status": "AF", "outflows": 14485316.083789002 }, "geometry": { "type": "Point", "coordinates": [ 136.90641, 35.18147 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--45---", "LOCODE": "JPNAH", "Name": "Naha, Okinawa", "NameWoDiac": "Naha, Okinawa", "Status": "AF", "outflows": 770354.0 }, "geometry": { "type": "Point", "coordinates": [ 127.68333, 26.21667 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPNAO", "Name": "Naoetsu", "NameWoDiac": "Naoetsu", "Status": "AF", "outflows": 166443.33335 }, "geometry": { "type": "Point", "coordinates": [ 138.25, 37.18333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKIJ", "Name": "Niigata", "NameWoDiac": "Niigata", "Status": "AF", "outflows": 632488.99997 }, "geometry": { "type": "Point", "coordinates": [ 139.00589, 37.88637 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPOIT", "Name": "Oita", "NameWoDiac": "Oita", "Status": "AF", "outflows": 336869.0 }, "geometry": { "type": "Point", "coordinates": [ 131.6, 33.23333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPOMZ", "Name": "Omaezaki", "NameWoDiac": "Omaezaki", "Status": "AF", "outflows": 642421.0 }, "geometry": { "type": "Point", "coordinates": [ 138.21934, 34.59882 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPONA", "Name": "Onahama", "NameWoDiac": "Onahama", "Status": "AF", "outflows": 204940.6667 }, "geometry": { "type": "Point", "coordinates": [ 140.9, 36.95 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPOTK", "Name": "Otake", "NameWoDiac": "Otake", "Status": "AF", "outflows": 36348.0 }, "geometry": { "type": "Point", "coordinates": [ 132.22063, 34.20754 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPOTR", "Name": "Otaru", "NameWoDiac": "Otaru", "Status": "AF", "outflows": 78000.0 }, "geometry": { "type": "Point", "coordinates": [ 141.00222, 43.18944 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSMN", "Name": "Sakaiminato", "NameWoDiac": "Sakaiminato", "Status": "AF", "outflows": 329679.99997 }, "geometry": { "type": "Point", "coordinates": [ 133.23094, 35.53774 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSKT", "Name": "Sakata", "NameWoDiac": "Sakata", "Status": "AF", "outflows": 421338.66667000001 }, "geometry": { "type": "Point", "coordinates": [ 139.855, 38.91667 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSBS", "Name": "Shibushi", "NameWoDiac": "Shibushi", "Status": "AF", "outflows": 490971.0 }, "geometry": { "type": "Point", "coordinates": [ 131.10114, 31.476 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSMZ", "Name": "Shimizu", "NameWoDiac": "Shimizu", "Status": "AF", "outflows": 5351577.999760001 }, "geometry": { "type": "Point", "coordinates": [ 142.88472, 43.00611 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPTAK", "Name": "Takamatsu", "NameWoDiac": "Takamatsu", "Status": "AF", "outflows": 188292.0 }, "geometry": { "type": "Point", "coordinates": [ 134.05, 34.33333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPTKS", "Name": "Tokushima", "NameWoDiac": "Tokushima", "Status": "AF", "outflows": 148044.0 }, "geometry": { "type": "Point", "coordinates": [ 134.56667, 34.06667 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPTKY", "Name": "Tokuyama", "NameWoDiac": "Tokuyama", "Status": "AF", "outflows": 456888.25 }, "geometry": { "type": "Point", "coordinates": [ 131.81667, 34.05 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPTMK", "Name": "Tomakomai", "NameWoDiac": "Tomakomai", "Status": "AF", "outflows": 929244.33331999998 }, "geometry": { "type": "Point", "coordinates": [ 141.60333, 42.63694 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPTHS", "Name": "Toyohashi", "NameWoDiac": "Toyohashi", "Status": "AF", "outflows": 181584.0 }, "geometry": { "type": "Point", "coordinates": [ 137.38333, 34.76667 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPTRG", "Name": "Tsuruga", "NameWoDiac": "Tsuruga", "Status": "AF", "outflows": 121550.0 }, "geometry": { "type": "Point", "coordinates": [ 136.0558, 35.64547 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPUBJ", "Name": "Ube", "NameWoDiac": "Ube", "Status": "AF", "outflows": 22490.0 }, "geometry": { "type": "Point", "coordinates": [ 131.25111, 33.94306 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPWAK", "Name": "Wakayama", "NameWoDiac": "Wakayama", "Status": "AF", "outflows": 63765.0 }, "geometry": { "type": "Point", "coordinates": [ 135.16667, 34.23333 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPYAT", "Name": "Yatsushiro", "NameWoDiac": "Yatsushiro", "Status": "AF", "outflows": 61100.0 }, "geometry": { "type": "Point", "coordinates": [ 130.59952, 32.50439 ] } }, +{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPYKK", "Name": "Yokkaichi", "NameWoDiac": "Yokkaichi", "Status": "AF", "outflows": 3523652.1667400002 }, "geometry": { "type": "Point", "coordinates": [ 136.61667, 34.96667 ] } }, +{ "type": "Feature", "properties": { "Country": "Kenya", "Function": "1--45---", "LOCODE": "KEMBA", "Name": "Mombasa", "NameWoDiac": "Mombasa", "Status": "AI", "outflows": 2290456.6388300001 }, "geometry": { "type": "Point", "coordinates": [ 39.66359, -4.05466 ] } }, +{ "type": "Feature", "properties": { "Country": "Kiribati", "Function": "1--4----", "LOCODE": "KITRW", "Name": "Tarawa", "NameWoDiac": "Tarawa", "Status": "AI", "outflows": 136326.0 }, "geometry": { "type": "Point", "coordinates": [ 172.97696, 1.3278 ] } }, +{ "type": "Feature", "properties": { "Country": "Comoros", "Function": "1--45---", "LOCODE": "KMYVA", "Name": "Moroni", "NameWoDiac": "Moroni", "Status": "AI", "outflows": 131275.33335 }, "geometry": { "type": "Point", "coordinates": [ 43.25506, -11.70216 ] } }, +{ "type": "Feature", "properties": { "Country": "Lebanon", "Function": "1--4----", "LOCODE": "LBKYE", "Name": "Tripoli", "NameWoDiac": "Tripoli", "Status": "AI", "outflows": 2038156.25 }, "geometry": { "type": "Point", "coordinates": [ 35.84415, 34.43352 ] } }, +{ "type": "Feature", "properties": { "Country": "Lithuania", "Function": "1--4----", "LOCODE": "LTKLJ", "Name": "Klaipeda", "NameWoDiac": "Klaipeda", "Status": "AI", "outflows": 1242325.5 }, "geometry": { "type": "Point", "coordinates": [ 21.13912, 55.7068 ] } }, +{ "type": "Feature", "properties": { "Country": "Latvia", "Function": "1--45---", "LOCODE": "LVRIX", "Name": "Riga", "NameWoDiac": "Riga", "Status": "AI", "outflows": 944970.0 }, "geometry": { "type": "Point", "coordinates": [ 24.10589, 56.946 ] } }, +{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1--45---", "LOCODE": "LYBEN", "Name": "Bingazi (Benghazi)", "NameWoDiac": "Bingazi (Benghazi)", "Status": "AI", "outflows": 296981.0 }, "geometry": { "type": "Point", "coordinates": [ 20.06859, 32.11486 ] } }, +{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1--4----", "LOCODE": "LYMRA", "Name": "Misurata", "NameWoDiac": "Misurata", "Status": "AI", "outflows": 757750.00001000008 }, "geometry": { "type": "Point", "coordinates": [ 15.09254, 32.37535 ] } }, +{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1--4----", "LOCODE": "LYTIP", "Name": "Tripoli", "NameWoDiac": "Tripoli", "Status": "AI", "outflows": 281045.0 }, "geometry": { "type": "Point", "coordinates": [ 13.18733, 32.88743 ] } }, +{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "1--4----", "LOCODE": "MAAGA", "Name": "Agadir", "NameWoDiac": "Agadir", "Status": "AI", "outflows": 593660.57139000006 }, "geometry": { "type": "Point", "coordinates": [ -9.59815, 30.42018 ] } }, +{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "1-------", "LOCODE": "MANDR", "Name": "Nador", "NameWoDiac": "Nador", "Status": "AI", "outflows": 45500.0 }, "geometry": { "type": "Point", "coordinates": [ -2.93352, 35.16813 ] } }, +{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "123-----", "LOCODE": "MAPTM", "Name": "Tanger Med", "NameWoDiac": "Tanger Med", "Status": "AI", "outflows": 29213268.307420008 }, "geometry": { "type": "Point", "coordinates": [ -5.56323, 35.82674 ] } }, +{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--4----", "LOCODE": "MGDIE", "Name": "Antsiranana", "NameWoDiac": "Antsiranana", "Status": "AI", "outflows": 113468.0 }, "geometry": { "type": "Point", "coordinates": [ 49.29188, -12.31732 ] } }, +{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--4----", "LOCODE": "MGMJN", "Name": "Majunga (Mahajanga)", "NameWoDiac": "Majunga (Mahajanga)", "Status": "AI", "outflows": 125324.0 }, "geometry": { "type": "Point", "coordinates": [ 46.31667, -15.71667 ] } }, +{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--45---", "LOCODE": "MGTMM", "Name": "Tamatave (Toamasina)", "NameWoDiac": "Tamatave (Toamasina)", "Status": "AI", "outflows": 396084.0 }, "geometry": { "type": "Point", "coordinates": [ 49.40234, -18.1492 ] } }, +{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--4----", "LOCODE": "MGTLE", "Name": "Tulear (Toliara)", "NameWoDiac": "Tulear (Toliara)", "Status": "AI", "outflows": 19864.0 }, "geometry": { "type": "Point", "coordinates": [ 43.66667, -23.35 ] } }, +{ "type": "Feature", "properties": { "Country": "Marshall Islands", "Function": "---4----", "LOCODE": "MHKWA", "Name": "Kwajalein", "NameWoDiac": "Kwajalein", "Status": "AI", "outflows": 48316.66667 }, "geometry": { "type": "Point", "coordinates": [ 167.73919, 8.77479 ] } }, +{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "1--45---", "LOCODE": "MMRGN", "Name": "Yangon", "NameWoDiac": "Yangon", "Status": "AI", "outflows": 937558.00004999992 }, "geometry": { "type": "Point", "coordinates": [ 96.15611, 16.80528 ] } }, +{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "1--45---", "LOCODE": "MMRGN", "Name": "Yangon", "NameWoDiac": "Yangon", "Status": "AI", "outflows": 937558.00004999992 }, "geometry": { "type": "Point", "coordinates": [ 96.15611, 16.80528 ] } }, +{ "type": "Feature", "properties": { "Country": "Martinique", "Function": "1-345---", "LOCODE": "MQFDF", "Name": "Fort-de-France", "NameWoDiac": "Fort-de-France", "Status": "AI", "outflows": 1924423.5832689998 }, "geometry": { "type": "Point", "coordinates": [ -61.07418, 14.60365 ] } }, +{ "type": "Feature", "properties": { "Country": "Mauritania", "Function": "1--4----", "LOCODE": "MRNDB", "Name": "Nouadhibou", "NameWoDiac": "Nouadhibou", "Status": "AI", "outflows": 197029.5 }, "geometry": { "type": "Point", "coordinates": [ -17.03842, 20.94188 ] } }, +{ "type": "Feature", "properties": { "Country": "Mauritania", "Function": "1--45---", "LOCODE": "MRNKC", "Name": "Nouakchott", "NameWoDiac": "Nouakchott", "Status": "AI", "outflows": 334524.0 }, "geometry": { "type": "Point", "coordinates": [ -15.9785, 18.08581 ] } }, +{ "type": "Feature", "properties": { "Country": "Montserrat", "Function": "1---5---", "LOCODE": "MSPLY", "Name": "Plymouth", "NameWoDiac": "Plymouth", "Status": "RQ", "outflows": 230958.0 }, "geometry": { "type": "Point", "coordinates": [ -62.21292, 16.70555 ] } }, +{ "type": "Feature", "properties": { "Country": "Mauritius", "Function": "1--4----", "LOCODE": "MUPLU", "Name": "Port Louis", "NameWoDiac": "Port Louis", "Status": "QQ", "outflows": 7415942.3854999971 }, "geometry": { "type": "Point", "coordinates": [ 57.49889, -20.16194 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1-------", "LOCODE": "MYBTU", "Name": "Bintulu, Sarawak", "NameWoDiac": "Bintulu, Sarawak", "Status": "AI", "outflows": 670234.5 }, "geometry": { "type": "Point", "coordinates": [ 113.03333, 3.16667 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1-345---", "LOCODE": "MYBKI", "Name": "Kota Kinabalu, Sabah", "NameWoDiac": "Kota Kinabalu, Sabah", "Status": "AI", "outflows": 710049.1667 }, "geometry": { "type": "Point", "coordinates": [ 116.0724, 5.9749 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--45---", "LOCODE": "MYKCH", "Name": "Kuching, Sarawak", "NameWoDiac": "Kuching, Sarawak", "Status": "AI", "outflows": 276603.6 }, "geometry": { "type": "Point", "coordinates": [ 110.33333, 1.55 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYLBU", "Name": "Labuan, Sabah", "NameWoDiac": "Labuan, Sabah", "Status": "AI", "outflows": 68835.0 }, "geometry": { "type": "Point", "coordinates": [ 115.26924, 5.28883 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYMKZ", "Name": "Malacca", "NameWoDiac": "Malacca", "Status": "AI", "outflows": 2862.0 }, "geometry": { "type": "Point", "coordinates": [ 102.2405, 2.196 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1-------", "LOCODE": "MYPGU", "Name": "Pasir Gudang, Johor", "NameWoDiac": "Pasir Gudang, Johor", "Status": "QQ", "outflows": 3893274.6667500003 }, "geometry": { "type": "Point", "coordinates": [ 103.878, 1.4726 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYSDK", "Name": "Sandakan, Sabah", "NameWoDiac": "Sandakan, Sabah", "Status": "AI", "outflows": 18720.0 }, "geometry": { "type": "Point", "coordinates": [ 118.1179, 5.8402 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYSBW", "Name": "Sibu, Sarawak", "NameWoDiac": "Sibu, Sarawak", "Status": "AI", "outflows": 2250.0 }, "geometry": { "type": "Point", "coordinates": [ 111.81667, 2.3 ] } }, +{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYTWU", "Name": "Tawau, Sabah", "NameWoDiac": "Tawau, Sabah", "Status": "AI", "outflows": 241236.6667 }, "geometry": { "type": "Point", "coordinates": [ 117.89115, 4.24482 ] } }, +{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--45---", "LOCODE": "MZBEW", "Name": "Beira", "NameWoDiac": "Beira", "Status": "AI", "outflows": 862537.00003 }, "geometry": { "type": "Point", "coordinates": [ 34.83889, -19.84361 ] } }, +{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--45---", "LOCODE": "MZMPM", "Name": "Maputo", "NameWoDiac": "Maputo", "Status": "AI", "outflows": 871116.20004999987 }, "geometry": { "type": "Point", "coordinates": [ 32.58322, -25.96553 ] } }, +{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--4----", "LOCODE": "MZMNC", "Name": "Nacala", "NameWoDiac": "Nacala", "Status": "AI", "outflows": 668056.99998000008 }, "geometry": { "type": "Point", "coordinates": [ 40.68538, -14.56257 ] } }, +{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--4----", "LOCODE": "MZUEL", "Name": "Quelimane", "NameWoDiac": "Quelimane", "Status": "AI", "outflows": 8034.0 }, "geometry": { "type": "Point", "coordinates": [ 36.88833, -17.87861 ] } }, +{ "type": "Feature", "properties": { "Country": "Namibia", "Function": "1-------", "LOCODE": "NAWVB", "Name": "Walvis Bay", "NameWoDiac": "Walvis Bay", "Status": "QQ", "outflows": 2144542.8666100004 }, "geometry": { "type": "Point", "coordinates": [ 14.50528, -22.9575 ] } }, +{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1-------", "LOCODE": "NGAPP", "Name": "Apapa", "NameWoDiac": "Apapa", "Status": "QQ", "outflows": 1959193.7340199992 }, "geometry": { "type": "Point", "coordinates": [ 3.35901, 6.4488 ] } }, +{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1--4----", "LOCODE": "NGCBQ", "Name": "Calabar", "NameWoDiac": "Calabar", "Status": "AI", "outflows": 7150.0 }, "geometry": { "type": "Point", "coordinates": [ 8.32695, 4.95893 ] } }, +{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1--45---", "LOCODE": "NGLOS", "Name": "Lagos", "NameWoDiac": "Lagos", "Status": "AI", "outflows": 1767326.6668199997 }, "geometry": { "type": "Point", "coordinates": [ 3.39467, 6.45407 ] } }, +{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1--4----", "LOCODE": "NGPHC", "Name": "Port Harcourt", "NameWoDiac": "Port Harcourt", "Status": "AI", "outflows": 46634.9 }, "geometry": { "type": "Point", "coordinates": [ 7.0134, 4.77742 ] } }, +{ "type": "Feature", "properties": { "Country": "Nicaragua", "Function": "1---5---", "LOCODE": "NICIO", "Name": "Corinto", "NameWoDiac": "Corinto", "Status": "AI", "outflows": 510767.4 }, "geometry": { "type": "Point", "coordinates": [ -87.17304, 12.4825 ] } }, +{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-------", "LOCODE": "NOGJM", "Name": "Gjemnes", "NameWoDiac": "Gjemnes", "Status": "AI", "outflows": 135486.0 }, "geometry": { "type": "Point", "coordinates": [ 8.08604, 62.89225 ] } }, +{ "type": "Feature", "properties": { "Country": "Oman", "Function": "1--4----", "LOCODE": "OMSLL", "Name": "Salalah", "NameWoDiac": "Salalah", "Status": "AI", "outflows": 20488113.65606999 }, "geometry": { "type": "Point", "coordinates": [ 54.09237, 17.01505 ] } }, +{ "type": "Feature", "properties": { "Country": "Oman", "Function": "1-------", "LOCODE": "OMSOH", "Name": "Sohar", "NameWoDiac": "Sohar", "Status": "QQ", "outflows": 5253518.9085 }, "geometry": { "type": "Point", "coordinates": [ 56.70937, 24.34745 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PAPAM", "Name": "Almirante", "NameWoDiac": "Almirante", "Status": "AI", "outflows": 265850.0 }, "geometry": { "type": "Point", "coordinates": [ -82.4018, 9.30091 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PABLB", "Name": "Balboa", "NameWoDiac": "Balboa", "Status": "AI", "outflows": 13017890.895410001 }, "geometry": { "type": "Point", "coordinates": [ -79.56672, 8.94814 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "--3-----", "LOCODE": "PACSO", "Name": "Coco Solo", "NameWoDiac": "Coco Solo", "Status": "RQ", "outflows": 340795.0 }, "geometry": { "type": "Point", "coordinates": [ -79.88168, 9.37091 ] } }, +{ "type": "Feature", "properties": { "Country": "Panama", "Function": "123-----", "LOCODE": "PAMIT", "Name": "Manzanillo", "NameWoDiac": "Manzanillo", "Status": "AI", "outflows": 13509667.606659999 }, "geometry": { "type": "Point", "coordinates": [ -81.16667, 7.53667 ] } }, +{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1-------", "LOCODE": "PECLL", "Name": "Callao", "NameWoDiac": "Callao", "Status": "AI", "outflows": 15247664.791890001 }, "geometry": { "type": "Point", "coordinates": [ -77.11814, -12.05659 ] } }, +{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1--4----", "LOCODE": "PEILQ", "Name": "Ilo", "NameWoDiac": "Ilo", "Status": "AI", "outflows": 83616.0 }, "geometry": { "type": "Point", "coordinates": [ -71.34108, -17.63185 ] } }, +{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1--4----", "LOCODE": "PEIQT", "Name": "Iquitos", "NameWoDiac": "Iquitos", "Status": "AI", "outflows": 9675.0 }, "geometry": { "type": "Point", "coordinates": [ -73.25383, -3.74912 ] } }, +{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1-------", "LOCODE": "PEMRI", "Name": "Matarani", "NameWoDiac": "Matarani", "Status": "AI", "outflows": 98962.5 }, "geometry": { "type": "Point", "coordinates": [ -72.10563, -16.99639 ] } }, +{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1-------", "LOCODE": "PEPAI", "Name": "Paita", "NameWoDiac": "Paita", "Status": "AI", "outflows": 1763103.4120800004 }, "geometry": { "type": "Point", "coordinates": [ -81.11444, -5.08917 ] } }, +{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1--4----", "LOCODE": "PEPIO", "Name": "Pisco", "NameWoDiac": "Pisco", "Status": "AI", "outflows": 121628.0 }, "geometry": { "type": "Point", "coordinates": [ -76.20538, -13.71029 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGGUR", "Name": "Alotau", "NameWoDiac": "Alotau", "Status": "AI", "outflows": 15808.0 }, "geometry": { "type": "Point", "coordinates": [ 150.45742, -10.31509 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGBUA", "Name": "Buka", "NameWoDiac": "Buka", "Status": "AI", "outflows": 15808.0 }, "geometry": { "type": "Point", "coordinates": [ 154.67098, -5.43261 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1-------", "LOCODE": "PGKIM", "Name": "Kimbe", "NameWoDiac": "Kimbe", "Status": "QQ", "outflows": 99364.0 }, "geometry": { "type": "Point", "coordinates": [ 150.13766, -5.55085 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGLAE", "Name": "Lae", "NameWoDiac": "Lae", "Status": "AI", "outflows": 836183.91665300005 }, "geometry": { "type": "Point", "coordinates": [ 146.99611, -6.72333 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGPOM", "Name": "Port Moresby", "NameWoDiac": "Port Moresby", "Status": "AI", "outflows": 402247.08331199997 }, "geometry": { "type": "Point", "coordinates": [ 147.15089, -9.47723 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGRAB", "Name": "Rabaul", "NameWoDiac": "Rabaul", "Status": "AI", "outflows": 115172.0 }, "geometry": { "type": "Point", "coordinates": [ 152.16297, -4.20037 ] } }, +{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGWWK", "Name": "Wewak", "NameWoDiac": "Wewak", "Status": "AI", "outflows": 43795.0 }, "geometry": { "type": "Point", "coordinates": [ 143.63229, -3.54964 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHBCD", "Name": "Bacolod, Negros", "NameWoDiac": "Bacolod, Negros", "Status": "AI", "outflows": 18806.0 }, "geometry": { "type": "Point", "coordinates": [ 122.95, 10.66667 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHCGY", "Name": "Cagayan de Oro, Mindanao", "NameWoDiac": "Cagayan de Oro, Mindanao", "Status": "AI", "outflows": 1437089.1667599997 }, "geometry": { "type": "Point", "coordinates": [ 124.64722, 8.48222 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHCEB", "Name": "Cebu", "NameWoDiac": "Cebu", "Status": "AI", "outflows": 1378464.0 }, "geometry": { "type": "Point", "coordinates": [ 123.89071, 10.31672 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHCBO", "Name": "Cotabato, Mindanao", "NameWoDiac": "Cotabato, Mindanao", "Status": "AI", "outflows": 29328.0 }, "geometry": { "type": "Point", "coordinates": [ 124.24639, 7.22361 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHDGT", "Name": "Dumaguete", "NameWoDiac": "Dumaguete", "Status": "AI", "outflows": 27546.0 }, "geometry": { "type": "Point", "coordinates": [ 123.30261, 9.30722 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--45---", "LOCODE": "PHMNL", "Name": "Manila", "NameWoDiac": "Manila", "Status": "AI", "outflows": 7135131.1431800006 }, "geometry": { "type": "Point", "coordinates": [ 120.9822, 14.6042 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHOZC", "Name": "Ozamis, Mindanao", "NameWoDiac": "Ozamis, Mindanao", "Status": "AI", "outflows": 10976.0 }, "geometry": { "type": "Point", "coordinates": [ 123.8405, 8.1481 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-3-----", "LOCODE": "PHPLC", "Name": "Polloc", "NameWoDiac": "Polloc", "Status": "RQ", "outflows": 11193.0 }, "geometry": { "type": "Point", "coordinates": [ 124.22088, 7.3534 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHPPS", "Name": "Puerto Princesa, Palawan", "NameWoDiac": "Puerto Princesa, Palawan", "Status": "AI", "outflows": 9100.0 }, "geometry": { "type": "Point", "coordinates": [ 118.73528, 9.73917 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHSFS", "Name": "Subic Bay", "NameWoDiac": "Subic Bay", "Status": "AI", "outflows": 1621178.0 }, "geometry": { "type": "Point", "coordinates": [ 120.27987, 14.78899 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHTAG", "Name": "Tagbilaran, Bohol", "NameWoDiac": "Tagbilaran, Bohol", "Status": "AI", "outflows": 4320.0 }, "geometry": { "type": "Point", "coordinates": [ 123.85219, 9.65556 ] } }, +{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHZAM", "Name": "Zamboanga", "NameWoDiac": "Zamboanga", "Status": "AI", "outflows": 67509.0 }, "geometry": { "type": "Point", "coordinates": [ 122.07389, 6.91028 ] } }, +{ "type": "Feature", "properties": { "Country": "Pakistan", "Function": "1-34----", "LOCODE": "PKGWD", "Name": "Gwadar", "NameWoDiac": "Gwadar", "Status": "AI", "outflows": 145535.0 }, "geometry": { "type": "Point", "coordinates": [ 62.32541, 25.12163 ] } }, +{ "type": "Feature", "properties": { "Country": "Pakistan", "Function": "12345---", "LOCODE": "PKKHI", "Name": "Karachi", "NameWoDiac": "Karachi", "Status": "AI", "outflows": 11738106.441340001 }, "geometry": { "type": "Point", "coordinates": [ 67.0104, 24.8608 ] } }, +{ "type": "Feature", "properties": { "Country": "Poland", "Function": "1--4----", "LOCODE": "PLGDN", "Name": "Gdansk", "NameWoDiac": "Gdansk", "Status": "AI", "outflows": 6373121.0499060033 }, "geometry": { "type": "Point", "coordinates": [ 18.64912, 54.35227 ] } }, +{ "type": "Feature", "properties": { "Country": "Poland", "Function": "1--45---", "LOCODE": "PLSZZ", "Name": "Szczecin", "NameWoDiac": "Szczecin", "Status": "AI", "outflows": 101530.0 }, "geometry": { "type": "Point", "coordinates": [ 14.55302, 53.42894 ] } }, +{ "type": "Feature", "properties": { "Country": "Palau", "Function": "1--4----", "LOCODE": "PWROR", "Name": "Koror", "NameWoDiac": "Koror", "Status": "AI", "outflows": 30420.0 }, "geometry": { "type": "Point", "coordinates": [ 134.47326, 7.33978 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUARH", "Name": "Arkhangelsk", "NameWoDiac": "Arkhangelsk", "Status": "AI", "outflows": 390.0 }, "geometry": { "type": "Point", "coordinates": [ 40.5433, 64.5401 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUDUD", "Name": "Dudinka", "NameWoDiac": "Dudinka", "Status": "QQ", "outflows": 16796.0 }, "geometry": { "type": "Point", "coordinates": [ 86.17778, 69.40583 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUKGD", "Name": "Kaliningrad", "NameWoDiac": "Kaliningrad", "Status": "AI", "outflows": 133061.5 }, "geometry": { "type": "Point", "coordinates": [ 20.51095, 54.70649 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUKOR", "Name": "Korsakov", "NameWoDiac": "Korsakov", "Status": "QQ", "outflows": 19067.0 }, "geometry": { "type": "Point", "coordinates": [ 142.77722, 46.6342 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "---4----", "LOCODE": "RUGDX", "Name": "Magadan", "NameWoDiac": "Magadan", "Status": "AI", "outflows": 27664.0 }, "geometry": { "type": "Point", "coordinates": [ 150.80347, 59.5638 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUPKC", "Name": "Petropavlovsk-Kamchatskiy", "NameWoDiac": "Petropavlovsk-Kamchatskiy", "Status": "AI", "outflows": 10478.0 }, "geometry": { "type": "Point", "coordinates": [ 158.65076, 53.04444 ] } }, +{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUVVO", "Name": "Vladivostok", "NameWoDiac": "Vladivostok", "Status": "AI", "outflows": 1273681.4999099998 }, "geometry": { "type": "Point", "coordinates": [ 131.87353, 43.10562 ] } }, +{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1-------", "LOCODE": "SAJUB", "Name": "Jubail", "NameWoDiac": "Jubail", "Status": "QQ", "outflows": 6234394.5950499978 }, "geometry": { "type": "Point", "coordinates": [ 49.62251, 27.0174 ] } }, +{ "type": "Feature", "properties": { "Country": "Seychelles", "Function": "1-------", "LOCODE": "SCPOV", "Name": "Port Victoria", "NameWoDiac": "Port Victoria", "Status": "QQ", "outflows": 611771.76191000012 }, "geometry": { "type": "Point", "coordinates": [ 55.45501, -4.62001 ] } }, +{ "type": "Feature", "properties": { "Country": "Sudan", "Function": "1--45---", "LOCODE": "SDPZU", "Name": "Port Sudan", "NameWoDiac": "Port Sudan", "Status": "AI", "outflows": 308535.0 }, "geometry": { "type": "Point", "coordinates": [ 37.21644, 19.61745 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "12-4----", "LOCODE": "SEHEL", "Name": "Helsingborg", "NameWoDiac": "Helsingborg", "Status": "AI", "outflows": 634088.0 }, "geometry": { "type": "Point", "coordinates": [ 12.69437, 56.04673 ] } }, +{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEVAG", "Name": "Varberg", "NameWoDiac": "Varberg", "Status": "AA", "outflows": 82628.0 }, "geometry": { "type": "Point", "coordinates": [ 12.25078, 57.10557 ] } }, +{ "type": "Feature", "properties": { "Country": "Singapore", "Function": "1--45---", "LOCODE": "SGSIN", "Name": "Singapore", "NameWoDiac": "Singapore", "Status": "AI", "outflows": 126673817.40886995 }, "geometry": { "type": "Point", "coordinates": [ 103.85007, 1.28967 ] } }, +{ "type": "Feature", "properties": { "Country": "Slovenia", "Function": "1-------", "LOCODE": "SIKOP", "Name": "Koper", "NameWoDiac": "Koper", "Status": "RL", "outflows": 4814941.1666899994 }, "geometry": { "type": "Point", "coordinates": [ 13.72944, 45.54694 ] } }, +{ "type": "Feature", "properties": { "Country": "Sierra Leone", "Function": "1--45---", "LOCODE": "SLFNA", "Name": "Freetown", "NameWoDiac": "Freetown", "Status": "AI", "outflows": 292305.0 }, "geometry": { "type": "Point", "coordinates": [ -13.2356, 8.48714 ] } }, +{ "type": "Feature", "properties": { "Country": "Senegal", "Function": "1--45---", "LOCODE": "SNDKR", "Name": "Dakar", "NameWoDiac": "Dakar", "Status": "AI", "outflows": 2417263.262 }, "geometry": { "type": "Point", "coordinates": [ -17.44406, 14.6937 ] } }, +{ "type": "Feature", "properties": { "Country": "Somalia", "Function": "1--4----", "LOCODE": "SOBBO", "Name": "Berbera", "NameWoDiac": "Berbera", "Status": "AI", "outflows": 215094.5 }, "geometry": { "type": "Point", "coordinates": [ 45.01432, 10.43959 ] } }, +{ "type": "Feature", "properties": { "Country": "Somalia", "Function": "1--4----", "LOCODE": "SOKMU", "Name": "Kismayu", "NameWoDiac": "Kismayu", "Status": "AI", "outflows": 188773.0 }, "geometry": { "type": "Point", "coordinates": [ 42.54536, -0.35817 ] } }, +{ "type": "Feature", "properties": { "Country": "Somalia", "Function": "1--45---", "LOCODE": "SOMGQ", "Name": "Mogadishu", "NameWoDiac": "Mogadishu", "Status": "AI", "outflows": 437501.99997999996 }, "geometry": { "type": "Point", "coordinates": [ 45.34375, 2.03711 ] } }, +{ "type": "Feature", "properties": { "Country": "Suriname", "Function": "1--45---", "LOCODE": "SRPBM", "Name": "Paramaribo", "NameWoDiac": "Paramaribo", "Status": "AI", "outflows": 538931.33332199999 }, "geometry": { "type": "Point", "coordinates": [ -55.16682, 5.86638 ] } }, +{ "type": "Feature", "properties": { "Country": "Suriname", "Function": "1--45---", "LOCODE": "SRPBM", "Name": "Paramaribo", "NameWoDiac": "Paramaribo", "Status": "AI", "outflows": 538931.33332199999 }, "geometry": { "type": "Point", "coordinates": [ -55.16682, 5.86638 ] } }, +{ "type": "Feature", "properties": { "Country": "El Salvador", "Function": "1-3-----", "LOCODE": "SVAQJ", "Name": "Acajutla", "NameWoDiac": "Acajutla", "Status": "AI", "outflows": 495947.4 }, "geometry": { "type": "Point", "coordinates": [ -89.8275, 13.59278 ] } }, +{ "type": "Feature", "properties": { "Country": "El Salvador", "Function": "1--45---", "LOCODE": "SVSAL", "Name": "San Salvador", "NameWoDiac": "San Salvador", "Status": "AI", "outflows": 388752.0 }, "geometry": { "type": "Point", "coordinates": [ -89.18718, 13.68935 ] } }, +{ "type": "Feature", "properties": { "Country": "Togo", "Function": "1--45---", "LOCODE": "TGLFW", "Name": "Lome", "NameWoDiac": "Lome", "Status": "AI", "outflows": 6445382.4134400021 }, "geometry": { "type": "Point", "coordinates": [ 1.22154, 6.12874 ] } }, +{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "1-------", "LOCODE": "THSRI", "Name": "Sriracha", "NameWoDiac": "Sriracha", "Status": "QQ", "outflows": 58522.5 }, "geometry": { "type": "Point", "coordinates": [ 100.93111, 13.17372 ] } }, +{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "1234----", "LOCODE": "TNBIZ", "Name": "Bizerte", "NameWoDiac": "Bizerte", "Status": "QQ", "outflows": 106117.5 }, "geometry": { "type": "Point", "coordinates": [ 9.87391, 37.27442 ] } }, +{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "1234----", "LOCODE": "TNSFA", "Name": "Sfax", "NameWoDiac": "Sfax", "Status": "AI", "outflows": 72212.33334 }, "geometry": { "type": "Point", "coordinates": [ 10.76028, 34.74056 ] } }, +{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "1234----", "LOCODE": "TNSUS", "Name": "Sousse", "NameWoDiac": "Sousse", "Status": "QQ", "outflows": 43545.0 }, "geometry": { "type": "Point", "coordinates": [ 10.63699, 35.82539 ] } }, +{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "12345---", "LOCODE": "TNTUN", "Name": "Tunis", "NameWoDiac": "Tunis", "Status": "AI", "outflows": 59748.0 }, "geometry": { "type": "Point", "coordinates": [ 10.16579, 36.81897 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRALI", "Name": "Aliaga", "NameWoDiac": "Aliaga", "Status": "RL", "outflows": 8740753.932889998 }, "geometry": { "type": "Point", "coordinates": [ 26.97203, 38.79975 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-3-----", "LOCODE": "TRDRC", "Name": "Derince", "NameWoDiac": "Derince", "Status": "QQ", "outflows": 303927.0 }, "geometry": { "type": "Point", "coordinates": [ 29.81472, 40.75694 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-3-----", "LOCODE": "TRHAY", "Name": "Haydarpasa", "NameWoDiac": "Haydarpasa", "Status": "QQ", "outflows": 220592.66669000004 }, "geometry": { "type": "Point", "coordinates": [ 29.02459, 40.99596 ] } }, +{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRYAR", "Name": "Yarimca", "NameWoDiac": "Yarimca", "Status": "QQ", "outflows": 895813.99998000008 }, "geometry": { "type": "Point", "coordinates": [ 31.14194, 39.08361 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USANC", "Name": "Anchorage", "NameWoDiac": "Anchorage", "Status": "AI", "outflows": 61671.99999 }, "geometry": { "type": "Point", "coordinates": [ -149.90028, 61.21806 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USBPT", "Name": "Beaumont", "NameWoDiac": "Beaumont", "Status": "AI", "outflows": 34041.0 }, "geometry": { "type": "Point", "coordinates": [ -94.10185, 30.08605 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USBOS", "Name": "Boston", "NameWoDiac": "Boston", "Status": "AI", "outflows": 1565893.3335999998 }, "geometry": { "type": "Point", "coordinates": [ -71.05977, 42.35843 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3-----", "LOCODE": "USBCK", "Name": "Brunswick", "NameWoDiac": "Brunswick", "Status": "RL", "outflows": 48681.0 }, "geometry": { "type": "Point", "coordinates": [ -74.45182, 40.48622 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3-----", "LOCODE": "USCAT", "Name": "Camden", "NameWoDiac": "Camden", "Status": "RQ", "outflows": 176498.0 }, "geometry": { "type": "Point", "coordinates": [ -75.11962, 39.92595 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USCHS", "Name": "Charleston", "NameWoDiac": "Charleston", "Status": "AI", "outflows": 23192728.69687001 }, "geometry": { "type": "Point", "coordinates": [ -79.924426675273111, 32.785017342562952 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3-----", "LOCODE": "USCAV", "Name": "Cleveland", "NameWoDiac": "Cleveland", "Status": "RQ", "outflows": 1974.0 }, "geometry": { "type": "Point", "coordinates": [ -81.69541, 41.4995 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USCRP", "Name": "Corpus Christi", "NameWoDiac": "Corpus Christi", "Status": "AI", "outflows": 53712.0 }, "geometry": { "type": "Point", "coordinates": [ -97.39638, 27.80058 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USDUT", "Name": "Dutch Harbor", "NameWoDiac": "Dutch Harbor", "Status": "AI", "outflows": 378795.99998999998 }, "geometry": { "type": "Point", "coordinates": [ -166.5422, 53.8898 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USPAE", "Name": "Everett", "NameWoDiac": "Everett", "Status": "AI", "outflows": 152295.00003000002 }, "geometry": { "type": "Point", "coordinates": [ -122.20208, 47.97898 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "---4----", "LOCODE": "USFEP", "Name": "Freeport", "NameWoDiac": "Freeport", "Status": "AI", "outflows": 751787.11118999997 }, "geometry": { "type": "Point", "coordinates": [ -70.10311, 43.85702 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USGLS", "Name": "Galveston", "NameWoDiac": "Galveston", "Status": "AI", "outflows": 47326.5 }, "geometry": { "type": "Point", "coordinates": [ -94.7977, 29.30135 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USGLC", "Name": "Gloucester City", "NameWoDiac": "Gloucester City", "Status": "RN", "outflows": 59686.5 }, "geometry": { "type": "Point", "coordinates": [ -70.66313, 42.61405 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "---4----", "LOCODE": "USIJX", "Name": "Jacksonville", "NameWoDiac": "Jacksonville", "Status": "AI", "outflows": 5087986.3044199999 }, "geometry": { "type": "Point", "coordinates": [ -81.65565, 30.33218 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "---4----", "LOCODE": "USADQ", "Name": "Kodiak", "NameWoDiac": "Kodiak", "Status": "AI", "outflows": 61671.99999 }, "geometry": { "type": "Point", "coordinates": [ -152.40533, 57.78852 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USLAX", "Name": "Los Angeles", "NameWoDiac": "Los Angeles", "Status": "AI", "outflows": 12755714.048839999 }, "geometry": { "type": "Point", "coordinates": [ -118.24368, 34.05223 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USMIA", "Name": "Miami", "NameWoDiac": "Miami", "Status": "AI", "outflows": 6651073.40288 }, "geometry": { "type": "Point", "coordinates": [ -80.19366, 25.77427 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USMOB", "Name": "Mobile", "NameWoDiac": "Mobile", "Status": "AI", "outflows": 3378854.4003 }, "geometry": { "type": "Point", "coordinates": [ -88.04305, 30.69436 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USMRH", "Name": "Morehead City", "NameWoDiac": "Morehead City", "Status": "RN", "outflows": 44898.75 }, "geometry": { "type": "Point", "coordinates": [ -76.72604, 34.72294 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "12345---", "LOCODE": "USMSY", "Name": "New Orleans", "NameWoDiac": "New Orleans", "Status": "AI", "outflows": 8818359.6138159968 }, "geometry": { "type": "Point", "coordinates": [ -90.07507, 29.95465 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPFN", "Name": "Panama City", "NameWoDiac": "Panama City", "Status": "AI", "outflows": 82722.0 }, "geometry": { "type": "Point", "coordinates": [ -85.65983, 30.15946 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPWM", "Name": "Portland", "NameWoDiac": "Portland", "Status": "AI", "outflows": 27248.000001 }, "geometry": { "type": "Point", "coordinates": [ -122.67621, 45.52345 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPDX", "Name": "Portland", "NameWoDiac": "Portland", "Status": "AI", "outflows": 336570.0 }, "geometry": { "type": "Point", "coordinates": [ -122.67621, 45.52345 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USSAV", "Name": "Savannah", "NameWoDiac": "Savannah", "Status": "AI", "outflows": 26558703.755599998 }, "geometry": { "type": "Point", "coordinates": [ -81.09983, 32.08354 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USSEA", "Name": "Seattle", "NameWoDiac": "Seattle", "Status": "AI", "outflows": 10283805.920580002 }, "geometry": { "type": "Point", "coordinates": [ -122.33207, 47.60621 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USTIW", "Name": "Tacoma", "NameWoDiac": "Tacoma", "Status": "AI", "outflows": 4139226.6189899999 }, "geometry": { "type": "Point", "coordinates": [ -122.44429, 47.25288 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USTPA", "Name": "Tampa", "NameWoDiac": "Tampa", "Status": "AI", "outflows": 1911998.4003 }, "geometry": { "type": "Point", "coordinates": [ -82.45843, 27.94752 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USVAN", "Name": "Vancouver", "NameWoDiac": "Vancouver", "Status": "RN", "outflows": 65700.0 }, "geometry": { "type": "Point", "coordinates": [ -122.66149, 45.63873 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPBI", "Name": "West Palm Beach", "NameWoDiac": "West Palm Beach", "Status": "AI", "outflows": 222144.0 }, "geometry": { "type": "Point", "coordinates": [ -80.05337, 26.71534 ] } }, +{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USILG", "Name": "Wilmington", "NameWoDiac": "Wilmington", "Status": "AI", "outflows": 290589.0 }, "geometry": { "type": "Point", "coordinates": [ -75.54659, 39.74595 ] } }, +{ "type": "Feature", "properties": { "Country": "Uruguay", "Function": "1--45---", "LOCODE": "UYMVD", "Name": "Montevideo", "NameWoDiac": "Montevideo", "Status": "AF", "outflows": 11543641.215 }, "geometry": { "type": "Point", "coordinates": [ -56.18816, -34.90328 ] } }, +{ "type": "Feature", "properties": { "Country": "Virgin Islands, U.S.", "Function": "1-------", "LOCODE": "VICHA", "Name": "Charlotte Amalie, Saint Thomas", "NameWoDiac": "Charlotte Amalie, Saint Thomas", "Status": "AI", "outflows": 307918.0 }, "geometry": { "type": "Point", "coordinates": [ -64.9307, 18.3419 ] } }, +{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-------", "LOCODE": "VNHPH", "Name": "Haiphong", "NameWoDiac": "Haiphong", "Status": "AI", "outflows": 10072807.932540001 }, "geometry": { "type": "Point", "coordinates": [ 106.68345, 20.86481 ] } }, +{ "type": "Feature", "properties": { "Country": "Vanuatu", "Function": "1--45---", "LOCODE": "VUVLI", "Name": "Port Vila", "NameWoDiac": "Port Vila", "Status": "AI", "outflows": 453739.0 }, "geometry": { "type": "Point", "coordinates": [ 168.31366, -17.73648 ] } }, +{ "type": "Feature", "properties": { "Country": "Vanuatu", "Function": "1-------", "LOCODE": "VUSAN", "Name": "Santo", "NameWoDiac": "Santo", "Status": "RQ", "outflows": 206498.5 }, "geometry": { "type": "Point", "coordinates": [ 167.16235, -15.51989 ] } }, +{ "type": "Feature", "properties": { "Country": "Samoa", "Function": "1--45---", "LOCODE": "WSAPW", "Name": "Apia", "NameWoDiac": "Apia", "Status": "AI", "outflows": 339021.5 }, "geometry": { "type": "Point", "coordinates": [ -171.76666, -13.83333 ] } }, +{ "type": "Feature", "properties": { "Country": "Yemen", "Function": "1--45---", "LOCODE": "YEADE", "Name": "Aden", "NameWoDiac": "Aden", "Status": "AI", "outflows": 126082.5 }, "geometry": { "type": "Point", "coordinates": [ 45.03667, 12.77944 ] } }, +{ "type": "Feature", "properties": { "Country": "Yemen", "Function": "1--4----", "LOCODE": "YEMKX", "Name": "Mukalla", "NameWoDiac": "Mukalla", "Status": "AI", "outflows": 30745.0 }, "geometry": { "type": "Point", "coordinates": [ 49.12424, 14.54248 ] } }, +{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "1234----", "LOCODE": "ZAELS", "Name": "East London", "NameWoDiac": "East London", "Status": "AF", "outflows": 15600.0 }, "geometry": { "type": "Point", "coordinates": [ 27.91162, -33.01529 ] } }, +{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "1--45---", "LOCODE": "ZAPLZ", "Name": "Port Elizabeth", "NameWoDiac": "Port Elizabeth", "Status": "AF", "outflows": 2557154.4621100002 }, "geometry": { "type": "Point", "coordinates": [ 25.61494, -33.96109 ] } }, +{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "1--4----", "LOCODE": "ZARCB", "Name": "Richards Bay", "NameWoDiac": "Richards Bay", "Status": "AF", "outflows": 164538.86664000002 }, "geometry": { "type": "Point", "coordinates": [ 32.03768, -28.78301 ] } } +] +} diff --git a/doc/installation.rst b/doc/installation.rst index f5cb7c7a..029f06ee 100644 --- a/doc/installation.rst +++ b/doc/installation.rst @@ -25,15 +25,6 @@ then download and unpack all the PyPSA-Eur data files by running the following s projects/pypsa-eur % snakemake -j 1 retrieve_databundle -Clone technology-data repository -================================ - -Next install the technology assumptions database `technology-data `_ by creating a parallel directory: - -.. code:: bash - - projects % git clone https://github.com/PyPSA/technology-data.git - Clone PyPSA-Eur-Sec repository ============================== diff --git a/doc/myopic.rst b/doc/myopic.rst index af67fac7..bd51331d 100644 --- a/doc/myopic.rst +++ b/doc/myopic.rst @@ -81,12 +81,12 @@ Conventional carriers indicate carriers used in the existing conventional techno Options ============= The total carbon budget for the entire transition path can be indicated in the `sector_opts `_ in ``config.yaml``. The carbon budget can be split among the ``planning_horizons`` following an exponential or beta decay. -E.g. ``'cb40ex0'`` splits a carbon budget equal to 40 GtCO_2 following an exponential decay whose initial linear growth rate $r$ is zero. +E.g. ``'cb40ex0'`` splits a carbon budget equal to 40 Gt :math:`_{CO_2}` following an exponential decay whose initial linear growth rate r is zero. They can also follow some user-specified path, if defined `here `_. The paper `Speed of technological transformations required in Europe to achieve different climate goals (2022) `__ defines CO_2 budgets corresponding to global temperature increases (1.5C – 2C) as response to the emissions. Here, global carbon budgets are converted to European budgets assuming equal-per capita distribution which translates into a 6.43% share for Europe. The carbon budgets are in this paper distributed throughout the transition paths assuming an exponential decay. Emissions e(t) in every year t are limited by .. math:: - e(t) = e_0 (1+ (r+m)t) e^(-mt) + e(t) = e_0 (1+ (r+m)t) e^{-mt} where r is the initial linear growth rate, which here is assumed to be r=0, and the decay parameter m is determined by imposing the integral of the path to be equal to the budget for Europe. Following this approach, the CO_2 budget is defined. Following the same approach as in this paper, add the following to the ``scenario.sector_opts`` E.g. ``-cb25.7ex0`` (1.5C increase) diff --git a/doc/release_notes.rst b/doc/release_notes.rst index be66a9ba..4700f27b 100644 --- a/doc/release_notes.rst +++ b/doc/release_notes.rst @@ -65,10 +65,14 @@ incorporates retrofitting options to hydrogen. * Add option for BtL (Biomass to liquid fuel/oil) with and without CC +* Add option for minimum part load for Fischer-Tropsch plants (default: 90%) and methanolisation plants (default: 50%). + * Units are assigned to the buses. These only provide a better understanding. The specifications of the units are not taken into account in the optimisation, which means that no automatic conversion of units takes place. * Option ``retrieve_sector_databundle`` to automatically retrieve and extract data bundle. +* Add option to use waste heat of electrolysis in district heating networks (``use_electrolysis_waste_heat``). + * Add regionalised hydrogen salt cavern storage potentials from `Technical Potential of Salt Caverns for Hydrogen Storage in Europe `_. * Add option to sweep the global CO2 sequestration potentials with keyword ``seq200`` in the ``{sector_opts}`` wildcard (for limit of 200 Mt CO2). @@ -78,17 +82,52 @@ incorporates retrofitting options to hydrogen. carrier can be nodally resolved or copperplated across Europe. This feature is controlled by ``sector: ammonia:``. +* Add methanol as energy carrier, methanolisation as process, and option for methanol demand in shipping sector. + * Updated `data bundle `_ that includes the hydrogan salt cavern storage potentials. * Updated and extended documentation in * Shipping demand now defaults to (synthetic) oil rather than liquefied hydrogen until 2050. +* Improved network plots including better legends, hydrogen retrofitting network display, and change to EqualEarth projection. + +* New config options for changing energy demands in aviation + (``aviation_demand_factor``) and HVC industry (``HVC_demand_factor``), as well + as explicit ICE shares for land transport (``land_transport_ice_share``) and + agriculture machinery (``agriculture_machinery_oil_share``). + +* Add option to spatially resolve carrier representing stored carbon dioxide + (``co2_spatial``). This allows for more detailed modelling of CCUTS, e.g. + regarding the capturing of industrial process emissions, usage as feedstock + for electrofuels, transport of carbon dioxide, and geological sequestration sites. + +* Add option for planning a new carbon dioxide network (``co2network``). + + +* Add option for regionally-resolved geological carbon dioxide sequestration + potentials through new rule ``build_sequestration_potentials`` based on + `CO2StoP `_. This + can be controlled in the section ``regional_co2_sequestration_potential`` of + the ``config.yaml``. It includes options to select the level of conservatism, + whether onshore potentials should be included, the respective upper and lower + limits per region, and an annualisation parameter for the cumulative + potential. The defaults are preliminary and will be validated the next + release. + +* Separate option to regionally resolve biomass (``biomass_spatial``) from + option to allow biomass transport (``biomass_transport``). + +* Add option to include `Allam cycle gas power plants + `_ (``allam_cycle``). + **Bugfixes** * The CO2 sequestration limit implemented as GlobalConstraint (introduced in the previous version) caused a failure to read in the shadow prices of other global constraints. +* Correct capital cost of Fischer-Tropsch according to new units in ``technology-data``. + PyPSA-Eur-Sec 0.6.0 (4 October 2021) ==================================== diff --git a/doc/supply_demand.rst b/doc/supply_demand.rst index 71d79cf5..ce9f21dc 100644 --- a/doc/supply_demand.rst +++ b/doc/supply_demand.rst @@ -427,7 +427,7 @@ We assume that the primary route can be replaced by a third route in 2050, using FeO + H_2 \xrightarrow{} Fe + H_2O -This circumvents the process emissions associated with the use of coke. For hydrogen- based DRI, we assume energy requirements of 1.7 MWh :math:`_{H_2}` /t steel (Vogl et. al) `_ and 0.322 MWh :math:`_{el}`/t steel `(HYBRIT 2016) `_. +This circumvents the process emissions associated with the use of coke. For hydrogen- based DRI, we assume energy requirements of 1.7 MWh :math:`_{H_2}` /t steel `(Vogl et. al) `_ and 0.322 MWh :math:`_{el}`/t steel `(HYBRIT 2016) `_. The share of steel produced via the primary route is exogenously set in the `config file `_. The share of steel obtained via hydrogen-based DRI plus EAF is also set exogenously in the `config file `_. The remaining share is manufactured through the secondary route using scrap metal in EAF. Bioenergy as alternative to coke in blast furnaces is not considered in the model (`Mandova et.al `_, `Suopajärvi et.al `_). @@ -453,7 +453,7 @@ Statistics for the production of ammonia, which is commonly used as a fertilizer The Haber-Bosch process is not explicitly represented in the model, such that demand for ammonia enters the model as a demand for hydrogen ( 6.5 MWh :math:`_{H_2}` / t :math:`_{NH_3}` ) and electricity ( 1.17 MWh :math:`_{el}` /t :math:`_{NH_3}` ) (see `Wang et. al `_). Today, natural gas dominates in Europe as the source for the hydrogen used in the Haber-Bosch process, but the model can choose among the various hydrogen supply options described in the hydrogen section (see :ref:`Hydrogen supply`) -The total production and specific energy consumption of chlorine and methanol is taken from a `DECHEMA report `_. According to this source, the production of chlorine amounts to 9.58 MtCl/a, which is assumed to require electricity at 3.6 MWh `:math:`_{el}`/t of chlorine and yield hydrogen at 0.937 MWh :math:`_{H_2}`/t of chlorine in the chloralkali process. The production of methanol adds up to 1.5 MtMeOH/a, requiring electricity at 0.167 MWh :math:`_{el}`/t of methanol and methane at 10.25 MWh :math:`_{CH_4}`/t of methanol. +The total production and specific energy consumption of chlorine and methanol is taken from a `DECHEMA report `_. According to this source, the production of chlorine amounts to 9.58 MtCl/a, which is assumed to require electricity at 3.6 MWh :math:`_{el}`/t of chlorine and yield hydrogen at 0.937 MWh :math:`_{H_2}`/t of chlorine in the chloralkali process. The production of methanol adds up to 1.5 MtMeOH/a, requiring electricity at 0.167 MWh :math:`_{el}`/t of methanol and methane at 10.25 MWh :math:`_{CH_4}`/t of methanol. The production of ammonia, methanol, and chlorine production is deducted from the JRC IDEES basic chemicals, leaving the production totals of high-value chemicals. For this, we assume that the liquid hydrocarbon feedstock comes from synthetic or fossil- origin naphtha (14 MWh :math:`_{naphtha}`/t of HVC, similar to `Lechtenböhmer et al `_), ignoring the methanol-to-olefin route. Furthermore, we assume the following transformations of the energy-consuming processes in the production of plastics: the final energy consumption in steam processing is converted to methane since requires temperature above 500 °C (4.1 MWh :math:`_{CH_4}` /t of HVC, see `Rehfeldt et al. `_); and the remaining processes are electrified using the current efficiency of microwave for high-enthalpy heat processing, electric furnaces, electric process cooling and electric generic processes (2.85 MWh :math:`_{el}`/t of HVC). @@ -461,7 +461,7 @@ The production of ammonia, methanol, and chlorine production is deducted from th The process emissions from feedstock in the chemical industry are as high as 0.369 t :math:`_{CO_2}`/t of ethylene equivalent. We consider process emissions for all the material output, which is a conservative approach since it assumes that all plastic-embedded :math:`CO_2` will eventually be released into the atmosphere. However, plastic disposal in landfilling will avoid, or at least delay, associated :math:`CO_2` emissions. Circular economy practices drastically reduce the amount of primary feedstock needed for the production of plastics in the model (see `Kullmann et al. `_, `Meys et al. (2021) `_, `Meys et al. (2020) `_, `Gu et al. `_) and consequently, also the energy demands and level of process emission. The percentage of plastics that are assumed to be mechanically recycled can be selected in the `config file `_, as well as -the percentage that is chemically recycled, see `config file `_ The energy consumption for those recycling processes are respectively 0.547 MWh :math:`_{el}`/t of HVC (as indicated in the `config file `_) (`Meys et al. (2020) `_), and 6.9 MWh :math:`_{el}`/t of HVC (as indicated in the config file ``_) based on pyrolysis and electric steam cracking (see `Materials Economics `_ report). +the percentage that is chemically recycled, see `config file `_ The energy consumption for those recycling processes are respectively 0.547 MWh :math:`_{el}`/t of HVC (as indicated in the `config file `_) (`Meys et al. (2020) `_), and 6.9 MWh :math:`_{el}`/t of HVC (as indicated in the `config file `_) based on pyrolysis and electric steam cracking (see `Materials Economics `_ report). **Non-metallic Mineral Products** @@ -486,11 +486,11 @@ With the exception of electricity demand and biomass demand for low-temperature *Ceramics* -The ceramics sector is assumed to be fully electrified based on the current efficiency of already electrified processes which include microwave drying and sintering of raw materials, electric kilns for primary production processes, electric furnaces for the `product finishing `_. In total, the final electricity consumption is 0.44 MWh/t of ceramic. The manufacturing of ceramics includes process emissions of 0.03 t :math:`_{CO_2} `/t of ceramic. For a detailed overview of the ceramics industry sector see `Furszyfer Del Rio et al `_. +The ceramics sector is assumed to be fully electrified based on the current efficiency of already electrified processes which include microwave drying and sintering of raw materials, electric kilns for primary production processes, electric furnaces for the `product finishing `_. In total, the final electricity consumption is 0.44 MWh/t of ceramic. The manufacturing of ceramics includes process emissions of 0.03 t :math:`_{CO_2}`/t of ceramic. For a detailed overview of the ceramics industry sector see `Furszyfer Del Rio et al `_. *Glass* -The production of glass is assumed to be fully electrified based on the current efficiency of electric melting tanks and electric annealing which adds up to an electricity demand of 2.07 MWh :math:`_{el}l/t` of `glass `_. The manufacturing of glass incurs process emissions of 0.1 t :math:`_{CO_2} `/t of glass. Potential efficiency improvements, which according to `Lechtenböhmer et al `_ could reduce energy demands to 0.85 MW :math:`_{el}`/t of glass, have not been considered. For a detailed overview of the glass industry sector see `Furszyfer Del Rio et al `_. +The production of glass is assumed to be fully electrified based on the current efficiency of electric melting tanks and electric annealing which adds up to an electricity demand of 2.07 MWh :math:`_{el}`/t of `glass `_. The manufacturing of glass incurs process emissions of 0.1 t :math:`_{CO_2}`/t of glass. Potential efficiency improvements, which according to `Lechtenböhmer et al `_ could reduce energy demands to 0.85 MW :math:`_{el}`/t of glass, have not been considered. For a detailed overview of the glass industry sector see `Furszyfer Del Rio et al `_. **Non-ferrous Metals** diff --git a/matplotlibrc b/matplotlibrc index db5e7ce8..57754c44 100644 --- a/matplotlibrc +++ b/matplotlibrc @@ -1,4 +1,3 @@ -backend: Agg font.family: sans-serif font.sans-serif: Ubuntu, DejaVu Sans image.cmap: viridis \ No newline at end of file diff --git a/scripts/add_existing_baseyear.py b/scripts/add_existing_baseyear.py index 8f2fdf24..8e274d62 100644 --- a/scripts/add_existing_baseyear.py +++ b/scripts/add_existing_baseyear.py @@ -12,7 +12,7 @@ import xarray as xr import pypsa import yaml -from prepare_sector_network import prepare_costs, define_spatial +from prepare_sector_network import prepare_costs, define_spatial, cluster_heat_buses from helper import override_component_attrs, update_config_with_sector_opts from types import SimpleNamespace @@ -563,5 +563,9 @@ if __name__ == "__main__": add_heating_capacities_installed_before_baseyear(n, baseyear, grouping_years_heat, ashp_cop, gshp_cop, time_dep_hp_cop, costs, default_lifetime) + if options.get("cluster_heat_buses", False): + cluster_heat_buses(n) + n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) + n.export_to_netcdf(snakemake.output[0]) diff --git a/scripts/build_heat_demand.py b/scripts/build_heat_demand.py index ed8a10b9..1c49f80d 100644 --- a/scripts/build_heat_demand.py +++ b/scripts/build_heat_demand.py @@ -5,6 +5,7 @@ import atlite import pandas as pd import xarray as xr import numpy as np +from dask.distributed import Client, LocalCluster if __name__ == '__main__': if 'snakemake' not in globals(): @@ -15,14 +16,9 @@ if __name__ == '__main__': clusters=48, ) - if 'snakemake' not in globals(): - from vresutils import Dict - import yaml - snakemake = Dict() - with open('config.yaml') as f: - snakemake.config = yaml.safe_load(f) - snakemake.input = Dict() - snakemake.output = Dict() + nprocesses = int(snakemake.threads) + cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) + client = Client(cluster, asynchronous=True) time = pd.date_range(freq='h', **snakemake.config['snapshots']) cutout_config = snakemake.config['atlite']['cutout'] @@ -33,14 +29,14 @@ if __name__ == '__main__': I = cutout.indicatormatrix(clustered_regions) - for area in ["rural", "urban", "total"]: + pop_layout = xr.open_dataarray(snakemake.input.pop_layout) - pop_layout = xr.open_dataarray(snakemake.input[f'pop_layout_{area}']) + stacked_pop = pop_layout.stack(spatial=('y', 'x')) + M = I.T.dot(np.diag(I.dot(stacked_pop))) - stacked_pop = pop_layout.stack(spatial=('y', 'x')) - M = I.T.dot(np.diag(I.dot(stacked_pop))) + heat_demand = cutout.heat_demand( + matrix=M.T, index=clustered_regions.index, + dask_kwargs=dict(scheduler=client), + show_progress=False) - heat_demand = cutout.heat_demand( - matrix=M.T, index=clustered_regions.index) - - heat_demand.to_netcdf(snakemake.output[f"heat_demand_{area}"]) + heat_demand.to_netcdf(snakemake.output.heat_demand) diff --git a/scripts/build_sequestration_potentials.py b/scripts/build_sequestration_potentials.py new file mode 100644 index 00000000..4983640b --- /dev/null +++ b/scripts/build_sequestration_potentials.py @@ -0,0 +1,43 @@ +import pandas as pd +import geopandas as gpd + +def area(gdf): + """Returns area of GeoDataFrame geometries in square kilometers.""" + return gdf.to_crs(epsg=3035).area.div(1e6) + + +def allocate_sequestration_potential(gdf, regions, attr='conservative estimate Mt', threshold=3): + gdf = gdf.loc[gdf[attr] > threshold, [attr, "geometry"]] + gdf["area_sqkm"] = area(gdf) + overlay = gpd.overlay(regions, gdf, keep_geom_type=True) + overlay["share"] = area(overlay) / overlay["area_sqkm"] + adjust_cols = overlay.columns.difference({"name", "area_sqkm", "geometry", "share"}) + overlay[adjust_cols] = overlay[adjust_cols].multiply(overlay["share"], axis=0) + gdf_regions = overlay.groupby("name").sum() + gdf_regions.drop(["area_sqkm", "share"], axis=1, inplace=True) + return gdf_regions.squeeze() + + +if __name__ == "__main__": + if 'snakemake' not in globals(): + from helper import mock_snakemake + snakemake = mock_snakemake( + 'build_sequestration_potentials', + simpl='', + clusters="181" + ) + + cf = snakemake.config["sector"]["regional_co2_sequestration_potential"] + + gdf = gpd.read_file(snakemake.input.sequestration_potential[0]) + + regions = gpd.read_file(snakemake.input.regions_offshore) + if cf["include_onshore"]: + onregions = gpd.read_file(snakemake.input.regions_onshore) + regions = pd.concat([regions, onregions]).dissolve(by='name').reset_index() + + s = allocate_sequestration_potential(gdf, regions, attr=cf["attribute"], threshold=cf["min_size"]) + + s = s.where(s>cf["min_size"]).dropna() + + s.to_csv(snakemake.output.sequestration_potential) diff --git a/scripts/build_shipping_demand.py b/scripts/build_shipping_demand.py new file mode 100644 index 00000000..18335c9f --- /dev/null +++ b/scripts/build_shipping_demand.py @@ -0,0 +1,48 @@ +"""Build regional demand for international navigation based on outflow volume of ports.""" + +import pandas as pd +import geopandas as gpd +import json + +if __name__ == '__main__': + if 'snakemake' not in globals(): + from helper import mock_snakemake + snakemake = mock_snakemake( + 'build_shipping_demand_per_node', + simpl='', + clusters=48, + ) + + scope = gpd.read_file(snakemake.input.scope).geometry[0] + regions = gpd.read_file(snakemake.input.regions).set_index('name') + demand = pd.read_csv(snakemake.input.demand, index_col=0)["total international navigation"] + + # read port data into GeoDataFrame + with open(snakemake.input.ports, 'r', encoding='latin_1') as f: + ports = json.load(f) + ports = pd.json_normalize(ports, "features", sep="_") + coordinates = ports.geometry_coordinates + geometry = gpd.points_from_xy(coordinates.str[0], coordinates.str[1]) + ports = gpd.GeoDataFrame(ports, geometry=geometry, crs=4326) + + # filter global port data by European ports + european_ports = ports[ports.within(scope)] + + # assign ports to nearest region + p = european_ports.to_crs(3857) + r = regions.to_crs(3857) + outflows = p.sjoin_nearest(r).groupby("index_right").properties_outflows.sum().div(1e3) + + # calculate fraction of each country's port outflows + countries = outflows.index.str[:2] + outflows_per_country = outflows.groupby(countries).sum() + fraction = outflows / countries.map(outflows_per_country) + + # distribute per-country demands to nodes based on these fractions + nodal_demand = demand.loc[countries].fillna(0.) + nodal_demand.index = fraction.index + nodal_demand = nodal_demand.multiply(fraction, axis=0) + nodal_demand = nodal_demand.reindex(regions.index, fill_value=0) + + # export nodal international navigation demands + nodal_demand.to_csv(snakemake.output[0]) diff --git a/scripts/build_solar_thermal_profiles.py b/scripts/build_solar_thermal_profiles.py index f6d05859..0fb8b6e6 100644 --- a/scripts/build_solar_thermal_profiles.py +++ b/scripts/build_solar_thermal_profiles.py @@ -5,6 +5,7 @@ import atlite import pandas as pd import xarray as xr import numpy as np +from dask.distributed import Client, LocalCluster if __name__ == '__main__': if 'snakemake' not in globals(): @@ -15,14 +16,9 @@ if __name__ == '__main__': clusters=48, ) - if 'snakemake' not in globals(): - from vresutils import Dict - import yaml - snakemake = Dict() - with open('config.yaml') as f: - snakemake.config = yaml.safe_load(f) - snakemake.input = Dict() - snakemake.output = Dict() + nprocesses = int(snakemake.threads) + cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) + client = Client(cluster, asynchronous=True) config = snakemake.config['solar_thermal'] @@ -35,18 +31,18 @@ if __name__ == '__main__': I = cutout.indicatormatrix(clustered_regions) - for area in ["total", "rural", "urban"]: + pop_layout = xr.open_dataarray(snakemake.input.pop_layout) - pop_layout = xr.open_dataarray(snakemake.input[f'pop_layout_{area}']) + stacked_pop = pop_layout.stack(spatial=('y', 'x')) + M = I.T.dot(np.diag(I.dot(stacked_pop))) - stacked_pop = pop_layout.stack(spatial=('y', 'x')) - M = I.T.dot(np.diag(I.dot(stacked_pop))) + nonzero_sum = M.sum(axis=0, keepdims=True) + nonzero_sum[nonzero_sum == 0.] = 1. + M_tilde = M / nonzero_sum - nonzero_sum = M.sum(axis=0, keepdims=True) - nonzero_sum[nonzero_sum == 0.] = 1. - M_tilde = M / nonzero_sum + solar_thermal = cutout.solar_thermal(**config, matrix=M_tilde.T, + index=clustered_regions.index, + dask_kwargs=dict(scheduler=client), + show_progress=False) - solar_thermal = cutout.solar_thermal(**config, matrix=M_tilde.T, - index=clustered_regions.index) - - solar_thermal.to_netcdf(snakemake.output[f"solar_thermal_{area}"]) + solar_thermal.to_netcdf(snakemake.output.solar_thermal) diff --git a/scripts/build_temperature_profiles.py b/scripts/build_temperature_profiles.py index ebb9e843..a056fca0 100644 --- a/scripts/build_temperature_profiles.py +++ b/scripts/build_temperature_profiles.py @@ -5,6 +5,7 @@ import atlite import pandas as pd import xarray as xr import numpy as np +from dask.distributed import Client, LocalCluster if __name__ == '__main__': if 'snakemake' not in globals(): @@ -15,6 +16,10 @@ if __name__ == '__main__': clusters=48, ) + nprocesses = int(snakemake.threads) + cluster = LocalCluster(n_workers=nprocesses, threads_per_worker=1) + client = Client(cluster, asynchronous=True) + time = pd.date_range(freq='h', **snakemake.config['snapshots']) cutout_config = snakemake.config['atlite']['cutout'] cutout = atlite.Cutout(cutout_config).sel(time=time) @@ -24,23 +29,25 @@ if __name__ == '__main__': I = cutout.indicatormatrix(clustered_regions) - for area in ["total", "rural", "urban"]: + pop_layout = xr.open_dataarray(snakemake.input.pop_layout) - pop_layout = xr.open_dataarray(snakemake.input[f'pop_layout_{area}']) + stacked_pop = pop_layout.stack(spatial=('y', 'x')) + M = I.T.dot(np.diag(I.dot(stacked_pop))) - stacked_pop = pop_layout.stack(spatial=('y', 'x')) - M = I.T.dot(np.diag(I.dot(stacked_pop))) + nonzero_sum = M.sum(axis=0, keepdims=True) + nonzero_sum[nonzero_sum == 0.] = 1. + M_tilde = M / nonzero_sum - nonzero_sum = M.sum(axis=0, keepdims=True) - nonzero_sum[nonzero_sum == 0.] = 1. - M_tilde = M / nonzero_sum + temp_air = cutout.temperature( + matrix=M_tilde.T, index=clustered_regions.index, + dask_kwargs=dict(scheduler=client), + show_progress=False) - temp_air = cutout.temperature( - matrix=M_tilde.T, index=clustered_regions.index) + temp_air.to_netcdf(snakemake.output.temp_air) - temp_air.to_netcdf(snakemake.output[f"temp_air_{area}"]) + temp_soil = cutout.soil_temperature( + matrix=M_tilde.T, index=clustered_regions.index, + dask_kwargs=dict(scheduler=client), + show_progress=False) - temp_soil = cutout.soil_temperature( - matrix=M_tilde.T, index=clustered_regions.index) - - temp_soil.to_netcdf(snakemake.output[f"temp_soil_{area}"]) + temp_soil.to_netcdf(snakemake.output.temp_soil) diff --git a/scripts/helper.py b/scripts/helper.py index e6ddfd4a..62ae33c0 100644 --- a/scripts/helper.py +++ b/scripts/helper.py @@ -138,6 +138,6 @@ def parse(l): def update_config_with_sector_opts(config, sector_opts): for o in sector_opts.split("-"): - if o.startswith("CF:"): + if o.startswith("CF+"): l = o.split("+")[1:] update_config(config, parse(l)) \ No newline at end of file diff --git a/scripts/make_summary.py b/scripts/make_summary.py index f9c74c89..06680cb4 100644 --- a/scripts/make_summary.py +++ b/scripts/make_summary.py @@ -273,7 +273,7 @@ def calculate_supply(n, label, supply): for end in [col[3:] for col in c.df.columns if col[:3] == "bus"]: - items = c.df.index[c.df["bus" + end].map(bus_map, na_action=None)] + items = c.df.index[c.df["bus" + end].map(bus_map).fillna(False)] if len(items) == 0: continue @@ -318,7 +318,7 @@ def calculate_supply_energy(n, label, supply_energy): for end in [col[3:] for col in c.df.columns if col[:3] == "bus"]: - items = c.df.index[c.df["bus" + str(end)].map(bus_map, na_action=None)] + items = c.df.index[c.df["bus" + str(end)].map(bus_map).fillna(False)] if len(items) == 0: continue diff --git a/scripts/plot_network.py b/scripts/plot_network.py index 11cfc84e..3d0641d5 100644 --- a/scripts/plot_network.py +++ b/scripts/plot_network.py @@ -1,18 +1,17 @@ import pypsa -import numpy as np import pandas as pd +import geopandas as gpd import matplotlib.pyplot as plt import cartopy.crs as ccrs -from matplotlib.legend_handler import HandlerPatch -from matplotlib.patches import Circle, Ellipse +from pypsa.plot import add_legend_circles, add_legend_patches, add_legend_lines from make_summary import assign_carriers from plot_summary import rename_techs, preferred_order from helper import override_component_attrs -plt.style.use('ggplot') +plt.style.use(['ggplot', "matplotlibrc"]) def rename_techs_tyndp(tech): @@ -27,9 +26,9 @@ def rename_techs_tyndp(tech): return "ammonia" elif tech in ["OCGT", "CHP", "gas boiler", "H2 Fuel Cell"]: return "gas-to-power/heat" - elif "solar" in tech: - return "solar" - elif tech == "Fischer-Tropsch": + # elif "solar" in tech: + # return "solar" + elif tech in ["Fischer-Tropsch", "methanolisation"]: return "power-to-liquid" elif "offshore wind" in tech: return "offshore wind" @@ -39,36 +38,6 @@ def rename_techs_tyndp(tech): return tech -def make_handler_map_to_scale_circles_as_in(ax, dont_resize_actively=False): - fig = ax.get_figure() - - def axes2pt(): - return np.diff(ax.transData.transform([(0, 0), (1, 1)]), axis=0)[0] * (72. / fig.dpi) - - ellipses = [] - if not dont_resize_actively: - def update_width_height(event): - dist = axes2pt() - for e, radius in ellipses: - e.width, e.height = 2. * radius * dist - fig.canvas.mpl_connect('resize_event', update_width_height) - ax.callbacks.connect('xlim_changed', update_width_height) - ax.callbacks.connect('ylim_changed', update_width_height) - - def legend_circle_handler(legend, orig_handle, xdescent, ydescent, - width, height, fontsize): - w, h = 2. * orig_handle.get_radius() * axes2pt() - e = Ellipse(xy=(0.5 * width - 0.5 * xdescent, 0.5 * - height - 0.5 * ydescent), width=w, height=w) - ellipses.append((e, orig_handle.get_radius())) - return e - return {Circle: HandlerPatch(patch_func=legend_circle_handler)} - - -def make_legend_circles_for(sizes, scale=1.0, **kw): - return [Circle((0, 0), radius=(s / scale)**0.5, **kw) for s in sizes] - - def assign_location(n): for c in n.iterate_components(n.one_port_components | n.branch_components): ifind = pd.Series(c.df.index.str.find(" ", start=4), c.df.index) @@ -80,7 +49,9 @@ def assign_location(n): def plot_map(network, components=["links", "stores", "storage_units", "generators"], - bus_size_factor=1.7e10, transmission=False): + bus_size_factor=1.7e10, transmission=False, with_legend=True): + + tech_colors = snakemake.config['plotting']['tech_colors'] n = network.copy() assign_location(n) @@ -111,7 +82,7 @@ def plot_map(network, components=["links", "stores", "storage_units", "generator costs = costs[new_columns] for item in new_columns: - if item not in snakemake.config['plotting']['tech_colors']: + if item not in tech_colors: print("Warning!",item,"not in config/plotting/tech_colors") costs = costs.stack() # .sort_index() @@ -133,34 +104,39 @@ def plot_map(network, components=["links", "stores", "storage_units", "generator # make sure they are removed from index costs.index = pd.MultiIndex.from_tuples(costs.index.values) + threshold = 100e6 # 100 mEUR/a + carriers = costs.groupby(level=1).sum() + carriers = carriers.where(carriers > threshold).dropna() + carriers = list(carriers.index) + # PDF has minimum width, so set these to zero line_lower_threshold = 500. line_upper_threshold = 1e4 - linewidth_factor = 2e3 - ac_color = "gray" - dc_color = "m" + linewidth_factor = 4e3 + ac_color = "rosybrown" + dc_color = "darkseagreen" if snakemake.wildcards["lv"] == "1.0": # should be zero line_widths = n.lines.s_nom_opt - n.lines.s_nom link_widths = n.links.p_nom_opt - n.links.p_nom - title = "Transmission reinforcement" + title = "added grid" if transmission: line_widths = n.lines.s_nom_opt link_widths = n.links.p_nom_opt linewidth_factor = 2e3 line_lower_threshold = 0. - title = "Today's transmission" + title = "current grid" else: line_widths = n.lines.s_nom_opt - n.lines.s_nom_min link_widths = n.links.p_nom_opt - n.links.p_nom_min - title = "Transmission reinforcement" + title = "added grid" if transmission: line_widths = n.lines.s_nom_opt link_widths = n.links.p_nom_opt - title = "Total transmission" + title = "total grid" line_widths[line_widths < line_lower_threshold] = 0. link_widths[link_widths < line_lower_threshold] = 0. @@ -168,12 +144,12 @@ def plot_map(network, components=["links", "stores", "storage_units", "generator line_widths[line_widths > line_upper_threshold] = line_upper_threshold link_widths[link_widths > line_upper_threshold] = line_upper_threshold - fig, ax = plt.subplots(subplot_kw={"projection": ccrs.PlateCarree()}) + fig, ax = plt.subplots(subplot_kw={"projection": ccrs.EqualEarth()}) fig.set_size_inches(7, 6) n.plot( bus_sizes=costs / bus_size_factor, - bus_colors=snakemake.config['plotting']['tech_colors'], + bus_colors=tech_colors, line_colors=ac_color, link_colors=dc_color, line_widths=line_widths / linewidth_factor, @@ -181,45 +157,66 @@ def plot_map(network, components=["links", "stores", "storage_units", "generator ax=ax, **map_opts ) - handles = make_legend_circles_for( - [5e9, 1e9], - scale=bus_size_factor, - facecolor="gray" - ) + sizes = [20, 10, 5] + labels = [f"{s} bEUR/a" for s in sizes] + sizes = [s/bus_size_factor*1e9 for s in sizes] - labels = ["{} bEUR/a".format(s) for s in (5, 1)] - - l2 = ax.legend( - handles, labels, + legend_kw = dict( loc="upper left", - bbox_to_anchor=(0.01, 1.01), - labelspacing=1.0, + bbox_to_anchor=(0.01, 1.06), + labelspacing=0.8, frameon=False, - title='System cost', - handler_map=make_handler_map_to_scale_circles_as_in(ax) + handletextpad=0, + title='system cost', ) - ax.add_artist(l2) + add_legend_circles( + ax, + sizes, + labels, + srid=n.srid, + patch_kw=dict(facecolor="lightgrey"), + legend_kw=legend_kw + ) - handles = [] - labels = [] + sizes = [10, 5] + labels = [f"{s} GW" for s in sizes] + scale = 1e3 / linewidth_factor + sizes = [s*scale for s in sizes] - for s in (10, 5): - handles.append(plt.Line2D([0], [0], color=ac_color, - linewidth=s * 1e3 / linewidth_factor)) - labels.append("{} GW".format(s)) - - l1_1 = ax.legend( - handles, labels, + legend_kw = dict( loc="upper left", - bbox_to_anchor=(0.22, 1.01), + bbox_to_anchor=(0.27, 1.06), frameon=False, labelspacing=0.8, - handletextpad=1.5, + handletextpad=1, title=title ) - ax.add_artist(l1_1) + add_legend_lines( + ax, + sizes, + labels, + patch_kw=dict(color='lightgrey'), + legend_kw=legend_kw + ) + + legend_kw = dict( + bbox_to_anchor=(1.52, 1.04), + frameon=False, + ) + + if with_legend: + + colors = [tech_colors[c] for c in carriers] + [ac_color, dc_color] + labels = carriers + ["HVAC line", "HVDC link"] + + add_legend_patches( + ax, + colors, + labels, + legend_kw=legend_kw, + ) fig.savefig( snakemake.output.map, @@ -248,7 +245,7 @@ def group_pipes(df, drop_direction=False): return pipe_capacity -def plot_h2_map(network): +def plot_h2_map(network, regions): n = network.copy() if "H2 pipeline" not in n.links.carrier.unique(): @@ -256,15 +253,21 @@ def plot_h2_map(network): assign_location(n) + h2_storage = n.stores.query("carrier == 'H2'") + regions["H2"] = h2_storage.rename(index=h2_storage.bus.map(n.buses.location)).e_nom_opt.div(1e6) # TWh + regions["H2"] = regions["H2"].where(regions["H2"] > 0.1) + bus_size_factor = 1e5 - linewidth_factor = 1e4 + linewidth_factor = 7e3 # MW below which not drawn - line_lower_threshold = 1e2 + line_lower_threshold = 750 # Drop non-electric buses so they don't clutter the plot n.buses.drop(n.buses.index[n.buses.carrier != "AC"], inplace=True) - elec = n.links[n.links.carrier.isin(["H2 Electrolysis", "H2 Fuel Cell"])].index + carriers = ["H2 Electrolysis", "H2 Fuel Cell"] + + elec = n.links[n.links.carrier.isin(carriers)].index bus_sizes = n.links.loc[elec,"p_nom_opt"].groupby([n.links["bus0"], n.links.carrier]).sum() / bus_size_factor @@ -275,14 +278,44 @@ def plot_h2_map(network): h2_new = n.links.loc[n.links.carrier=="H2 pipeline"] h2_retro = n.links.loc[n.links.carrier=='H2 pipeline retrofitted'] - # sum capacitiy for pipelines from different investment periods - h2_new = group_pipes(h2_new) - h2_retro = group_pipes(h2_retro, drop_direction=True).reindex(h2_new.index).fillna(0) + if snakemake.config['foresight'] == 'myopic': + # sum capacitiy for pipelines from different investment periods + h2_new = group_pipes(h2_new) + h2_retro = group_pipes(h2_retro, drop_direction=True).reindex(h2_new.index).fillna(0) + + if not h2_retro.empty: + + positive_order = h2_retro.bus0 < h2_retro.bus1 + h2_retro_p = h2_retro[positive_order] + swap_buses = {"bus0": "bus1", "bus1": "bus0"} + h2_retro_n = h2_retro[~positive_order].rename(columns=swap_buses) + h2_retro = pd.concat([h2_retro_p, h2_retro_n]) + + h2_retro["index_orig"] = h2_retro.index + h2_retro.index = h2_retro.apply( + lambda x: f"H2 pipeline {x.bus0.replace(' H2', '')} -> {x.bus1.replace(' H2', '')}", + axis=1 + ) + + retro_w_new_i = h2_retro.index.intersection(h2_new.index) + h2_retro_w_new = h2_retro.loc[retro_w_new_i] + + retro_wo_new_i = h2_retro.index.difference(h2_new.index) + h2_retro_wo_new = h2_retro.loc[retro_wo_new_i] + h2_retro_wo_new.index = h2_retro_wo_new.index_orig + + to_concat = [h2_new, h2_retro_w_new, h2_retro_wo_new] + h2_total = pd.concat(to_concat).p_nom_opt.groupby(level=0).sum() + + else: + + h2_total = h2_new.p_nom_opt + + link_widths_total = h2_total / linewidth_factor n.links.rename(index=lambda x: x.split("-2")[0], inplace=True) n.links = n.links.groupby(level=0).first() - link_widths_total = (h2_new + h2_retro) / linewidth_factor link_widths_total = link_widths_total.reindex(n.links.index).fillna(0.) link_widths_total[n.links.p_nom_opt < line_lower_threshold] = 0. @@ -293,15 +326,27 @@ def plot_h2_map(network): n.links.bus0 = n.links.bus0.str.replace(" H2", "") n.links.bus1 = n.links.bus1.str.replace(" H2", "") + proj = ccrs.EqualEarth() + regions = regions.to_crs(proj.proj4_init) + fig, ax = plt.subplots( figsize=(7, 6), - subplot_kw={"projection": ccrs.PlateCarree()} + subplot_kw={"projection": proj} ) + color_h2_pipe = '#b3f3f4' + color_retrofit = '#499a9c' + + bus_colors = { + "H2 Electrolysis": "#ff29d9", + "H2 Fuel Cell": '#805394' + } + n.plot( + geomap=True, bus_sizes=bus_sizes, - bus_colors=snakemake.config['plotting']['tech_colors'], - link_colors='#a2f0f2', + bus_colors=bus_colors, + link_colors=color_h2_pipe, link_widths=link_widths_total, branch_components=["Link"], ax=ax, @@ -309,53 +354,88 @@ def plot_h2_map(network): ) n.plot( + geomap=True, bus_sizes=0, - link_colors='#72d3d6', + link_colors=color_retrofit, link_widths=link_widths_retro, branch_components=["Link"], ax=ax, - **map_opts + color_geomap=False, + boundaries=map_opts["boundaries"] ) - handles = make_legend_circles_for( - [50000, 10000], - scale=bus_size_factor, - facecolor='grey' + regions.plot( + ax=ax, + column="H2", + cmap='Blues', + linewidths=0, + legend=True, + vmax=6, + vmin=0, + legend_kwds={ + "label": "Hydrogen Storage [TWh]", + "shrink": 0.7, + "extend": "max", + }, ) - labels = ["{} GW".format(s) for s in (50, 10)] + sizes = [50, 10] + labels = [f"{s} GW" for s in sizes] + sizes = [s/bus_size_factor*1e3 for s in sizes] - l2 = ax.legend( - handles, labels, + legend_kw = dict( loc="upper left", - bbox_to_anchor=(-0.03, 1.01), - labelspacing=1.0, + bbox_to_anchor=(0, 1), + labelspacing=0.8, + handletextpad=0, frameon=False, - title='Electrolyzer capacity', - handler_map=make_handler_map_to_scale_circles_as_in(ax) ) - ax.add_artist(l2) + add_legend_circles(ax, sizes, labels, + srid=n.srid, + patch_kw=dict(facecolor='lightgrey'), + legend_kw=legend_kw + ) - handles = [] - labels = [] + sizes = [30, 10] + labels = [f"{s} GW" for s in sizes] + scale = 1e3 / linewidth_factor + sizes = [s*scale for s in sizes] - for s in (50, 10): - handles.append(plt.Line2D([0], [0], color="grey", - linewidth=s * 1e3 / linewidth_factor)) - labels.append("{} GW".format(s)) - - l1_1 = ax.legend( - handles, labels, + legend_kw = dict( loc="upper left", - bbox_to_anchor=(0.28, 1.01), + bbox_to_anchor=(0.23, 1), frameon=False, labelspacing=0.8, - handletextpad=1.5, - title='H2 pipeline capacity' + handletextpad=1, ) - ax.add_artist(l1_1) + add_legend_lines( + ax, + sizes, + labels, + patch_kw=dict(color='lightgrey'), + legend_kw=legend_kw, + ) + + colors = [bus_colors[c] for c in carriers] + [color_h2_pipe, color_retrofit] + labels = carriers + ["H2 pipeline (total)", "H2 pipeline (repurposed)"] + + legend_kw = dict( + loc="upper left", + bbox_to_anchor=(0, 1.13), + ncol=2, + frameon=False, + ) + + add_legend_patches( + ax, + colors, + labels, + legend_kw=legend_kw + ) + + ax.set_facecolor("white") fig.savefig( snakemake.output.map.replace("-costs-all","-h2_network"), @@ -375,7 +455,7 @@ def plot_ch4_map(network): bus_size_factor = 8e7 linewidth_factor = 1e4 # MW below which not drawn - line_lower_threshold = 500 + line_lower_threshold = 1e3 # Drop non-electric buses so they don't clutter the plot n.buses.drop(n.buses.index[n.buses.carrier != "AC"], inplace=True) @@ -415,26 +495,32 @@ def plot_ch4_map(network): link_widths_used = max_usage / linewidth_factor link_widths_used[max_usage < line_lower_threshold] = 0. - link_color_used = n.links.carrier.map({"gas pipeline": "#f08080", - "gas pipeline new": "#c46868"}) + tech_colors = snakemake.config['plotting']['tech_colors'] + + pipe_colors = { + "gas pipeline": "#f08080", + "gas pipeline new": "#c46868", + "gas pipeline (in 2020)": 'lightgrey', + "gas pipeline (available)": '#e8d1d1', + } + + link_color_used = n.links.carrier.map(pipe_colors) n.links.bus0 = n.links.bus0.str.replace(" gas", "") n.links.bus1 = n.links.bus1.str.replace(" gas", "") - tech_colors = snakemake.config['plotting']['tech_colors'] - bus_colors = { "fossil gas": tech_colors["fossil gas"], "methanation": tech_colors["methanation"], "biogas": "seagreen" } - fig, ax = plt.subplots(figsize=(7,6), subplot_kw={"projection": ccrs.PlateCarree()}) + fig, ax = plt.subplots(figsize=(7,6), subplot_kw={"projection": ccrs.EqualEarth()}) n.plot( bus_sizes=bus_sizes, bus_colors=bus_colors, - link_colors='lightgrey', + link_colors=pipe_colors['gas pipeline (in 2020)'], link_widths=link_widths_orig, branch_components=["Link"], ax=ax, @@ -444,10 +530,11 @@ def plot_ch4_map(network): n.plot( ax=ax, bus_sizes=0., - link_colors='#e8d1d1', + link_colors=pipe_colors['gas pipeline (available)'], link_widths=link_widths_rem, branch_components=["Link"], - **map_opts + color_geomap=False, + boundaries=map_opts["boundaries"] ) n.plot( @@ -456,46 +543,76 @@ def plot_ch4_map(network): link_colors=link_color_used, link_widths=link_widths_used, branch_components=["Link"], - **map_opts + color_geomap=False, + boundaries=map_opts["boundaries"] ) - handles = make_legend_circles_for( - [10e6, 100e6], - scale=bus_size_factor, - facecolor='grey' - ) - labels = ["{} TWh".format(s) for s in (10, 100)] - - l2 = ax.legend( - handles, labels, + sizes = [100, 10] + labels = [f"{s} TWh" for s in sizes] + sizes = [s/bus_size_factor*1e6 for s in sizes] + + legend_kw = dict( loc="upper left", - bbox_to_anchor=(-0.03, 1.01), - labelspacing=1.0, + bbox_to_anchor=(0, 1.03), + labelspacing=0.8, frameon=False, - title='gas generation', - handler_map=make_handler_map_to_scale_circles_as_in(ax) + handletextpad=1, + title='gas sources', + ) + + add_legend_circles( + ax, + sizes, + labels, + srid=n.srid, + patch_kw=dict(facecolor='lightgrey'), + legend_kw=legend_kw, ) - ax.add_artist(l2) - - handles = [] - labels = [] - - for s in (50, 10): - handles.append(plt.Line2D([0], [0], color="grey", linewidth=s * 1e3 / linewidth_factor)) - labels.append("{} GW".format(s)) - - l1_1 = ax.legend( - handles, labels, + sizes = [50, 10] + labels = [f"{s} GW" for s in sizes] + scale = 1e3 / linewidth_factor + sizes = [s*scale for s in sizes] + + legend_kw = dict( loc="upper left", - bbox_to_anchor=(0.28, 1.01), + bbox_to_anchor=(0.25, 1.03), frameon=False, labelspacing=0.8, - handletextpad=1.5, - title='gas pipeline used capacity' + handletextpad=1, + title='gas pipeline' + ) + + add_legend_lines( + ax, + sizes, + labels, + patch_kw=dict(color='lightgrey'), + legend_kw=legend_kw, ) - ax.add_artist(l1_1) + colors = list(pipe_colors.values()) + list(bus_colors.values()) + labels = list(pipe_colors.keys()) + list(bus_colors.keys()) + + # legend on the side + # legend_kw = dict( + # bbox_to_anchor=(1.47, 1.04), + # frameon=False, + # ) + + legend_kw = dict( + loc='upper left', + bbox_to_anchor=(0, 1.24), + ncol=2, + frameon=False, + ) + + add_legend_patches( + ax, + colors, + labels, + legend_kw=legend_kw, + ) fig.savefig( snakemake.output.map.replace("-costs-all","-ch4_network"), @@ -513,15 +630,15 @@ def plot_map_without(network): fig, ax = plt.subplots( figsize=(7, 6), - subplot_kw={"projection": ccrs.PlateCarree()} + subplot_kw={"projection": ccrs.EqualEarth()} ) # PDF has minimum width, so set these to zero line_lower_threshold = 200. line_upper_threshold = 1e4 - linewidth_factor = 2e3 - ac_color = "gray" - dc_color = "m" + linewidth_factor = 3e3 + ac_color = "rosybrown" + dc_color = "darkseagreen" # hack because impossible to drop buses... if "EU gas" in n.buses.index: @@ -560,7 +677,7 @@ def plot_map_without(network): for s in (10, 5): handles.append(plt.Line2D([0], [0], color=ac_color, linewidth=s * 1e3 / linewidth_factor)) - labels.append("{} GW".format(s)) + labels.append(f"{s} GW") l1_1 = ax.legend(handles, labels, loc="upper left", bbox_to_anchor=(0.05, 1.01), frameon=False, @@ -710,25 +827,27 @@ if __name__ == "__main__": snakemake = mock_snakemake( 'plot_network', simpl='', - clusters="45", - lv=1.0, + clusters="181", + lv='opt', opts='', - sector_opts='168H-T-H-B-I-A-solar+p3-dist1', + sector_opts='Co2L0-730H-T-H-B-I-A-solar+p3-linemaxext10', planning_horizons="2050", ) overrides = override_component_attrs(snakemake.input.overrides) n = pypsa.Network(snakemake.input.network, override_component_attrs=overrides) + regions = gpd.read_file(snakemake.input.regions).set_index("name") + map_opts = snakemake.config['plotting']['map'] plot_map(n, components=["generators", "links", "stores", "storage_units"], - bus_size_factor=1.5e10, + bus_size_factor=2e10, transmission=False ) - plot_h2_map(n) + plot_h2_map(n, regions) plot_ch4_map(n) plot_map_without(n) diff --git a/scripts/prepare_sector_network.py b/scripts/prepare_sector_network.py index 6c153f16..a47c5710 100644 --- a/scripts/prepare_sector_network.py +++ b/scripts/prepare_sector_network.py @@ -19,6 +19,7 @@ from helper import override_component_attrs, generate_periodic_profiles, update_ from networkx.algorithms.connectivity.edge_augmentation import k_edge_augmentation from networkx.algorithms import complement from pypsa.geo import haversine_pts +from pypsa.io import import_components_from_dataframe import logging logger = logging.getLogger(__name__) @@ -26,6 +27,9 @@ logger = logging.getLogger(__name__) from types import SimpleNamespace spatial = SimpleNamespace() +from packaging.version import Version, parse +pd_version = parse(pd.__version__) +agg_group_kwargs = dict(numeric_only=False) if pd_version >= Version("1.3") else {} def define_spatial(nodes, options): """ @@ -44,7 +48,7 @@ def define_spatial(nodes, options): spatial.biomass = SimpleNamespace() - if options["biomass_transport"]: + if options.get("biomass_spatial", options["biomass_transport"]): spatial.biomass.nodes = nodes + " solid biomass" spatial.biomass.locations = nodes spatial.biomass.industry = nodes + " solid biomass for industry" @@ -61,14 +65,16 @@ def define_spatial(nodes, options): spatial.co2 = SimpleNamespace() - if options["co2_network"]: + if options["co2_spatial"]: spatial.co2.nodes = nodes + " co2 stored" spatial.co2.locations = nodes spatial.co2.vents = nodes + " co2 vent" + spatial.co2.process_emissions = nodes + " process emissions" else: spatial.co2.nodes = ["co2 stored"] spatial.co2.locations = ["EU"] spatial.co2.vents = ["co2 vent"] + spatial.co2.process_emissions = ["process emissions"] spatial.co2.df = pd.DataFrame(vars(spatial.co2), index=nodes) @@ -88,8 +94,11 @@ def define_spatial(nodes, options): spatial.gas.locations = ["EU"] spatial.gas.biogas = ["EU biogas"] spatial.gas.industry = ["gas for industry"] - spatial.gas.industry_cc = ["gas for industry CC"] spatial.gas.biogas_to_gas = ["EU biogas to gas"] + if options.get("co2_spatial", options["co2network"]): + spatial.gas.industry_cc = nodes + " gas for industry CC" + else: + spatial.gas.industry_cc = ["gas for industry CC"] spatial.gas.df = pd.DataFrame(vars(spatial.gas), index=nodes) @@ -106,6 +115,16 @@ def define_spatial(nodes, options): spatial.ammonia.df = pd.DataFrame(vars(spatial.ammonia), index=nodes) + # hydrogen + spatial.h2 = SimpleNamespace() + spatial.h2.nodes = nodes + " H2" + spatial.h2.locations = nodes + + # methanol + spatial.methanol = SimpleNamespace() + spatial.methanol.nodes = ["EU methanol"] + spatial.methanol.locations = ["EU"] + # oil spatial.oil = SimpleNamespace() spatial.oil.nodes = ["EU oil"] @@ -418,6 +437,7 @@ def add_carrier_buses(n, carrier, nodes=None): e_nom_extendable=True, e_cyclic=True, carrier=carrier, + capital_cost=0.2 * costs.at[carrier, "discount rate"] # preliminary value to avoid zeros ) n.madd("Generator", @@ -497,10 +517,17 @@ def add_co2_tracking(n, options): unit="t_co2" ) + if options["regional_co2_sequestration_potential"]["enable"]: + upper_limit = options["regional_co2_sequestration_potential"]["max_size"] * 1e3 # Mt + annualiser = options["regional_co2_sequestration_potential"]["years_of_storage"] + e_nom_max = pd.read_csv(snakemake.input.sequestration_potential, index_col=0).squeeze() + e_nom_max = e_nom_max.reindex(spatial.co2.locations).fillna(0.).clip(upper=upper_limit).mul(1e6) / annualiser # t + e_nom_max = e_nom_max.rename(index=lambda x: x + " co2 stored") + n.madd("Store", spatial.co2.nodes, e_nom_extendable=True, - e_nom_max=np.inf, + e_nom_max=e_nom_max, capital_cost=options['co2_sequestration_cost'], carrier="co2 stored", bus=spatial.co2.nodes @@ -540,6 +567,29 @@ def add_co2_network(n, costs): ) +def add_allam(n, costs): + + logger.info("Adding Allam cycle gas power plants.") + + nodes = pop_layout.index + + n.madd("Link", + nodes, + suffix=" allam", + bus0=spatial.gas.df.loc[nodes, "nodes"].values, + bus1=nodes, + bus2=spatial.co2.df.loc[nodes, "nodes"].values, + carrier="allam", + p_nom_extendable=True, + # TODO: add costs to technology-data + capital_cost=0.6*1.5e6*0.1, # efficiency * EUR/MW * annuity + marginal_cost=2, + efficiency=0.6, + efficiency2=costs.at['gas', 'CO2 intensity'], + lifetime=30., + ) + + def add_dac(n, costs): heat_carriers = ["urban central heat", "services urban decentral heat"] @@ -983,7 +1033,7 @@ def add_storage_and_grids(n, costs): ) # hydrogen stored overground (where not already underground) - h2_capital_cost = costs.at["hydrogen storage tank incl. compressor", "fixed"] + h2_capital_cost = costs.at["hydrogen storage tank type 1 including compressor", "fixed"] nodes_overground = h2_caverns.index.symmetric_difference(nodes) n.madd("Store", @@ -1208,7 +1258,7 @@ def add_storage_and_grids(n, costs): bus0=spatial.coal.nodes, bus1=spatial.nodes, bus2="co2 atmosphere", - bus3="co2 stored", + bus3=spatial.co2.nodes, marginal_cost=costs.at['coal', 'efficiency'] * costs.at['coal', 'VOM'], #NB: VOM is per MWel capital_cost=costs.at['coal', 'efficiency'] * costs.at['coal', 'fixed'] + costs.at['biomass CHP capture', 'fixed'] * costs.at['coal', 'CO2 intensity'], #NB: fixed cost is per MWel p_nom_extendable=True, @@ -1263,13 +1313,15 @@ def add_land_transport(n, costs): fuel_cell_share = get(options["land_transport_fuel_cell_share"], investment_year) electric_share = get(options["land_transport_electric_share"], investment_year) - ice_share = 1 - fuel_cell_share - electric_share + ice_share = get(options["land_transport_ice_share"], investment_year) + + total_share = fuel_cell_share + electric_share + ice_share + if total_share != 1: + logger.warning(f"Total land transport shares sum up to {total_share*100}%, corresponding to increased or decreased demand assumptions.") - print("FCEV share", fuel_cell_share) - print("EV share", electric_share) - print("ICEV share", ice_share) - - assert ice_share >= 0, "Error, more FCEV and EV share than 1." + logger.info(f"FCEV share: {fuel_cell_share*100}%") + logger.info(f"EV share: {electric_share*100}%") + logger.info(f"ICEV share: {ice_share*100}%") nodes = pop_layout.index @@ -1452,9 +1504,10 @@ def add_heat(n, costs): "ground": xr.open_dataarray(snakemake.input.cop_soil_total).to_pandas().reindex(index=n.snapshots) } - solar_thermal = xr.open_dataarray(snakemake.input.solar_thermal_total).to_pandas().reindex(index=n.snapshots) - # 1e3 converts from W/m^2 to MW/(1000m^2) = kW/m^2 - solar_thermal = options['solar_cf_correction'] * solar_thermal / 1e3 + if options["solar_thermal"]: + solar_thermal = xr.open_dataarray(snakemake.input.solar_thermal_total).to_pandas().reindex(index=n.snapshots) + # 1e3 converts from W/m^2 to MW/(1000m^2) = kW/m^2 + solar_thermal = options['solar_cf_correction'] * solar_thermal / 1e3 for name in heat_systems: @@ -1815,7 +1868,7 @@ def add_biomass(n, costs): else: biogas_potentials_spatial = biomass_potentials["biogas"].sum() - if options["biomass_transport"]: + if options.get("biomass_spatial", options["biomass_transport"]): solid_biomass_potentials_spatial = biomass_potentials["solid biomass"].rename(index=lambda x: x + " solid biomass") else: solid_biomass_potentials_spatial = biomass_potentials["solid biomass"].sum() @@ -1887,10 +1940,10 @@ def add_biomass(n, costs): biomass_transport.index, bus0=biomass_transport.bus0 + " solid biomass", bus1=biomass_transport.bus1 + " solid biomass", - p_nom_extendable=True, + p_nom_extendable=False, + p_nom=5e4, length=biomass_transport.length.values, marginal_cost=biomass_transport.costs * biomass_transport.length.values, - capital_cost=1, carrier="solid biomass transport" ) @@ -2039,7 +2092,7 @@ def add_industry(n, costs): unit="MWh_LHV" ) - if options["biomass_transport"]: + if options.get("biomass_spatial", options["biomass_transport"]): p_set = industrial_demand.loc[spatial.biomass.locations, "solid biomass"].rename(index=lambda x: x + " solid biomass for industry") / 8760 else: p_set = industrial_demand["solid biomass"].sum() / 8760 @@ -2129,59 +2182,129 @@ def add_industry(n, costs): p_set=industrial_demand.loc[nodes, "hydrogen"] / 8760 ) - if options["shipping_hydrogen_liquefaction"]: - - n.madd("Bus", - nodes, - suffix=" H2 liquid", - carrier="H2 liquid", - location=nodes, - unit="MWh_LHV" - ) - - n.madd("Link", - nodes + " H2 liquefaction", - bus0=nodes + " H2", - bus1=nodes + " H2 liquid", - carrier="H2 liquefaction", - efficiency=costs.at["H2 liquefaction", 'efficiency'], - capital_cost=costs.at["H2 liquefaction", 'fixed'], - p_nom_extendable=True, - lifetime=costs.at['H2 liquefaction', 'lifetime'] - ) - - shipping_bus = nodes + " H2 liquid" - else: - shipping_bus = nodes + " H2" - - all_navigation = ["total international navigation", "total domestic navigation"] - efficiency = options['shipping_average_efficiency'] / costs.at["fuel cell", "efficiency"] shipping_hydrogen_share = get(options['shipping_hydrogen_share'], investment_year) - p_set = shipping_hydrogen_share * pop_weighted_energy_totals.loc[nodes, all_navigation].sum(axis=1) * 1e6 * efficiency / 8760 + shipping_methanol_share = get(options['shipping_methanol_share'], investment_year) + shipping_oil_share = get(options['shipping_oil_share'], investment_year) - n.madd("Load", - nodes, - suffix=" H2 for shipping", - bus=shipping_bus, - carrier="H2 for shipping", - p_set=p_set - ) + total_share = shipping_hydrogen_share + shipping_methanol_share + shipping_oil_share + if total_share != 1: + logger.warning(f"Total shipping shares sum up to {total_share*100}%, corresponding to increased or decreased demand assumptions.") - if shipping_hydrogen_share < 1: + domestic_navigation = pop_weighted_energy_totals.loc[nodes, "total domestic navigation"].squeeze() + international_navigation = pd.read_csv(snakemake.input.shipping_demand, index_col=0).squeeze() + all_navigation = domestic_navigation + international_navigation + p_set = all_navigation * 1e6 / 8760 - shipping_oil_share = 1 - shipping_hydrogen_share + if shipping_hydrogen_share: - p_set = shipping_oil_share * pop_weighted_energy_totals.loc[nodes, all_navigation].sum(axis=1) * 1e6 / 8760. + oil_efficiency = options.get('shipping_oil_efficiency', options.get('shipping_average_efficiency', 0.4)) + efficiency = oil_efficiency / costs.at["fuel cell", "efficiency"] + shipping_hydrogen_share = get(options['shipping_hydrogen_share'], investment_year) + + if options["shipping_hydrogen_liquefaction"]: + + n.madd("Bus", + nodes, + suffix=" H2 liquid", + carrier="H2 liquid", + location=nodes, + unit="MWh_LHV" + ) + + n.madd("Link", + nodes + " H2 liquefaction", + bus0=nodes + " H2", + bus1=nodes + " H2 liquid", + carrier="H2 liquefaction", + efficiency=costs.at["H2 liquefaction", 'efficiency'], + capital_cost=costs.at["H2 liquefaction", 'fixed'], + p_nom_extendable=True, + lifetime=costs.at['H2 liquefaction', 'lifetime'] + ) + + shipping_bus = nodes + " H2 liquid" + else: + shipping_bus = nodes + " H2" + + efficiency = options['shipping_oil_efficiency'] / costs.at["fuel cell", "efficiency"] + p_set_hydrogen = shipping_hydrogen_share * p_set * efficiency n.madd("Load", nodes, + suffix=" H2 for shipping", + bus=shipping_bus, + carrier="H2 for shipping", + p_set=p_set_hydrogen + ) + + if shipping_methanol_share: + + n.madd("Bus", + spatial.methanol.nodes, + carrier="methanol", + location=spatial.methanol.locations, + unit="MWh_LHV" + ) + + n.madd("Store", + spatial.methanol.nodes, + suffix=" Store", + bus=spatial.methanol.nodes, + e_nom_extendable=True, + e_cyclic=True, + carrier="methanol", + ) + + n.madd("Link", + spatial.h2.locations + " methanolisation", + bus0=spatial.h2.nodes, + bus1=spatial.methanol.nodes, + bus2=nodes, + bus3=spatial.co2.nodes, + carrier="methanolisation", + p_nom_extendable=True, + p_min_pu=options.get("min_part_load_methanolisation", 0), + capital_cost=costs.at["methanolisation", 'fixed'] * options["MWh_MeOH_per_MWh_H2"], # EUR/MW_H2/a + lifetime=costs.at["methanolisation", 'lifetime'], + efficiency=options["MWh_MeOH_per_MWh_H2"], + efficiency2=- options["MWh_MeOH_per_MWh_H2"] / options["MWh_MeOH_per_MWh_e"], + efficiency3=- options["MWh_MeOH_per_MWh_H2"] / options["MWh_MeOH_per_tCO2"], + ) + + efficiency = options["shipping_oil_efficiency"] / options["shipping_methanol_efficiency"] + p_set_methanol = shipping_methanol_share * p_set.sum() * efficiency + + n.madd("Load", + spatial.methanol.nodes, + suffix=" shipping methanol", + bus=spatial.methanol.nodes, + carrier="shipping methanol", + p_set=p_set_methanol, + ) + + # CO2 intensity methanol based on stoichiometric calculation with 22.7 GJ/t methanol (32 g/mol), CO2 (44 g/mol), 277.78 MWh/TJ = 0.218 t/MWh + co2 = p_set_methanol / options["MWh_MeOH_per_tCO2"] + + n.add("Load", + "shipping methanol emissions", + bus="co2 atmosphere", + carrier="shipping methanol emissions", + p_set=-co2, + ) + + if shipping_oil_share: + + p_set_oil = shipping_oil_share * p_set.sum() + + n.madd("Load", + spatial.oil.nodes, suffix=" shipping oil", bus=spatial.oil.nodes, carrier="shipping oil", - p_set=p_set + p_set=p_set_oil ) - co2 = shipping_oil_share * pop_weighted_energy_totals.loc[nodes, all_navigation].sum().sum() * 1e6 / 8760 * costs.at["oil", "CO2 intensity"] + co2 = p_set_oil * costs.at["oil", "CO2 intensity"] n.add("Load", "shipping oil emissions", @@ -2245,21 +2368,30 @@ def add_industry(n, costs): bus2=spatial.co2.nodes, carrier="Fischer-Tropsch", efficiency=costs.at["Fischer-Tropsch", 'efficiency'], - capital_cost=costs.at["Fischer-Tropsch", 'fixed'], + capital_cost=costs.at["Fischer-Tropsch", 'fixed'] * costs.at["Fischer-Tropsch", 'efficiency'], # EUR/MW_H2/a efficiency2=-costs.at["oil", 'CO2 intensity'] * costs.at["Fischer-Tropsch", 'efficiency'], p_nom_extendable=True, + p_min_pu=options.get("min_part_load_fischer_tropsch", 0), lifetime=costs.at['Fischer-Tropsch', 'lifetime'] ) + demand_factor = options.get("HVC_demand_factor", 1) + p_set = demand_factor * industrial_demand.loc[nodes, "naphtha"].sum() / 8760 + if demand_factor != 1: + logger.warning(f"Changing HVC demand by {demand_factor*100-100:+.2f}%.") + n.madd("Load", ["naphtha for industry"], bus=spatial.oil.nodes, carrier="naphtha for industry", - p_set=industrial_demand.loc[nodes, "naphtha"].sum() / 8760 + p_set=p_set ) + demand_factor = options.get("aviation_demand_factor", 1) all_aviation = ["total international aviation", "total domestic aviation"] - p_set = pop_weighted_energy_totals.loc[nodes, all_aviation].sum(axis=1).sum() * 1e6 / 8760 + p_set = demand_factor * pop_weighted_energy_totals.loc[nodes, all_aviation].sum(axis=1).sum() * 1e6 / 8760 + if demand_factor != 1: + logger.warning(f"Changing aviation demand by {demand_factor*100-100:+.2f}%.") n.madd("Load", ["kerosene for aviation"], @@ -2306,25 +2438,31 @@ def add_industry(n, costs): p_set=industrial_demand.loc[nodes, "electricity"] / 8760 ) - n.add("Bus", - "process emissions", - location="EU", + n.madd("Bus", + spatial.co2.process_emissions, + location=spatial.co2.locations, carrier="process emissions", unit="t_co2" ) + sel = ["process emission", "process emission from feedstock"] + if options["co2_spatial"] or options["co2network"]: + p_set = -industrial_demand.loc[nodes, sel].sum(axis=1).rename(index=lambda x: x + " process emissions") / 8760 + else: + p_set = -industrial_demand.loc[nodes, sel].sum(axis=1).sum() / 8760 + # this should be process emissions fossil+feedstock # then need load on atmosphere for feedstock emissions that are currently going to atmosphere via Link Fischer-Tropsch demand - n.add("Load", - "process emissions", - bus="process emissions", + n.madd("Load", + spatial.co2.process_emissions, + bus=spatial.co2.process_emissions, carrier="process emissions", - p_set=-industrial_demand.loc[nodes,["process emission", "process emission from feedstock"]].sum(axis=1).sum() / 8760 + p_set=p_set, ) - n.add("Link", - "process emissions", - bus0="process emissions", + n.madd("Link", + spatial.co2.process_emissions, + bus0=spatial.co2.process_emissions, bus1="co2 atmosphere", carrier="process emissions", p_nom_extendable=True, @@ -2335,7 +2473,7 @@ def add_industry(n, costs): n.madd("Link", spatial.co2.locations, suffix=" process emissions CC", - bus0="process emissions", + bus0=spatial.co2.process_emissions, bus1="co2 atmosphere", bus2=spatial.co2.nodes, carrier="process emissions CC", @@ -2376,6 +2514,11 @@ def add_waste_heat(n): n.links.loc[urban_central + " Fischer-Tropsch", "bus3"] = urban_central + " urban central heat" n.links.loc[urban_central + " Fischer-Tropsch", "efficiency3"] = 0.95 - n.links.loc[urban_central + " Fischer-Tropsch", "efficiency"] + # TODO integrate useable waste heat efficiency into technology-data from DEA + if options.get('use_electrolysis_waste_heat', False): + n.links.loc[urban_central + " H2 Electrolysis", "bus2"] = urban_central + " urban central heat" + n.links.loc[urban_central + " H2 Electrolysis", "efficiency2"] = 0.84 - n.links.loc[urban_central + " H2 Electrolysis", "efficiency"] + if options['use_fuel_cell_waste_heat']: n.links.loc[urban_central + " H2 Fuel Cell", "bus2"] = urban_central + " urban central heat" n.links.loc[urban_central + " H2 Fuel Cell", "efficiency2"] = 0.95 - n.links.loc[urban_central + " H2 Fuel Cell", "efficiency"] @@ -2410,8 +2553,11 @@ def add_agriculture(n, costs): # machinery electric_share = get(options["agriculture_machinery_electric_share"], investment_year) - assert electric_share <= 1. - ice_share = 1 - electric_share + oil_share = get(options["agriculture_machinery_oil_share"], investment_year) + + total_share = electric_share + oil_share + if total_share != 1: + logger.warning(f"Total agriculture machinery shares sum up to {total_share*100}%, corresponding to increased or decreased demand assumptions.") machinery_nodal_energy = pop_weighted_energy_totals.loc[nodes, "total agriculture machinery"] @@ -2427,16 +2573,16 @@ def add_agriculture(n, costs): p_set=electric_share / efficiency_gain * machinery_nodal_energy * 1e6 / 8760, ) - if ice_share > 0: + if oil_share > 0: n.madd("Load", ["agriculture machinery oil"], bus=spatial.oil.nodes, carrier="agriculture machinery oil", - p_set=ice_share * machinery_nodal_energy.sum() * 1e6 / 8760 + p_set=oil_share * machinery_nodal_energy.sum() * 1e6 / 8760 ) - co2 = ice_share * machinery_nodal_energy.sum() * 1e6 / 8760 * costs.at["oil", 'CO2 intensity'] + co2 = oil_share * machinery_nodal_energy.sum() * 1e6 / 8760 * costs.at["oil", 'CO2 intensity'] n.add("Load", "agriculture machinery oil emissions", @@ -2500,6 +2646,98 @@ def limit_individual_line_extension(n, maxext): n.links.loc[hvdc, 'p_nom_max'] = n.links.loc[hvdc, 'p_nom'] + maxext +aggregate_dict = { + "p_nom": "sum", + "s_nom": "sum", + "v_nom": "max", + "v_mag_pu_max": "min", + "v_mag_pu_min": "max", + "p_nom_max": "sum", + "s_nom_max": "sum", + "p_nom_min": "sum", + "s_nom_min": "sum", + 'v_ang_min': "max", + "v_ang_max":"min", + "terrain_factor":"mean", + "num_parallel": "sum", + "p_set": "sum", + "e_initial": "sum", + "e_nom": "sum", + "e_nom_max": "sum", + "e_nom_min": "sum", + "state_of_charge_initial": "sum", + "state_of_charge_set": "sum", + "inflow": "sum", + "p_max_pu": "first", + "x": "mean", + "y": "mean" +} + +def cluster_heat_buses(n): + """Cluster residential and service heat buses to one representative bus. + This can be done to save memory and speed up optimisation + """ + + def define_clustering(attributes, aggregate_dict): + """Define how attributes should be clustered. + Input: + attributes : pd.Index() + aggregate_dict: dictionary (key: name of attribute, value + clustering method) + + Returns: + agg : clustering dictionary + """ + keys = attributes.intersection(aggregate_dict.keys()) + agg = dict( + zip( + attributes.difference(keys), + ["first"] * len(df.columns.difference(keys)), + ) + ) + for key in keys: + agg[key] = aggregate_dict[key] + return agg + + logger.info("Cluster residential and service heat buses.") + components = ["Bus", "Carrier", "Generator", "Link", "Load", "Store"] + + for c in n.iterate_components(components): + df = c.df + cols = df.columns[df.columns.str.contains("bus") | (df.columns=="carrier")] + + # rename columns and index + df[cols] = (df[cols] + .apply(lambda x: x.str.replace("residential ","") + .str.replace("services ", ""), axis=1)) + df = df.rename(index=lambda x: x.replace("residential ","") + .replace("services ", "")) + + + # cluster heat nodes + # static dataframe + agg = define_clustering(df.columns, aggregate_dict) + df = df.groupby(level=0).agg(agg, **agg_group_kwargs) + # time-varying data + pnl = c.pnl + agg = define_clustering(pd.Index(pnl.keys()), aggregate_dict) + for k in pnl.keys(): + pnl[k].rename(columns=lambda x: x.replace("residential ","") + .replace("services ", ""), inplace=True) + pnl[k] = ( + pnl[k] + .groupby(level=0, axis=1) + .agg(agg[k], **agg_group_kwargs) + ) + + # remove unclustered assets of service/residential + to_drop = c.df.index.difference(df.index) + n.mremove(c.name, to_drop) + # add clustered assets + to_add = df.index.difference(c.df.index) + import_components_from_dataframe(n, df.loc[to_add], c.name) + + def apply_time_segmentation(n, segments, solver_name="cbc", overwrite_time_dependent=True): """Aggregating time series to segments with different lengths @@ -2581,6 +2819,7 @@ def set_temporal_aggregation(n, opts, solver_name): n = apply_time_segmentation(n, segments, solver_name=solver_name) break return n + #%% if __name__ == "__main__": if 'snakemake' not in globals(): @@ -2682,9 +2921,12 @@ if __name__ == "__main__": if "noH2network" in opts: remove_h2_network(n) - if options["co2_network"]: + if options["co2network"]: add_co2_network(n, costs) + if options["allam_cycle"]: + add_allam(n, costs) + solver_name = snakemake.config["solving"]["solver"]["name"] n = set_temporal_aggregation(n, opts, solver_name) @@ -2727,5 +2969,13 @@ if __name__ == "__main__": if options['electricity_grid_connection']: add_electricity_grid_connection(n, costs) + first_year_myopic = ((snakemake.config["foresight"] == 'myopic') and + (snakemake.config["scenario"]["planning_horizons"][0]==investment_year)) + + if options.get("cluster_heat_buses", False) and not first_year_myopic: + cluster_heat_buses(n) + + n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards))) + n.export_to_netcdf(snakemake.output[0]) diff --git a/test/config.myopic.yaml b/test/config.myopic.yaml index d0a6a918..255d6734 100644 --- a/test/config.myopic.yaml +++ b/test/config.myopic.yaml @@ -3,10 +3,10 @@ version: 0.6.0 logging_level: INFO retrieve_sector_databundle: true +retrieve_cost_data: true results_dir: results/ summary_dir: results -costs_dir: ../technology-data/outputs/ run: test-myopic # use this to keep track of runs with different settings foresight: myopic # options are overnight, myopic, perfect (perfect is not yet implemented) # if you use myopic or perfect foresight, set the investment years in "planning_horizons" below @@ -61,7 +61,7 @@ snapshots: # arguments to pd.date_range start: "2013-03-01" end: "2013-04-01" - closed: left # end is not inclusive + inclusive: left # end is not inclusive atlite: cutout: ../pypsa-eur/cutouts/be-03-2013-era5.nc @@ -235,6 +235,8 @@ sector: dac: true co2_vent: true SMR: true + regional_co2_sequestration_potential: + enable: false co2_sequestration_potential: 200 #MtCO2/a sequestration potential for Europe co2_sequestration_cost: 10 #EUR/tCO2 for sequestration of CO2 co2_network: false @@ -320,6 +322,7 @@ industry: costs: year: 2030 + version: v0.5.0 lifetime: 25 #default lifetime # From a Lion Hirth paper, also reflects average of Noothout et al 2016 discountrate: 0.07 diff --git a/test/config.overnight.yaml b/test/config.overnight.yaml index 1dc314dd..a68ad540 100644 --- a/test/config.overnight.yaml +++ b/test/config.overnight.yaml @@ -3,10 +3,10 @@ version: 0.6.0 logging_level: INFO retrieve_sector_databundle: true +retrieve_cost_data: true results_dir: results/ summary_dir: results -costs_dir: ../technology-data/outputs/ run: test-overnight # use this to keep track of runs with different settings foresight: overnight # options are overnight, myopic, perfect (perfect is not yet implemented) # if you use myopic or perfect foresight, set the investment years in "planning_horizons" below @@ -59,7 +59,7 @@ snapshots: # arguments to pd.date_range start: "2013-03-01" end: "2013-04-01" - closed: left # end is not inclusive + inclusive: left # end is not inclusive atlite: cutout: ../pypsa-eur/cutouts/be-03-2013-era5.nc @@ -233,6 +233,8 @@ sector: dac: true co2_vent: true SMR: true + regional_co2_sequestration_potential: + enable: false co2_sequestration_potential: 200 #MtCO2/a sequestration potential for Europe co2_sequestration_cost: 10 #EUR/tCO2 for sequestration of CO2 co2_network: false @@ -318,6 +320,7 @@ industry: costs: year: 2030 + version: v0.5.0 lifetime: 25 #default lifetime # From a Lion Hirth paper, also reflects average of Noothout et al 2016 discountrate: 0.07