Last active
July 5, 2017 23:50
-
-
Save HenryW95/0d078655c6925517a11d73a0aebe6be3 to your computer and use it in GitHub Desktop.
skysat-coverage-map
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
license: mit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Paterson_WA | 298 | 46.009901 | -119.638 | Paterson | WA | |
Gothenburg_NE | 294 | 40.977572 | -100.179454 | Gothenburg | NE | |
Castle_Cliffs_NZ | 262 | -41.579257 | 174.127469 | Castle Cliffs | NZ | |
Blaine_MT | 218 | 48.43279914 | -108.9586473 | Blaine | MT | |
Newberg_OR | 192 | 45.349558 | -123.009384 | Newberg | OR | |
Knobview_MO | 172 | 38.040471 | -91.490501 | Knobview | MO | |
Albany_GA | 154 | 31.640734 | -84.315048 | Albany | GA | |
Clark_SD | 110 | 44.858178 | -97.729555 | Clark | SD | |
Angaston_Australia | 96 | -34.480958 | 138.9905 | Angaston | Australia | |
Wilyabrup_Australia | 96 | -33.787078 | 115.033422 | Wilyabrup | Australia | |
Tabuk_Saudi Arabia | 94 | 30.070187 | 38.307049 | Tabuk | Saudi Arabia | |
Battleford_Canada | 92 | 52.632217 | -108.6169 | Battleford | Canada | |
McHenry_ND | 84 | 48.234577 | -100.636319 | McHenry | ND | |
PampasRancho_Mexico_UNKNOWNLOCATION | 80 | PampasRancho Mexico | UNKNOWNLOCATION | |||
Concordia_LA | 79 | 31.445774 | -91.639764 | Concordia | LA | |
Hardin_KY | 78 | 37.697884 | -85.963441 | Hardin | KY | |
Logan_OH | 78 | 40.388473 | -83.765777 | Logan | OH | |
Mepiche_Mozambique | 76 | -13.315898 | 38.665981 | Mepiche | Mozambique | |
Kamsack_Saskatchewan | 68 | 51.490974 | -101.947149 | Kamsack | Saskatchewan | |
Barnes_ND | 62 | 46.936128 | -98.071586 | Barnes | ND | |
Lethbridge_Canada | 52 | 49.531498 | -113.131812 | Lethbridge | Canada | |
Carroll_MO | 49 | 39.426812 | -93.505061 | Carroll | MO | |
Merrick_NE | 39 | 41.2544 | -98.2213 | Merrick | NE | |
Nagaoka_Japan | 39 | 37.5287 | 138.8252 | Nagaoka | Japan | |
Yellow_Medicine_MN | 38 | 44.7162 | -95.868367 | Yellow Medicine | MN | |
San_Luis_Obispo_CA | 37 | 35.291967 | -120.66284 | San Luis Obispo | CA | |
Tehama_CA | 26 | 40.026097 | -122.123338 | Tehama | CA | |
Suwannee_County_FL | 24 | 30.176728 | -83.197977 | Suwannee County | FL | |
Runnels_County_TX | 18 | 31.83109683 | -99.97618039 | Runnels County | TX | |
Burdette_Alberta | 15 | 49.723051 | -111.506373 | Burdette | Alberta | |
Robinvale_Australia | 14 | -34.588257 | 142.777304 | Robinvale | Australia | |
NZ_Wine_UNKNOWNLOCATION | 10 | NZ Wine | UNKNOWNLOCATION | |||
Myrtleford_Australia | 8 | -36.557401 | 146.724114 | Myrtleford | Australia | |
Peru_Swathe_UNKNOWNLOCATION | 7 | Peru Swathe | UNKNOWNLOCATION | |||
Yakima_WA | 7 | 46.282615 | -119.83534 | Yakima | WA | |
Mendota_CA | 6 | 36.845836 | -120.220975 | Mendota | CA | |
Wheat_MT_UNKNOWNLOCATION | 6 | Wheat MT | UNKNOWNLOCATION | |||
Yuma_CO | 5 | 40.3056 | -102.5382 | Yuma | CO | |
Hector_ AR | 4 | 35.831529 | -89.976437 | Hector | AR | |
Mildura_Australia | 4 | -34.298784 | 142.124781 | Mildura | Australia | |
Tarneit_Australia | 4 | -37.81021 | 144.667375 | Tarneit | Australia | |
Yakima_WA | 4 | 46.282615 | -119.83534 | Yakima | WA | |
Runnels_TX | 4 | 31.83109683 | -99.97618039 | Runnels | TX | |
Tehama_CA | 3 | 39.954167 | -122.265694 | Tehama | CA | |
Kamsack_Canada | 3 | 49.531498 | -113.131812 | Kamsack | Canada | |
Moorabool_Australia | 3 | -37.620387 | 144.221511 | Moorabool | Australia | |
Vineyards_San Luis Obispo | 3 | 35.231205 | -120.606299 | Vineyards | San Luis Obispo | |
Corn_NE_UNKNOWNLOCATION | 2 | Corn NE | UNKNOWNLOCATION | |||
Corn_Saudi_Arabia_UNKNOWNLOCATION | 2 | Corn Saudi Arabia | UNKNOWNLOCATION | |||
Dimbulah_Australia | 2 | -17.166811 | 145.084536 | Dimbulah | Australia | |
Lindsay_Pt_Australia | 134 | -34.073954 | 140.997769 | Lindsay Pt | Australia | |
Corn_CO_UNKNOWNLOCATION | 1 | Corn CO | UNKNOWNLOCATION | |||
Mareeba_Australia | 1 | -17.02758 | 145.410367 | Mareeba | Australia | |
Parramatta_Australia | 1 | -33.815665 | 151.00187 | Parramatta | Australia | |
Vineyards_CA_UNKNOWNLOCATION | 1 | Vineyards CA | UNKNOWNLOCATION |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Suva_Fiji | 291 | -18.133333 | 178.442277 | Suva | Fiji | |
Budapest_Hungary | 288 | 47.494364 | 19.0652 | Budapest | Hungary | |
Reykjavik_Iceland | 288 | 64.128706 | -21.892216 | Reykjavik | Iceland | |
Rome_Italy | 283 | 41.891306 | 12.488866 | Rome | Italy | |
Yekaterinburg_Russia | 245 | 56.838476 | 60.605584 | Yekaterinburg | Russia | |
Chicago_IL | 242 | 41.876336 | -87.626824 | Chicago | IL | |
Omsk_Russia | 240 | 54.983144 | 73.366573 | Omsk | Russia | |
Istanbul_Turkey | 237 | 41.008437 | 28.975669 | Istanbul | Turkey | |
Moscow_Russia | 235 | 55.755716 | 37.617263 | Moscow | Russia | |
Belem_Brazil | 223 | -1.446902 | -48.477614 | Belem | Brazil | |
Kiev_Ukraine | 219 | 50.452645 | 30.505766 | Kiev | Ukraine | |
Warsaw_Poland | 216 | 52.22978 | 21.011709 | Warsaw | Poland | |
Havana_Cuba | 210 | 23.173581 | -82.329336 | Havana | Cuba | |
Addis_Ababa_Ethiopia | 203 | 9.029997126 | 38.70000059 | Addis Ababa | Ethiopia | |
Sydney_Australia | 270 | -33.795698 | 151.209693 | Sydney | Australia | |
Fortaleza_Brazil | 198 | -3.743738 | -38.529958 | Fortaleza | Brazil | |
Kabul_Afghanistan | 196 | 34.551569 | 69.174027 | Kabul | Afghanistan | |
Recife_Brazil | 196 | -8.053334 | -34.889862 | Recife | Brazil | |
Toronto_Canada | 194 | 43.652791 | -79.379191 | Toronto | Canada | |
Manaus_Brazil | 191 | -3.126941 | -60.006876 | Manaus | Brazil | |
Vienna_Austria | 190 | 48.205968 | 16.373133 | Vienna | Austria | |
Casablanca_Morocco | 189 | 33.581796 | -7.589159 | Casablanca | Morocco | |
Dublin_Ireland | 188 | 53.3453892 | -6.25742197 | Dublin | Ireland | |
Kinshasa_DRC | 188 | -4.326348 | 15.312588 | Kinshasa | DRC | |
Johannesburg_South Africa | 183 | -26.20556 | 28.046963 | Johannesburg | South Africa | |
Bangui_Central African Republic | 180 | 4.389135 | 18.550274 | Bangui | Central African Republic | |
Harare_Zimbabwe | 180 | -17.846385 | 31.033449 | Harare | Zimbabwe | |
Chongqing_China | 179 | 29.798597 | 106.664989 | Chongqing | China | |
Bogota_Colombia | 174 | 4.717173 | -74.059455 | Bogota | Colombia | |
Milwaukee_WI | 172 | 43.029252 | -87.918156 | Milwaukee | WI | |
Zurich_Switzerland | 165 | 47.381474 | 8.525242 | Zurich | Switzerland | |
Berlin_Germany | 163 | 52.520007 | 13.404954 | Berlin | Germany | |
Dhaka_Bangladesh | 163 | 23.805383 | 90.398595 | Dhaka | Bangladesh | |
Karachi_Pakistan | 167 | 24.845342 | 66.989209 | Karachi | Pakistan | |
Lahore_Pakistan | 161 | 31.554138 | 74.358386 | Lahore | Pakistan | |
Khartoum_Sudan | 158 | 15.579367 | 32.543482 | Khartoum | Sudan | |
Mexico_City_Mexico | 155 | 19.518793 | -99.082671 | Mexico City | Mexico | |
Hyderabad_India | 152 | 17.380434 | 78.471484 | Hyderabad | India | |
Surabaya_Indonesia | 150 | -7.191716 | 112.738059 | Surabaya | Indonesia | |
Stockholm_Sweden | 148 | 59.300921 | 18.084156 | Stockholm | Sweden | |
Cape_Town_Africa | 146 | -33.923145 | 18.427009 | Cape Town | Africa | |
Kathmandu_Nepal | 142 | 27.755476 | 85.352996 | Kathmandu | Nepal | |
Long_Beach_CA | 139 | 33.761376 | -118.191332 | Long Beach | CA | |
Mumbai_India | 137 | 19.105774 | 72.862753 | Mumbai | India | |
Kashgar_China | 130 | 39.57058 | 76.010247 | Kashgar | China | |
London_UK | 129 | 51.506742 | -0.123627 | London | UK | |
Juba_Sudan | 123 | 4.858974 | 31.574176 | Juba | Sudan | |
San_Francisco_CA | 119 | 37.829548 | -122.282406 | San Francisco | CA | |
Tehran_Iran | 117 | 35.707028 | 51.425803 | Tehran | Iran | |
Frankfurt_Germany | 115 | 50.112392 | 8.683487 | Frankfurt | Germany | |
Paris_France | 113 | 48.859448 | 2.339447 | Paris | France | |
Perth_Australia | 157 | -31.921994 | 115.903457 | Perth | Australia | |
Kuala_Lumpur_Malaysia | 108 | 3.156221 | 101.708418 | Kuala Lumpur | Malaysia | |
Adelaide_Airport_Australia | 103 | -34.946409 | 138.533013 | Adelaide Airport | Australia | |
Phoenix_AZ | 103 | 33.248439 | -111.734514 | Phoenix | AZ | |
Kolkata_India | 102 | 22.581197 | 88.364564 | Kolkata | India | |
Buenos_Aires_Argentina | 100 | -34.561466 | -58.378503 | Buenos Aires | Argentina | |
New_Delhi_India | 100 | 28.619287 | 77.234237 | New Delhi | India | |
Fort_McMurray_Canada | 99 | 56.75501 | -111.498044 | Fort McMurray | Canada | |
Las_Vegas_NV | 98 | 36.251698 | -115.044709 | Las Vegas | NV | |
Lisbon_Portugal | 98 | 38.721842 | -9.139449 | Lisbon | Portugal | |
Lima_Peru | 95 | -12.048671 | -77.04068 | Lima | Peru | |
Miami_FL | 94 | 25.776614 | -80.165893 | Miami | FL | |
Munich_Germany | 94 | 48.126565 | 11.559898 | Munich | Germany | |
Denver_Colorado | 93 | 39.742691 | -104.996488 | Denver | Colorado | |
St_Louis_MO | 88 | 38.62321 | -90.186959 | St Louis | MO | |
Cincinnati_OH | 85 | 39.098034 | -84.51136 | Cincinnati | OH | |
Algiers_Algeria | 84 | 36.770785 | 3.054276 | Algiers | Algeria | |
Bangkok_Thailand | 81 | 13.697423 | 100.579843 | Bangkok | Thailand | |
Mountain_View_CA | 79 | 37.413197 | -122.081458 | Mountain View | CA | |
Barcelona_Spain | 77 | 41.385234 | 2.179632 | Barcelona | Spain | |
Los_Angeles_CA | 72 | 34.105949 | -118.231221 | Los Angeles | CA | |
Seoul_Korea | 70 | 37.543327 | 126.989576 | Seoul | Korea | |
Yangon_Myanmar | 70 | 16.787819 | 96.150007 | Yangon | Myanmar | |
Beijing_China | 67 | 39.9375346 | 115.837023 | Beijing | China | |
Nakhon_Sawan | 64 | 15.695 | 100.1228 | Nakhon | Sawan | |
Amsterdam_Netherlands | 60 | 52.35356 | 4.88988 | Amsterdam | Netherlands | |
Athens_Greece | 60 | 37.95051 | 23.610848 | Athens | Greece | |
Baton_Rouge | 60 | 30.427376 | -91.188976 | Baton | Rouge | |
Aleppo_Syria | 55 | 36.205983 | 37.145496 | Aleppo | Syria | |
Tarawa_Kiribati | 55 | 1.373766 | 172.900348 | Tarawa | Kiribati | |
Cairo_Egypt | 54 | 29.976176 | 31.132249 | Cairo | Egypt | |
San_Diego_CA | 53 | 32.743137 | -117.203601 | San Diego | CA | |
Tokyo_Japan | 53 | 35.662308 | 139.914391 | Tokyo | Japan | |
Singapore_Singapore | 52 | 1.260756 | 103.885993 | Singapore | Singapore | |
Shanghai_China | 47 | 31.358233 | 121.646626 | Shanghai | China | |
Yarmouk_Syria | 44 | 33.586337 | 36.399111 | Yarmouk | Syria | |
New York_United States | 31 | 40.726574 | -73.994126 | New York | United States | |
New_York_United States | 25 | 40.726574 | -73.994126 | New York | United States | |
Taiz_Yemen | 20 | 13.65942583 | 43.99370183 | Taiz | Yemen | |
Liaoyang_Liaoning_China | 19 | 41.268062 | 123.233542 | Liaoyang Liaoning | China | |
Dallas_TX | 13 | 32.775237 | -96.797644 | Dallas | TX | |
Rotterdam_Netherlands | 13 | 51.971108 | 3.98242 | Rotterdam | Netherlands | |
Iquitos_Peru | 12 | -3.725158 | -73.243519 | Iquitos | Peru | |
Prague_Czech_Republic | 8 | 50.078148 | 14.442224 | Prague Czech | Republic | |
Wood_Wharf | 6 | 51.502928 | -0.01246 | Wood | Wharf | |
Jakarata_Indonesia | 5 | -6.1380046 | 106.8034494 | Jakarata | Indonesia | |
Rio_De_Janeiro | 5 | -22.943409 | -43.184291 | Rio De | Janeiro | |
Auckland_New Zealand | 4 | -36.858266 | 174.764205 | Auckland | New Zealand | |
Willbros_HCA | 4 | 35.278324 | -89.734644 | Willbros | HCA | |
Raleigh_NC | 4 | 35.854322 | -78.521675 | Raleigh | NC | |
Hong_Kong | 2 | 22.28847 | 114.172541 | Hong | Kong | |
Illkirch_France | 2 | 48.520916 | 7.712023 | Illkirch | France | |
Austin_TX | 1 | 30.51734 | -97.71361 | Austin | TX | |
Boston_MA | 1 | 42.340836 | -71.018347 | Boston | MA | |
Iran_Tehran | 1 | 35.713387 | 51.180716 | Iran | Tehran | |
Strasbourg_France | 1 | 48.590646 | 7.754505 | Strasbourg | France |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | |
var helper = require('./legend'); | |
module.exports = function(){ | |
var scale = d3.scale.linear(), | |
shape = "rect", | |
shapeWidth = 15, | |
shapeHeight = 15, | |
shapeRadius = 10, | |
shapePadding = 2, | |
cells = [5], | |
labels = [], | |
classPrefix = "", | |
useClass = false, | |
title = "", | |
labelFormat = d3.format(".01f"), | |
labelOffset = 10, | |
labelAlign = "middle", | |
labelDelimiter = "to", | |
orient = "vertical", | |
ascending = false, | |
path, | |
legendDispatcher = d3.dispatch("cellover", "cellout", "cellclick"); | |
function legend(svg){ | |
var type = helper.d3_calcType(scale, ascending, cells, labels, labelFormat, labelDelimiter), | |
legendG = svg.selectAll('g').data([scale]); | |
legendG.enter().append('g').attr('class', classPrefix + 'legendCells'); | |
var cell = legendG.selectAll("." + classPrefix + "cell").data(type.data), | |
cellEnter = cell.enter().append("g", ".cell").attr("class", classPrefix + "cell").style("opacity", 1e-6), | |
shapeEnter = cellEnter.append(shape).attr("class", classPrefix + "swatch"), | |
shapes = cell.select("g." + classPrefix + "cell " + shape); | |
//add event handlers | |
helper.d3_addEvents(cellEnter, legendDispatcher); | |
cell.exit().transition().style("opacity", 0).remove(); | |
helper.d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, path); | |
helper.d3_addText(legendG, cellEnter, type.labels, classPrefix) | |
// sets placement | |
var text = cell.select("text"), | |
shapeSize = shapes[0].map( function(d){ return d.getBBox(); }); | |
//sets scale | |
//everything is fill except for line which is stroke, | |
if (!useClass){ | |
if (shape == "line"){ | |
shapes.style("stroke", type.feature); | |
} else { | |
shapes.style("fill", type.feature); | |
} | |
} else { | |
shapes.attr("class", function(d){ return classPrefix + "swatch " + type.feature(d); }); | |
} | |
var cellTrans, | |
textTrans, | |
textAlign = (labelAlign == "start") ? 0 : (labelAlign == "middle") ? 0.5 : 1; | |
//positions cells and text | |
if (orient === "vertical"){ | |
cellTrans = function(d,i) { return "translate(0, " + (i * (shapeSize[i].height + shapePadding)) + ")"; }; | |
textTrans = function(d,i) { return "translate(" + (shapeSize[i].width + shapeSize[i].x + | |
labelOffset) + "," + (shapeSize[i].y + shapeSize[i].height/2 + 5) + ")"; }; | |
} else if (orient === "horizontal"){ | |
cellTrans = function(d,i) { return "translate(" + (i * (shapeSize[i].width + shapePadding)) + ",0)"; } | |
textTrans = function(d,i) { return "translate(" + (shapeSize[i].width*textAlign + shapeSize[i].x) + | |
"," + (shapeSize[i].height + shapeSize[i].y + labelOffset + 8) + ")"; }; | |
} | |
helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign); | |
helper.d3_title(svg, legendG, title, classPrefix); | |
cell.transition().style("opacity", 1); | |
} | |
legend.scale = function(_) { | |
if (!arguments.length) return scale; | |
scale = _; | |
return legend; | |
}; | |
legend.cells = function(_) { | |
if (!arguments.length) return cells; | |
if (_.length > 1 || _ >= 2 ){ | |
cells = _; | |
} | |
return legend; | |
}; | |
legend.shape = function(_, d) { | |
if (!arguments.length) return shape; | |
if (_ == "rect" || _ == "circle" || _ == "line" || (_ == "path" && (typeof d === 'string')) ){ | |
shape = _; | |
path = d; | |
} | |
return legend; | |
}; | |
legend.shapeWidth = function(_) { | |
if (!arguments.length) return shapeWidth; | |
shapeWidth = +_; | |
return legend; | |
}; | |
legend.shapeHeight = function(_) { | |
if (!arguments.length) return shapeHeight; | |
shapeHeight = +_; | |
return legend; | |
}; | |
legend.shapeRadius = function(_) { | |
if (!arguments.length) return shapeRadius; | |
shapeRadius = +_; | |
return legend; | |
}; | |
legend.shapePadding = function(_) { | |
if (!arguments.length) return shapePadding; | |
shapePadding = +_; | |
return legend; | |
}; | |
legend.labels = function(_) { | |
if (!arguments.length) return labels; | |
labels = _; | |
return legend; | |
}; | |
legend.labelAlign = function(_) { | |
if (!arguments.length) return labelAlign; | |
if (_ == "start" || _ == "end" || _ == "middle") { | |
labelAlign = _; | |
} | |
return legend; | |
}; | |
legend.labelFormat = function(_) { | |
if (!arguments.length) return labelFormat; | |
labelFormat = _; | |
return legend; | |
}; | |
legend.labelOffset = function(_) { | |
if (!arguments.length) return labelOffset; | |
labelOffset = +_; | |
return legend; | |
}; | |
legend.labelDelimiter = function(_) { | |
if (!arguments.length) return labelDelimiter; | |
labelDelimiter = _; | |
return legend; | |
}; | |
legend.useClass = function(_) { | |
if (!arguments.length) return useClass; | |
if (_ === true || _ === false){ | |
useClass = _; | |
} | |
return legend; | |
}; | |
legend.orient = function(_){ | |
if (!arguments.length) return orient; | |
_ = _.toLowerCase(); | |
if (_ == "horizontal" || _ == "vertical") { | |
orient = _; | |
} | |
return legend; | |
}; | |
legend.ascending = function(_) { | |
if (!arguments.length) return ascending; | |
ascending = !!_; | |
return legend; | |
}; | |
legend.classPrefix = function(_) { | |
if (!arguments.length) return classPrefix; | |
classPrefix = _; | |
return legend; | |
}; | |
legend.title = function(_) { | |
if (!arguments.length) return title; | |
title = _; | |
return legend; | |
}; | |
d3.rebind(legend, legendDispatcher, "on"); | |
return legend; | |
}; | |
},{"./legend":2}],2:[function(require,module,exports){ | |
module.exports = { | |
d3_identity: function (d) { | |
return d; | |
}, | |
d3_mergeLabels: function (gen, labels) { | |
if(labels.length === 0) return gen; | |
gen = (gen) ? gen : []; | |
var i = labels.length; | |
for (; i < gen.length; i++) { | |
labels.push(gen[i]); | |
} | |
return labels; | |
}, | |
d3_linearLegend: function (scale, cells, labelFormat) { | |
var data = []; | |
if (cells.length > 1){ | |
data = cells; | |
} else { | |
var domain = scale.domain(), | |
increment = (domain[domain.length - 1] - domain[0])/(cells - 1), | |
i = 0; | |
for (; i < cells; i++){ | |
data.push(domain[0] + i*increment); | |
} | |
} | |
var labels = data.map(labelFormat); | |
return {data: data, | |
labels: labels, | |
feature: function(d){ return scale(d); }}; | |
}, | |
d3_quantLegend: function (scale, labelFormat, labelDelimiter) { | |
var labels = scale.range().map(function(d){ | |
var invert = scale.invertExtent(d), | |
a = labelFormat(invert[0]), | |
b = labelFormat(invert[1]); | |
// if (( (a) && (a.isNan()) && b){ | |
// console.log("in initial statement") | |
return labelFormat(invert[0]) + " " + labelDelimiter + " " + labelFormat(invert[1]); | |
// } else if (a || b) { | |
// console.log('in else statement') | |
// return (a) ? a : b; | |
// } | |
}); | |
return {data: scale.range(), | |
labels: labels, | |
feature: this.d3_identity | |
}; | |
}, | |
d3_ordinalLegend: function (scale) { | |
return {data: scale.domain(), | |
labels: scale.domain(), | |
feature: function(d){ return scale(d); }}; | |
}, | |
d3_drawShapes: function (shape, shapes, shapeHeight, shapeWidth, shapeRadius, path) { | |
if (shape === "rect"){ | |
shapes.attr("height", shapeHeight).attr("width", shapeWidth); | |
} else if (shape === "circle") { | |
shapes.attr("r", shapeRadius)//.attr("cx", shapeRadius).attr("cy", shapeRadius); | |
} else if (shape === "line") { | |
shapes.attr("x1", 0).attr("x2", shapeWidth).attr("y1", 0).attr("y2", 0); | |
} else if (shape === "path") { | |
shapes.attr("d", path); | |
} | |
}, | |
d3_addText: function (svg, enter, labels, classPrefix){ | |
enter.append("text").attr("class", classPrefix + "label"); | |
svg.selectAll("g." + classPrefix + "cell text." + classPrefix + "label") | |
.data(labels).text(this.d3_identity); | |
}, | |
d3_calcType: function (scale, ascending, cells, labels, labelFormat, labelDelimiter){ | |
var type = scale.ticks ? | |
this.d3_linearLegend(scale, cells, labelFormat) : scale.invertExtent ? | |
this.d3_quantLegend(scale, labelFormat, labelDelimiter) : this.d3_ordinalLegend(scale); | |
type.labels = this.d3_mergeLabels(type.labels, labels); | |
if (ascending) { | |
type.labels = this.d3_reverse(type.labels); | |
type.data = this.d3_reverse(type.data); | |
} | |
return type; | |
}, | |
d3_reverse: function(arr) { | |
var mirror = []; | |
for (var i = 0, l = arr.length; i < l; i++) { | |
mirror[i] = arr[l-i-1]; | |
} | |
return mirror; | |
}, | |
d3_placement: function (orient, cell, cellTrans, text, textTrans, labelAlign) { | |
cell.attr("transform", cellTrans); | |
text.attr("transform", textTrans); | |
if (orient === "horizontal"){ | |
text.style("text-anchor", labelAlign); | |
} | |
}, | |
d3_addEvents: function(cells, dispatcher){ | |
var _ = this; | |
cells.on("mouseover.legend", function (d) { _.d3_cellOver(dispatcher, d, this); }) | |
.on("mouseout.legend", function (d) { _.d3_cellOut(dispatcher, d, this); }) | |
.on("click.legend", function (d) { _.d3_cellClick(dispatcher, d, this); }); | |
}, | |
d3_cellOver: function(cellDispatcher, d, obj){ | |
cellDispatcher.cellover.call(obj, d); | |
}, | |
d3_cellOut: function(cellDispatcher, d, obj){ | |
cellDispatcher.cellout.call(obj, d); | |
}, | |
d3_cellClick: function(cellDispatcher, d, obj){ | |
cellDispatcher.cellclick.call(obj, d); | |
}, | |
d3_title: function(svg, cellsSvg, title, classPrefix){ | |
if (title !== ""){ | |
var titleText = svg.selectAll('text.' + classPrefix + 'legendTitle'); | |
titleText.data([title]) | |
.enter() | |
.append('text') | |
.attr('class', classPrefix + 'legendTitle'); | |
svg.selectAll('text.' + classPrefix + 'legendTitle') | |
.text(title) | |
var yOffset = svg.select('.' + classPrefix + 'legendTitle') | |
.map(function(d) { return d[0].getBBox().height})[0], | |
xOffset = -cellsSvg.map(function(d) { return d[0].getBBox().x})[0]; | |
cellsSvg.attr('transform', 'translate(' + xOffset + ',' + (yOffset + 10) + ')'); | |
} | |
} | |
} | |
},{}],3:[function(require,module,exports){ | |
var helper = require('./legend'); | |
module.exports = function(){ | |
var scale = d3.scale.linear(), | |
shape = "rect", | |
shapeWidth = 15, | |
shapePadding = 2, | |
cells = [5], | |
labels = [], | |
useStroke = false, | |
classPrefix = "", | |
title = "", | |
labelFormat = d3.format(".01f"), | |
labelOffset = 10, | |
labelAlign = "middle", | |
labelDelimiter = "to", | |
orient = "vertical", | |
ascending = false, | |
path, | |
legendDispatcher = d3.dispatch("cellover", "cellout", "cellclick"); | |
function legend(svg){ | |
var type = helper.d3_calcType(scale, ascending, cells, labels, labelFormat, labelDelimiter), | |
legendG = svg.selectAll('g').data([scale]); | |
legendG.enter().append('g').attr('class', classPrefix + 'legendCells'); | |
var cell = legendG.selectAll("." + classPrefix + "cell").data(type.data), | |
cellEnter = cell.enter().append("g", ".cell").attr("class", classPrefix + "cell").style("opacity", 1e-6), | |
shapeEnter = cellEnter.append(shape).attr("class", classPrefix + "swatch"), | |
shapes = cell.select("g." + classPrefix + "cell " + shape); | |
//add event handlers | |
helper.d3_addEvents(cellEnter, legendDispatcher); | |
cell.exit().transition().style("opacity", 0).remove(); | |
//creates shape | |
if (shape === "line"){ | |
helper.d3_drawShapes(shape, shapes, 0, shapeWidth); | |
shapes.attr("stroke-width", type.feature); | |
} else { | |
helper.d3_drawShapes(shape, shapes, type.feature, type.feature, type.feature, path); | |
} | |
helper.d3_addText(legendG, cellEnter, type.labels, classPrefix) | |
//sets placement | |
var text = cell.select("text"), | |
shapeSize = shapes[0].map( | |
function(d, i){ | |
var bbox = d.getBBox() | |
var stroke = scale(type.data[i]); | |
if (shape === "line" && orient === "horizontal") { | |
bbox.height = bbox.height + stroke; | |
} else if (shape === "line" && orient === "vertical"){ | |
bbox.width = bbox.width; | |
} | |
return bbox; | |
}); | |
var maxH = d3.max(shapeSize, function(d){ return d.height + d.y; }), | |
maxW = d3.max(shapeSize, function(d){ return d.width + d.x; }); | |
var cellTrans, | |
textTrans, | |
textAlign = (labelAlign == "start") ? 0 : (labelAlign == "middle") ? 0.5 : 1; | |
//positions cells and text | |
if (orient === "vertical"){ | |
cellTrans = function(d,i) { | |
var height = d3.sum(shapeSize.slice(0, i + 1 ), function(d){ return d.height; }); | |
return "translate(0, " + (height + i*shapePadding) + ")"; }; | |
textTrans = function(d,i) { return "translate(" + (maxW + labelOffset) + "," + | |
(shapeSize[i].y + shapeSize[i].height/2 + 5) + ")"; }; | |
} else if (orient === "horizontal"){ | |
cellTrans = function(d,i) { | |
var width = d3.sum(shapeSize.slice(0, i + 1 ), function(d){ return d.width; }); | |
return "translate(" + (width + i*shapePadding) + ",0)"; }; | |
textTrans = function(d,i) { return "translate(" + (shapeSize[i].width*textAlign + shapeSize[i].x) + "," + | |
(maxH + labelOffset ) + ")"; }; | |
} | |
helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign); | |
helper.d3_title(svg, legendG, title, classPrefix); | |
cell.transition().style("opacity", 1); | |
} | |
legend.scale = function(_) { | |
if (!arguments.length) return scale; | |
scale = _; | |
return legend; | |
}; | |
legend.cells = function(_) { | |
if (!arguments.length) return cells; | |
if (_.length > 1 || _ >= 2 ){ | |
cells = _; | |
} | |
return legend; | |
}; | |
legend.shape = function(_, d) { | |
if (!arguments.length) return shape; | |
if (_ == "rect" || _ == "circle" || _ == "line" ){ | |
shape = _; | |
path = d; | |
} | |
return legend; | |
}; | |
legend.shapeWidth = function(_) { | |
if (!arguments.length) return shapeWidth; | |
shapeWidth = +_; | |
return legend; | |
}; | |
legend.shapePadding = function(_) { | |
if (!arguments.length) return shapePadding; | |
shapePadding = +_; | |
return legend; | |
}; | |
legend.labels = function(_) { | |
if (!arguments.length) return labels; | |
labels = _; | |
return legend; | |
}; | |
legend.labelAlign = function(_) { | |
if (!arguments.length) return labelAlign; | |
if (_ == "start" || _ == "end" || _ == "middle") { | |
labelAlign = _; | |
} | |
return legend; | |
}; | |
legend.labelFormat = function(_) { | |
if (!arguments.length) return labelFormat; | |
labelFormat = _; | |
return legend; | |
}; | |
legend.labelOffset = function(_) { | |
if (!arguments.length) return labelOffset; | |
labelOffset = +_; | |
return legend; | |
}; | |
legend.labelDelimiter = function(_) { | |
if (!arguments.length) return labelDelimiter; | |
labelDelimiter = _; | |
return legend; | |
}; | |
legend.orient = function(_){ | |
if (!arguments.length) return orient; | |
_ = _.toLowerCase(); | |
if (_ == "horizontal" || _ == "vertical") { | |
orient = _; | |
} | |
return legend; | |
}; | |
legend.ascending = function(_) { | |
if (!arguments.length) return ascending; | |
ascending = !!_; | |
return legend; | |
}; | |
legend.classPrefix = function(_) { | |
if (!arguments.length) return classPrefix; | |
classPrefix = _; | |
return legend; | |
}; | |
legend.title = function(_) { | |
if (!arguments.length) return title; | |
title = _; | |
return legend; | |
}; | |
d3.rebind(legend, legendDispatcher, "on"); | |
return legend; | |
}; | |
},{"./legend":2}],4:[function(require,module,exports){ | |
var helper = require('./legend'); | |
module.exports = function(){ | |
var scale = d3.scale.linear(), | |
shape = "path", | |
shapeWidth = 15, | |
shapeHeight = 15, | |
shapeRadius = 10, | |
shapePadding = 5, | |
cells = [5], | |
labels = [], | |
classPrefix = "", | |
useClass = false, | |
title = "", | |
labelFormat = d3.format(".01f"), | |
labelAlign = "middle", | |
labelOffset = 10, | |
labelDelimiter = "to", | |
orient = "vertical", | |
ascending = false, | |
legendDispatcher = d3.dispatch("cellover", "cellout", "cellclick"); | |
function legend(svg){ | |
var type = helper.d3_calcType(scale, ascending, cells, labels, labelFormat, labelDelimiter), | |
legendG = svg.selectAll('g').data([scale]); | |
legendG.enter().append('g').attr('class', classPrefix + 'legendCells'); | |
var cell = legendG.selectAll("." + classPrefix + "cell").data(type.data), | |
cellEnter = cell.enter().append("g", ".cell").attr("class", classPrefix + "cell").style("opacity", 1e-6), | |
shapeEnter = cellEnter.append(shape).attr("class", classPrefix + "swatch"), | |
shapes = cell.select("g." + classPrefix + "cell " + shape); | |
//add event handlers | |
helper.d3_addEvents(cellEnter, legendDispatcher); | |
//remove old shapes | |
cell.exit().transition().style("opacity", 0).remove(); | |
helper.d3_drawShapes(shape, shapes, shapeHeight, shapeWidth, shapeRadius, type.feature); | |
helper.d3_addText(legendG, cellEnter, type.labels, classPrefix) | |
// sets placement | |
var text = cell.select("text"), | |
shapeSize = shapes[0].map( function(d){ return d.getBBox(); }); | |
var maxH = d3.max(shapeSize, function(d){ return d.height; }), | |
maxW = d3.max(shapeSize, function(d){ return d.width; }); | |
var cellTrans, | |
textTrans, | |
textAlign = (labelAlign == "start") ? 0 : (labelAlign == "middle") ? 0.5 : 1; | |
//positions cells and text | |
if (orient === "vertical"){ | |
cellTrans = function(d,i) { return "translate(0, " + (i * (maxH + shapePadding)) + ")"; }; | |
textTrans = function(d,i) { return "translate(" + (maxW + labelOffset) + "," + | |
(shapeSize[i].y + shapeSize[i].height/2 + 5) + ")"; }; | |
} else if (orient === "horizontal"){ | |
cellTrans = function(d,i) { return "translate(" + (i * (maxW + shapePadding)) + ",0)"; }; | |
textTrans = function(d,i) { return "translate(" + (shapeSize[i].width*textAlign + shapeSize[i].x) + "," + | |
(maxH + labelOffset ) + ")"; }; | |
} | |
helper.d3_placement(orient, cell, cellTrans, text, textTrans, labelAlign); | |
helper.d3_title(svg, legendG, title, classPrefix); | |
cell.transition().style("opacity", 1); | |
} | |
legend.scale = function(_) { | |
if (!arguments.length) return scale; | |
scale = _; | |
return legend; | |
}; | |
legend.cells = function(_) { | |
if (!arguments.length) return cells; | |
if (_.length > 1 || _ >= 2 ){ | |
cells = _; | |
} | |
return legend; | |
}; | |
legend.shapePadding = function(_) { | |
if (!arguments.length) return shapePadding; | |
shapePadding = +_; | |
return legend; | |
}; | |
legend.labels = function(_) { | |
if (!arguments.length) return labels; | |
labels = _; | |
return legend; | |
}; | |
legend.labelAlign = function(_) { | |
if (!arguments.length) return labelAlign; | |
if (_ == "start" || _ == "end" || _ == "middle") { | |
labelAlign = _; | |
} | |
return legend; | |
}; | |
legend.labelFormat = function(_) { | |
if (!arguments.length) return labelFormat; | |
labelFormat = _; | |
return legend; | |
}; | |
legend.labelOffset = function(_) { | |
if (!arguments.length) return labelOffset; | |
labelOffset = +_; | |
return legend; | |
}; | |
legend.labelDelimiter = function(_) { | |
if (!arguments.length) return labelDelimiter; | |
labelDelimiter = _; | |
return legend; | |
}; | |
legend.orient = function(_){ | |
if (!arguments.length) return orient; | |
_ = _.toLowerCase(); | |
if (_ == "horizontal" || _ == "vertical") { | |
orient = _; | |
} | |
return legend; | |
}; | |
legend.ascending = function(_) { | |
if (!arguments.length) return ascending; | |
ascending = !!_; | |
return legend; | |
}; | |
legend.classPrefix = function(_) { | |
if (!arguments.length) return classPrefix; | |
classPrefix = _; | |
return legend; | |
}; | |
legend.title = function(_) { | |
if (!arguments.length) return title; | |
title = _; | |
return legend; | |
}; | |
d3.rebind(legend, legendDispatcher, "on"); | |
return legend; | |
}; | |
},{"./legend":2}],5:[function(require,module,exports){ | |
d3.legend = { | |
color: require('./color'), | |
size: require('./size'), | |
symbol: require('./symbol') | |
}; | |
},{"./color":1,"./size":3,"./symbol":4}]},{},[5]); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Richards_Bay_South Africa | 298 | -28.80403 | 32.043192 | Richards Bay | South Africa | |
Murmansk_Russia | 296 | 68.979391 | 33.057956 | Murmansk | Russia | |
Dalrymple_Australia | 283 | -21.28152 | 149.286979 | Dalrymple | Australia | |
Sydney_Canada | 281 | 46.159843 | -60.200988 | Sydney | Canada | |
RidleyIsland_BC | 250 | 54.227414 | -130.323887 | RidleyIsland | BC | |
Newcastle_Australia | 239 | -32.895773 | 151.750897 | Newcastle | Australia | |
Saldanha_Bay_South Africa | 232 | -33.004484 | 17.999653 | Saldanha Bay | South Africa | |
Maputo_Mozambique | 222 | -25.951745 | 32.528648 | Maputo | Mozambique | |
Gladstone_Australia | 211 | -23.842417 | 151.227421 | Gladstone | Australia | |
Port_Hedland_Australia | 201 | -20.292107 | 118.602456 | Port Hedland | Australia | |
Beeshoek_South_Africa | 197 | -28.325214 | 22.987371 | Beeshoek South | Africa | |
Beira_Mozambique | 187 | -19.815868 | 34.8533 | Beira | Mozambique | |
North_Antelope_WY | 185 | 43.629675 | -105.224965 | North Antelope | WY | |
Puerto_Bolivar_Colombia | 179 | 12.241776 | -71.971124 | Puerto Bolivar | Colombia | |
Nacala_Mozambique | 177 | -14.535716 | 40.647274 | Nacala | Mozambique | |
Ranger_Mine_Australia | 171 | -12.678737 | 132.908203 | Ranger Mine | Australia | |
Morupule_Botswana | 170 | -22.518999 | 27.035455 | Morupule | Botswana | |
Oyu_Tolgoi_Mongolia | 175 | 43.012371 | 106.869292 | Oyu Tolgoi | Mongolia | |
Paranam_Suriname | 155 | 5.598899 | -55.10785 | Paranam | Suriname | |
Vancouver_BC | 155 | 49.027188 | -123.141264 | Vancouver | BC | |
Abbot_Point_Australia | 153 | -19.887745 | 148.076998 | Abbot Point | Australia | |
Xiamen_China | 153 | 24.51336 | 118.097693 | Xiamen | China | |
Brisbane_Australia | 152 | -27.370444 | 153.185689 | Brisbane | Australia | |
Cape_Lambert_Australia | 149 | -20.563491 | 117.207836 | Cape Lambert | Australia | |
Moatize_Mozambique | 144 | -16.170106 | 33.772278 | Moatize | Mozambique | |
Lobito_Angola | 143 | -12.339812 | 13.573958 | Lobito | Angola | |
Shenzen_China | 137 | 22.566523 | 113.877843 | Shenzen | China | |
Nchanga_Zambia | 136 | -12.513365 | 27.857638 | Nchanga | Zambia | |
Haerwusu_China | 133 | 39.904341 | 111.226947 | Haerwusu | China | |
Buenavista_Mexico | 119 | 29.950367 | -109.276557 | Buenavista | Mexico | |
Qinhuangdao_China | 106 | 39.950385 | 119.711283 | Qinhuangdao | China | |
Kumptor_Kyrgystan | 104 | 41.859319 | 78.197324 | Kumptor | Kyrgystan | |
Rossing_Namibia | 92 | -22.481063 | 15.054992 | Rossing | Namibia | |
Norfolk_VA | 86 | 36.970311 | -76.318552 | Norfolk | VA | |
Falcondo_Dominican Republic | 82 | 18.904507 | -70.322353 | Falcondo | Dominican Republic | |
Mt_Polley_Mine_Canada | 76 | 52.511276 | -121.598302 | Mt Polley Mine | Canada | |
Neptune_BC | 61 | 49.306261 | -123.051598 | Neptune | BC | |
Cerrejon_Colombia | 60 | 11.161821 | -72.519619 | Cerrejon | Colombia | |
United_Coal_Terminal | 56 | 29.622564 | -89.890108 | United Coal | Terminal | |
Murrin_Murrin_stereo_UNKNOWNLOCATION | 12 | Murrin Murrin stereo | UNKNOWNLOCATION | |||
Qingdao_Port_China | 12 | 36.106145 | 120.319442 | Qingdao Port | China | |
DeltaPort_Coal_Terminal_Vancouver_BC | 9 | 49.017925 | -123.163914 | DeltaPort Coal Terminal Vancouver | BC | |
McDuffie_Island_AL | 6 | 30.656125 | -88.03755 | McDuffie Island | AL | |
Scherer_GA | 5 | 33.058435 | -83.808823 | Scherer | GA | |
Ahvaz_Iran | 1 | 31.318 | 48.7178 | Ahvaz | Iran |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<head> | |
<meta charset="utf-8"> | |
<style> | |
g { | |
stroke: white; | |
stroke-width: 0.3px; | |
fill: rgb(239,239,239); | |
} | |
g.cell { | |
fill: rgba(0, 98, 102, 0.8); | |
stroke: white; | |
} | |
text.legendTitle, text.label { | |
font: 13px sans-serif; | |
font-family: 'Lato', sans-serif; | |
color: black; | |
stroke: none; | |
fill: gray; | |
} | |
svg { | |
cursor: move; /* fallback if grab cursor is unsupported */ | |
cursor: grab; | |
cursor: -moz-grab; | |
cursor: -webkit-grab; | |
} | |
svg:active { | |
cursor: grabbing; | |
cursor: -moz-grabbing; | |
cursor: -webkit-grabbing; | |
} | |
div.tooltip { | |
position: absolute; | |
text-align: center; | |
padding: 10px; | |
font: 12px sans-serif; | |
font-family: 'Lato', sans-serif; | |
color: rgb(79, 82, 88); | |
background: rgb(255, 255, 255); | |
border: 0px; | |
border-radius: 2px; | |
line-height: 16px; | |
pointer-events: none; | |
} | |
button { | |
width: 2rem; | |
border-radius: 0; | |
box-shadow: none; | |
font-size: 1.5em; | |
font-weight: 400; | |
text-align: center; | |
color: gray; | |
} | |
#parentDiv { | |
position: relative; | |
width: 1200px; | |
height: 380px; | |
border: 1px solid lightgray; | |
background-color: rgb(249,249,249); <!-- rgb(51,51,51); OR #fff; OR rgb(249,249,249) --> | |
} | |
#zoomButtons { | |
position: absolute; | |
bottom: 0; | |
right: 0; | |
} | |
</style> | |
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro" rel="stylesheet"> | |
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> | |
</head> | |
<body> | |
<script src="https://d3js.org/d3.v3.min.js"></script> | |
<script src="https://d3js.org/topojson.v0.min.js"></script> | |
<script src="https://d3js.org/d3-array.v1.min.js"></script> | |
<script src="https://d3js.org/d3-geo.v1.min.js"></script> | |
<script src="https://d3js.org/d3-geo-projection.v2.min.js"></script> | |
<script src="d3-legend.js"></script> | |
<div id="parentDiv"> | |
<div id="zoomButtons"> | |
<button id="zoom_in">+</button><br> | |
<button id="zoom_out">-</button> | |
</div> | |
</div> | |
<script> | |
var width = 1200, // 860 | |
height = 380; | |
var projection = d3.geoRobinson() | |
.center([-59, -9]) | |
.scale(170) //280 | |
.rotate([0,0]); | |
var svg = d3.select("#parentDiv") | |
.append("svg") | |
.attr("width", width) | |
.attr("height", height); | |
var path = d3.geo.path() | |
.projection(projection); | |
var div = d3.select("body") | |
.append("div") | |
.attr("class", "tooltip") | |
.style("opacity", 0); | |
var circleScale = d3.scale.linear() | |
.domain([1, 708]) | |
.range([3,13]); | |
var g = svg.append("g"); // world background json | |
var g2 = svg.append("g"); // countries json | |
var g3 = svg.append("g"); // oil csv | |
var g4 = svg.append("g"); // ports csv | |
var g5 = svg.append("g"); // cities csv | |
var g6 = svg.append("g"); // retail csv | |
var g7 = svg.append("g"); // supply chain csv | |
var g8 = svg.append("g"); // agriculture csv | |
var g9 = svg.append("g"); // social impact csv | |
var g10 = svg.append("g"); // dry bulk and mines csv | |
var g11 = svg.append("g"); // intelligence csv | |
// legend background | |
var rectangle = svg.append("rect") | |
.attr("x", 0) //0 | |
.attr("y", 294) //518 | |
.attr("width", 183) | |
.attr("height", 86) | |
.style("fill", 'rgba(255, 255, 255, 0.7)'); | |
var linearSize = d3.scale.linear().domain([1, 708]).range([3,13]); | |
var svg2 = d3.select("svg"); | |
svg2.append("g") | |
.attr("class", "legendSize") | |
.attr("transform", "translate(5, 312)"); //1024 | |
var legendSize = d3.legend.size() | |
.scale(linearSize) | |
.shape('circle') | |
.shapePadding(23) | |
.labels(["1", "100", "200", "400", "700"]) | |
.cells([1,100,200,400,700]) | |
.labelOffset(20) | |
.orient('horizontal') | |
.title("SkySat Image Quantity"); | |
svg2.select(".legendSize") | |
.call(legendSize); | |
// ************************************************************* | |
// Radio Menu | |
var defaultColor = "#8F9399" | |
var hoverColor = "#009DA4" | |
var pressedColor = "#006266" | |
var radioMenu = svg.append("rect") | |
.attr("id", "radioRect") | |
.attr("width", "107px") | |
.attr("height", "256px") | |
.attr("x", 0) | |
.attr("y", 0) | |
.attr("fill", "rgba(255, 255, 255, 0.7)"); | |
var allButtons = svg.append("g") | |
.attr("id", "toggle"); | |
var labels = ["OIL TANKS", "PORTS", "CITIES", "RETAIL", "SUPPLY CHAIN", "AGRICULTURE", "SOCIAL IMPACT", "BULK/MINES", "INTELLIGENCE", "FULL ARCHIVE"]; | |
var buttonGroups = allButtons.selectAll("g.button") | |
.data(labels) | |
.enter() | |
.append("g") | |
.attr("class", "button") | |
.attr("id", function(d){ | |
var theID = d.replace(/\s/g, ''); | |
return theID; | |
}) | |
.style("cursor", "pointer") | |
.on("click", function(d,i) { // (d,i) | |
updateButtonColors(d3.select(this), d3.select(this.parentNode)) | |
if (d == "OIL TANKS") { | |
g3.style('display', 'inline') | |
g4.style('display', 'none') | |
g5.style('display', 'none') | |
g6.style('display', 'none') | |
g7.style('display', 'none') | |
g8.style('display', 'none') | |
g9.style('display', 'none') | |
g10.style('display', 'none') | |
g11.style('display', 'none') | |
} | |
else if (d == "PORTS") { | |
g3.style('display', 'none') | |
g4.style('display', 'inline') | |
g5.style('display', 'none') | |
g6.style('display', 'none') | |
g7.style('display', 'none') | |
g8.style('display', 'none') | |
g9.style('display', 'none') | |
g10.style('display', 'none') | |
g11.style('display', 'none') | |
} | |
else if (d == "CITIES") { | |
g3.style('display', 'none') | |
g4.style('display', 'none') | |
g5.style('display', 'inline') | |
g6.style('display', 'none') | |
g7.style('display', 'none') | |
g8.style('display', 'none') | |
g9.style('display', 'none') | |
g10.style('display', 'none') | |
g11.style('display', 'none') | |
} | |
else if (d == "RETAIL") { | |
g3.style('display', 'none') | |
g4.style('display', 'none') | |
g5.style('display', 'none') | |
g6.style('display', 'inline') | |
g7.style('display', 'none') | |
g8.style('display', 'none') | |
g9.style('display', 'none') | |
g10.style('display', 'none') | |
g11.style('display', 'none') | |
} | |
else if (d == "SUPPLY CHAIN") { | |
g3.style('display', 'none') | |
g4.style('display', 'none') | |
g5.style('display', 'none') | |
g6.style('display', 'none') | |
g7.style('display', 'inline') | |
g8.style('display', 'none') | |
g9.style('display', 'none') | |
g10.style('display', 'none') | |
g11.style('display', 'none') | |
} | |
else if (d == "AGRICULTURE") { | |
g3.style('display', 'none') | |
g4.style('display', 'none') | |
g5.style('display', 'none') | |
g6.style('display', 'none') | |
g7.style('display', 'none') | |
g8.style('display', 'inline') | |
g9.style('display', 'none') | |
g10.style('display', 'none') | |
g11.style('display', 'none') | |
} | |
else if (d == "SOCIAL IMPACT") { | |
g3.style('display', 'none') | |
g4.style('display', 'none') | |
g5.style('display', 'none') | |
g6.style('display', 'none') | |
g7.style('display', 'none') | |
g8.style('display', 'none') | |
g9.style('display', 'inline') | |
g10.style('display', 'none') | |
g11.style('display', 'none') | |
} | |
else if (d == "BULK/MINES") { | |
g3.style('display', 'none') | |
g4.style('display', 'none') | |
g5.style('display', 'none') | |
g6.style('display', 'none') | |
g7.style('display', 'none') | |
g8.style('display', 'none') | |
g9.style('display', 'none') | |
g10.style('display', 'inline') | |
g11.style('display', 'none') | |
} | |
else if (d == "INTELLIGENCE") { | |
g3.style('display', 'none') | |
g4.style('display', 'none') | |
g5.style('display', 'none') | |
g6.style('display', 'none') | |
g7.style('display', 'none') | |
g8.style('display', 'none') | |
g9.style('display', 'none') | |
g10.style('display', 'none') | |
g11.style('display', 'inline') | |
} | |
else if (d == "FULL ARCHIVE") { | |
g3.style('display', 'inline') | |
g4.style('display', 'inline') | |
g5.style('display', 'inline') | |
g6.style('display', 'inline') | |
g7.style('display', 'inline') | |
g8.style('display', 'inline') | |
g9.style('display', 'inline') | |
g10.style('display', 'inline') | |
g11.style('display', 'inline') | |
} | |
}) | |
.on("mouseover", function() { | |
if (d3.select(this).select("rect").attr("fill") != pressedColor) { | |
d3.select(this) | |
.select("rect") | |
.attr("fill", hoverColor); | |
} | |
}) | |
.on("mouseout", function() { | |
if (d3.select(this).select("rect").attr("fill") != pressedColor) { | |
d3.select(this) | |
.select("rect") | |
.attr("fill", defaultColor); | |
} | |
}); | |
// hide layers on load | |
g4.style('display', 'none'); | |
g5.style('display', 'none'); | |
g6.style('display', 'none'); | |
g7.style('display', 'none'); | |
g8.style('display', 'none'); | |
g9.style('display', 'none'); | |
g10.style('display', 'none'); | |
g11.style('display', 'none'); | |
var bWidth = 95; // button width | |
var bHeight = 20; // button height | |
var bSpace = 5; // space between buttons | |
var x0 = 5; // x offset | |
var y0 = 5; // y offset | |
// adding a rect to each toggle button group | |
buttonGroups.append("rect") | |
.attr("class", "buttonRect") | |
.attr("width", bWidth) | |
.attr("height", bHeight) | |
.attr("x", x0) | |
.attr("y", function(d,i) {return y0+(bHeight+bSpace)*i;}) | |
// rx and ry for rounded corners | |
.attr("fill", defaultColor) | |
// add text to each toggle button group, centered in rect | |
buttonGroups.append("text") | |
.attr("class", "buttonText") | |
.attr("font-family", "Lato") | |
.attr("font-size", "12px") | |
.attr("x", x0 + bWidth/2) | |
.attr("y", function(d,i) { | |
return y0 + (bHeight + bSpace)*i + bHeight/2; | |
}) | |
.attr("text-anchor", "middle") | |
.attr("dominant-baseline", "central") | |
.attr("fill", "#fff") | |
.text(function(d) {return d;}) | |
function updateButtonColors(button, parent) { | |
parent.selectAll("rect") | |
.attr("fill", defaultColor) | |
button.select("rect.buttonRect") | |
.attr("fill", pressedColor) | |
} | |
// default "pressed" radio button (oil tanks for now) | |
d3.select("g#OILTANKS") | |
.selectAll("rect") | |
.attr("fill", pressedColor) | |
d3.json("world-background.json", function(world) { | |
// load and display the World | |
d3.json("world-110m.json", function(land) { | |
// load and display the oil tanks | |
d3.csv("oil-format.csv", function(data) { | |
// load and display the ports | |
d3.csv("ports-format.csv", function(data) { | |
d3.csv("cities-format.csv", function(data) { | |
d3.csv("retail-format.csv", function(data) { | |
d3.csv("supplychain-format.csv", function(data) { | |
d3.csv("agriculture-format.csv", function(data) { | |
d3.csv("socialimpact-format.csv", function(data) { | |
d3.csv("drybulk-format.csv", function(data) { | |
d3.csv("intelligence-format.csv", function(data) { | |
g11.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g10.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g9.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g8.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g7.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g6.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g5.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g4.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g3.selectAll("circle") | |
.data(data.filter(function(d){ | |
if(d.lon == ""){ | |
return false; | |
} | |
else { | |
return true; | |
} | |
})) | |
.enter() | |
.append("circle") | |
.attr("cx", function(d) { | |
return projection([d.lon, d.lat])[0]; | |
}) | |
.attr("cy", function(d) { | |
return projection([d.lon, d.lat])[1]; | |
}) | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
.on('mouseover', mouseover) | |
.on('mouseout', mouseout) | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
}); | |
g2.selectAll("path") | |
.data(topojson.object(land, land.objects.countries) | |
.geometries) | |
.enter() | |
.append("path") | |
.attr("d", path) | |
.style("fill", "#c7c7c7"); | |
}); | |
g.selectAll("path") | |
.data(topojson.object(world, world.objects.worldbackground) | |
.geometries) | |
.enter() | |
.append("path") | |
.attr("d", path) | |
}); | |
// zoom and pan | |
var zoom = d3.behavior.zoom() | |
.scaleExtent([0.8, 3]) // limits zoom range (only change 2nd #) | |
.on("zoom", zoomed); | |
function zoomed() { | |
g.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g2.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g3.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g4.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g5.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g6.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g7.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g8.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g9.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g10.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
g11.attr("transform", | |
"translate(" + zoom.translate() + ")" + | |
"scale(" + zoom.scale() + ")" | |
); | |
circleScale.range([3/zoom.scale(), 13/zoom.scale()]); | |
g3.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g4.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g5.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g6.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g7.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g8.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g9.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g10.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
g11.selectAll("circle") | |
.attr("d", path.projection(projection)) | |
// Keeps circle size the same on zoom | |
.attr("r", function(d){ | |
return circleScale(d.images); | |
}) | |
}; | |
function interpolateZoom (translate, scale) { | |
var self = this; | |
return d3.transition().duration(350).tween("zoom", function() { | |
var iTranslate = d3.interpolate(zoom.translate(), translate), | |
iScale = d3.interpolate(zoom.scale(), scale); | |
return function (t) { | |
zoom.scale(iScale(t)) | |
.translate(iTranslate(t)); | |
zoomed(); | |
}; | |
}); | |
} | |
function zoomClick() { | |
var clicked = d3.event.target, | |
direction = 1, | |
factor = 0.2, | |
target_zoom = 1, | |
center = [width / 2, height / 2], | |
extent = zoom.scaleExtent(), | |
translate = zoom.translate(), | |
translate0 = [], | |
l = [], | |
view = {x: translate[0], y: translate[1], k: zoom.scale()}; | |
d3.event.preventDefault(); | |
direction = (this.id === 'zoom_in') ? 1 : -1; | |
target_zoom = zoom.scale() * (1 + factor * direction); | |
if (target_zoom < extent[0] || target_zoom > extent[1]) { return false; } | |
translate0 = [(center[0] - view.x) / view.k, (center[1] - view.y) / view.k]; | |
view.k = target_zoom; | |
l = [translate0[0] * view.k + view.x, translate0[1] * view.k + view.y]; | |
view.x += center[0] - l[0]; | |
view.y += center[1] - l[1]; | |
interpolateZoom([view.x, view.y], view.k); | |
} | |
d3.selectAll('button').on('click', zoomClick); | |
function mouseover(d, i){ | |
d3.select(this) | |
.style('fill', 'rgba(0, 0, 0, 0.7)') | |
.style('stroke', 'white') | |
//.style('stroke-width', 0.3) | |
.style('cursor', 'auto'); | |
div.transition() | |
.duration(150) | |
.style("opacity", 0.9); | |
div.text(d.place) | |
.style("left", (d3.event.pageX - 50) + "px") | |
.style("top", (d3.event.pageY - 65) + "px"); | |
div.html("<b>" + d.admin1 + ", " + d.admin2 + "</b>" + "<br/><span>Images: " + d.images + "</span>"); | |
} | |
function mouseout(d, i){ | |
g3.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g4.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g5.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g6.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g7.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g8.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g9.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g10.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
g11.selectAll("circle") | |
.style("fill", "rgba(0, 98, 102, 0.7)") | |
.style('stroke', 'white') | |
.style('stroke-width', 0.3) | |
div.transition() | |
.duration(200) | |
.style("opacity", 0); | |
} | |
svg.call(zoom).on("wheel.zoom", null); | |
</script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Mogadishu_Somalia | 195 | 2.04815 | 45.332396 | Mogadishu | Somalia | |
Fiery_Cross_South China Sea | 194 | 9.700843 | 113.07458 | Fiery Cross | South China Sea | |
Punggye_Ri_North Korea | 152 | 41.277222 | 129.088186 | Punggye Ri | North Korea | |
Yongbyon_North Korea | 113 | 39.768724 | 125.750202 | Yongbyon | North Korea | |
Tartous_Syria | 54 | 34.953627 | 35.907335 | Tartous | Syria | |
Natanz_Iran | 23 | 33.724 | 51.7288 | Natanz | Iran | |
Fordo_Iran | 20 | 34.884 | 50.995 | Fordo | Iran | |
Wonson_Port_North Korea | 19 | 39.161157 | 127.472549 | Wonson Port | North Korea | |
Fallujah_Iraq | 15 | 33.3487 | 43.7841 | Fallujah | Iraq | |
Jonchon_North Korea | 15 | 40.631139 | 126.431897 | Jonchon | North Korea | |
Iranian_site_UNKNOWNLOCATION | 4 | Iranian site | UNKNOWNLOCATION | |||
Nampo_North Korea | 4 | 38.73465 | 125.400446 | Nampo | North Korea | |
Punggye-Ri_North Korea | 4 | 41.132866 | 129.165836 | Punggye-Ri | North Korea | |
Sohae_North Korea | 4 | 39.659559 | 124.705899 | Sohae | North Korea | |
DI_08-3_North Korea | 2 | 41.2802 | 129.0853 | DI 08-3 | North Korea | |
Iwo_jima_Japan | 2 | 24.7802 | 141.3164 | Iwo jima | Japan | |
Qingdao_Naval_Base_China | 2 | 36.066 | 120.318 | Qingdao Naval Base | China | |
Senkaku_Islands_ | 2 | 25.804282 | 123.594333 | Senkaku Islands | ||
Western_AOI_International_Water_Land_UNKNOWNLOCATION | 2 | Western AOI International Water Land | UNKNOWNLOCATION | |||
Dinghai_Naval_Base_China | 1 | 30.015 | 122.085 | Dinghai Naval Base | China | |
Eastern_AOI_ | 1 | 32.366111 | 35.610833 | Eastern AOI | ||
Night_South_China_Sea_UNKNOWNLOCATION | 1 | Night South China Sea | UNKNOWNLOCATION | |||
Ops_Western_AOI_International_Water_Land_UNKNOWNLOCATION | 1 | Ops Western AOI International Water Land | UNKNOWNLOCATION | |||
Sinpo_Shipyard_North Korea | 1 | 40.022774 | 128.16134 | Sinpo Shipyard | North Korea | |
Sinpo_submarine_base_North Korea | 1 | 40.000336 | 128.21319 | Sinpo submarine base | North Korea | |
Zhanjiang_Naval_Base_China | 1 | 21.224 | 110.43 | Zhanjiang Naval Base | China |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Cushing_OK | 708 | 36.030123 | -96.753332 | Cushing | OK | |
Skikda_Algeria | 567 | 36.862756 | 6.965184 | Skikda | Algeria | |
Freeport_Bahamas | 538 | 26.516158 | -78.759194 | Freeport | Bahamas | |
Ras_Lanuf_Libya | 514 | 30.472767 | 18.57378 | Ras Lanuf | Libya | |
St_Eustatius_Caribbean_Netherlands | 511 | 17.496017 | -62.997333 | St Eustatius Caribbean | Netherlands | |
Singapore | 481 | 1.260756 | 103.885993 | Singapore | Singapore | |
Turpan_China | 465 | 43.08362 | 90.409898 | Turpan | China | |
Yonbu_Saudi_Arabia | 459 | 23.973352 | 38.252084 | Yonbu Saudi | Arabia | |
Lanzhou_China | 458 | 36.115104 | 103.63524 | Lanzhou | China | |
Manangareza_Madagascar | 451 | -18.168374 | 49.393544 | Manangareza | Madagascar | |
Karamay_China | 441 | 45.5734 | 84.995579 | Karamay | China | |
Marisa_Libya | 439 | 32.041997 | 23.977474 | Marisa | Libya | |
Zawiya_Libya | 426 | 32.782238 | 12.698416 | Zawiya | Libya | |
Castries_St_Lucia | 423 | 13.983473 | -61.020872 | Castries St | Lucia | |
Daqing_China | 402 | 46.323368 | 124.741102 | Daqing | China | |
Mombassa_Kenya | 397 | -4.042567 | 39.642844 | Mombassa | Kenya | |
Dalian_China | 388 | 38.980128 | 121.868549 | Dalian | China | |
Qingdao_China | 380 | 36.057824 | 120.219739 | Qingdao | China | |
Sarakhs_Iran | 379 | 36.469826 | 60.845928 | Sarakhs | Iran | |
Uruma_Japan | 372 | 26.349379 | 127.961186 | Uruma | Japan | |
Malongo_Angola | 371 | -5.400736 | 12.212082 | Malongo | Angola | |
Dubai_UAE | 368 | 24.967792 | 55.049313 | Dubai | UAE | |
Mina_al_Fahl_Oman | 362 | 23.622374 | 58.514455 | Mina al Fahl | Oman | |
Sidi_Kerir_Egypt | 355 | 31.054632 | 29.66952 | Sidi Kerir | Egypt | |
Dushanzi_China | 348 | 44.350424 | 84.813302 | Dushanzi | China | |
Tema_Ghana | 348 | 5.736797 | 0.007016 | Tema | Ghana | |
Esmeraldas_Ecuador | 348 | 0.938954 | -79.691186 | Esmeraldas | Ecuador | |
Puerto_la_Cruz_Venezuela | 346 | 10.221331 | -64.619902 | Puerto la Cruz | Venezuela | |
Sangachal_Azerbaijan | 331 | 40.184661 | 49.480031 | Sangachal | Azerbaijan | |
St_Croix_Virgin_Islands | 331 | 17.704258 | -64.753207 | St Croix Virgin | Islands | |
Sarir_Libya | 315 | 27.655049 | 22.494969 | Sarir | Libya | |
Supsa_Georgia | 314 | 42.011201 | 41.763794 | Supsa | Georgia | |
Zhanjiang_China | 308 | 21.154153 | 110.401163 | Zhanjiang | China | |
Novorossiysk Russia | 307 | 44.748036 | 37.902985 | Novorossiysk | Russia | |
Mellitah_Libya | 303 | 32.853706 | 12.238211 | Mellitah | Libya | |
Houston_TX | 302 | 29.791867 | -95.084028 | Houston | TX | |
Rabigh_Saudi_Arabia | 300 | 22.717271 | 39.017128 | Rabigh Saudi | Arabia | |
Constanta_Port_Romania | 292 | 44.129383 | 28.646271 | Constanta Port | Romania | |
Khark_Island_Iran | 292 | 29.229537 | 50.314967 | Khark Island | Iran | |
Luanda_Angola | 281 | -8.750827 | 13.321708 | Luanda | Angola | |
Brownsville_TX | 276 | 25.957934 | -97.383014 | Brownsville | TX | |
Cartagena_Colombia | 275 | 10.44025 | -75.542856 | Cartagena | Colombia | |
Victoria_Seychelles | 272 | -4.629577 | 55.463856 | Victoria | Seychelles | |
Ras_Tanura_Saudi_Arabia | 271 | 26.658965 | 50.148072 | Ras Tanura Saudi | Arabia | |
Agat_Guam | 270 | 13.417492 | 144.683003 | Agat | Guam | |
Zhousan_China | 263 | 29.971475 | 122.156332 | Zhousan | China | |
Abqaiq_Saudi_Arabia | 260 | 25.931914 | 49.680098 | Abqaiq Saudi | Arabia | |
Wakayama_Japan | 284 | 34.171652 | 135.190719 | Wakayama | Japan | |
Rafsanjan_Iran | 255 | 30.3716 | 55.854658 | Rafsanjan | Iran | |
Jubail_Saudi_Arabia | 237 | 27.057426 | 49.60502 | Jubail Saudi | Arabia | |
Mangalore_India | 237 | 12.915228 | 74.812474 | Mangalore | India | |
Tianjin_China | 229 | 39.06263 | 117.763064 | Tianjin | China | |
Covenas_Colombia | 229 | 9.405002 | -75.694401 | Covenas | Colombia | |
DeKastri_Russia | 228 | 51.48201 | 140.870652 | DeKastri | Russia | |
Jamnagar_India | 228 | 22.451091 | 69.847509 | Jamnagar | India | |
Caleta_Olivia_Argentina | 228 | -46.4303 | -67.523132 | Caleta Olivia | Argentina | |
Abidjan_Ivory_Coast | 224 | 5.282115 | -3.994381 | Abidjan Ivory | Coast | |
Gamba_Gabon | 224 | -2.782221 | 10.028041 | Gamba | Gabon | |
Kribi_Cameroon | 223 | 2.9 | 9.8 | Kribi | Cameroon | |
Caleta_Cordova_Argentina | 222 | -45.756103 | -67.388175 | Caleta Cordova | Argentina | |
Trieste_Italy | 222 | 45.607614 | 13.814974 | Trieste | Italy | |
Puerto_Jose_Venezuela | 221 | 10.078574 | -64.86525 | Puerto Jose | Venezuela | |
Pengzhou_China | 220 | 31.077833 | 103.904656 | Pengzhou | China | |
Kozmino_Bay_Russia | 217 | 42.732158 | 133.045744 | Kozmino Bay | Russia | |
Dar_es_Salaam_Tanzania | 214 | -6.844017 | 39.297458 | Dar es Salaam | Tanzania | |
Kagoshima_Japan | 210 | 31.388 | 130.548812 | Kagoshima | Japan | |
Tegaldowo_Java_Indonesia | 204 | -6.872116 | 109.644607 | Tegaldowo Java | Indonesia | |
Rotterdam_Netherlands | 203 | 51.971108 | 3.98242 | Rotterdam | Netherlands | |
Ulsan_Korea | 202 | 35.565766 | 129.389991 | Ulsan | Korea | |
Milford_Haven_Wales | 198 | 51.769632 | -5.0113 | Milford Haven | Wales | |
Shiraz_Iran | 196 | 29.755283 | 52.674886 | Shiraz | Iran | |
Plock_Poland | 195 | 52.530493 | 19.835751 | Plock | Poland | |
Le_Havre_France | 194 | 49.489019 | 0.279712 | Le Havre | France | |
Hassi_Messoaud_Algeria | 194 | 31.662705 | 6.026868 | Hassi Messoaud | Algeria | |
Yang_Pu_China | 194 | 19.78131 | 109.181323 | Yang Pu | China | |
Tiszaujvaros_Hungary | 193 | 47.899336 | 21.032098 | Tiszaujvaros | Hungary | |
Zhenhai_China | 193 | 30.00533 | 121.64786 | Zhenhai | China | |
Amuay_Venezuela | 192 | 11.739006 | -70.195204 | Amuay | Venezuela | |
Mutsu_Ogawara_Japan | 190 | 40.974965 | 141.288111 | Mutsu Ogawara | Japan | |
Yuzhny_Ukraine | 188 | 46.618014 | 31.049435 | Yuzhny | Ukraine | |
Doba_Chad | 185 | 8.588448 | 16.830446 | Doba | Chad | |
Tomakomai_Japan | 184 | 42.646927 | 141.816079 | Tomakomai | Japan | |
Bandar_Abbas_Iran | 184 | 27.195312 | 56.079706 | Bandar Abbas | Iran | |
Vacherie_LA | 183 | 30.023137 | -90.459494 | Vacherie | LA | |
Matanzas_Cuba | 182 | 23.06769 | -81.542046 | Matanzas | Cuba | |
Hardisty_Canada | 180 | 52.638102 | -111.278567 | Hardisty | Canada | |
Baiji_Iraq | 177 | 35.005311 | 43.493541 | Baiji | Iraq | |
Agioi_Theodoroi_Greece | 175 | 37.9269353 | 23.07450771 | Agioi Theodoroi | Greece | |
Penuelas_Puerto_Rico | 174 | 17.994918 | -66.743128 | Penuelas Puerto | Rico | |
Paradip_Port_India | 172 | 20.312835 | 86.696132 | Paradip Port | India | |
Waha_Libya | 171 | 28.903102 | 10.048467 | Waha | Libya | |
Tuapse_Russia | 169 | 44.102977 | 39.100486 | Tuapse | Russia | |
Corpus_Christi_TX_Oil_Terminal | 165 | 27.847414 | -97.553042 | Corpus Christi TX Oil | Terminal | |
Primorsk_Russia | 165 | 60.3385 | 28.7385 | Primorsk | Russia | |
Priolo_Gargallo_Italy | 163 | 37.2408105 | 15.1969675 | Priolo Gargallo | Italy | |
Kaduna_Nigeria | 163 | 10.426149 | 7.490285 | Kaduna | Nigeria | |
Laizhou_China | 161 | 37.415529 | 119.979739 | Laizhou | China | |
Wilhelmshaven_Germany | 158 | 53.5448 | 8.122365 | Wilhelmshaven | Germany | |
Pavlodar_Kazakhstan | 157 | 52.365032 | 76.915066 | Pavlodar | Kazakhstan | |
Tabriz_Iran | 157 | 38.056183 | 46.178646 | Tabriz | Iran | |
Ajdabiya_Libya | 157 | 30.911563 | 20.073307 | Ajdabiya | Libya | |
Shibushi_Japan | 156 | 31.366962 | 131.025984 | Shibushi | Japan | |
Milnerton_Africa | 151 | -33.83338 | 18.545784 | Milnerton | Africa | |
Turkmenbashi_Turkmenistan | 151 | 40.010412 | 52.96331 | Turkmenbashi | Turkmenistan | |
Coatzacoalcos_Mexico | 151 | 18.115438 | -94.383301 | Coatzacoalcos | Mexico | |
Wattala_Sri_Lanka | 149 | 7.03768 | 79.86 | Wattala Sri | Lanka | |
Daura_Iraq | 148 | 33.270626 | 44.437692 | Daura | Iraq | |
River_Rouge_MI | 146 | 42.286181 | -83.132112 | River Rouge | MI | |
Bandar_Iran | 146 | 30.437114 | 49.088969 | Bandar | Iran | |
Kyaukpyu_Myanmar | 146 | 19.362054 | 93.673369 | Kyaukpyu | Myanmar | |
Beilun_China | 145 | 30.142648 | 121.954395 | Beilun | China | |
Port_Arthur_TX | 144 | 29.872204 | -93.976147 | Port Arthur | TX | |
Arak_Iran | 143 | 34.007547 | 49.472499 | Arak | Iran | |
San_Nicolas_Aruba | 142 | 12.446445 | -69.908903 | San Nicolas | Aruba | |
Willemstad_Antilles | 141 | 12.132995 | -68.929465 | Willemstad | Antilles | |
Banias_Syria | 140 | 35.218334 | 35.965606 | Banias | Syria | |
San_Fernando_Trinidad_and_Tobago | 139 | 10.330531 | -61.44237 | San Fernando Trinidad and | Tobago | |
Tumaco_Colombia | 138 | 1.80505 | -78.778498 | Tumaco | Colombia | |
Nelahozeves_Czech_Republic | 137 | 50.267735 | 14.319339 | Nelahozeves Czech | Republic | |
Paraiso_Mexico | 136 | 18.42637 | -93.194564 | Paraiso | Mexico | |
Esfahan_Iran | 134 | 32.784373 | 51.504205 | Esfahan | Iran | |
Muskiz_Spain | 129 | 43.34451 | -3.076998 | Muskiz | Spain | |
Penajam_Indonesia | 129 | -1.329077 | 116.686188 | Penajam | Indonesia | |
Long_Beach_CA | 128 | 33.761376 | -118.191332 | Long Beach | CA | |
Nuwaidrat_Bahrain | 127 | 26.128381 | 50.611405 | Nuwaidrat | Bahrain | |
Hamburg_Germany | 124 | 53.510631 | 9.959503 | Hamburg | Germany | |
Fujairah_UAE | 121 | 25.198295 | 56.354174 | Fujairah | UAE | |
Lanshan_China | 119 | 35.18319 | 119.377511 | Lanshan | China | |
Homs_Syria | 119 | 34.717148 | 36.638481 | Homs | Syria | |
Nueva_Loja_Ecuador | 119 | 0.078168 | -76.881025 | Nueva Loja | Ecuador | |
Shangkan_China | 118 | 21.460934 | 111.300831 | Shangkan | China | |
Basrah_Iraq | 115 | 30.453042 | 47.662448 | Basrah | Iraq | |
Quanzhou_China | 111 | 25.041498 | 119.007666 | Quanzhou | China | |
Sakhalin_Russia | 110 | 52.526799 | 143.123274 | Sakhalin | Russia | |
Ceyhan_Turkey | 109 | 36.897212 | 35.908049 | Ceyhan | Turkey | |
Levis_Canada | 107 | 46.76591 | -71.199365 | Levis | Canada | |
Edmonton_AB | 106 | 53.561454 | -113.343556 | Edmonton | AB | |
Fos_Sur_Mer_France | 106 | 43.479395 | 4.907417 | Fos Sur Mer | France | |
Mutare_Zimbabwe | 103 | -18.980549 | 32.531103 | Mutare | Zimbabwe | |
Changxingdaozhen_China | 102 | 39.5944 | 121.305 | Changxingdaozhen | China | |
Batangas_City_Philippines | 102 | 13.789679 | 121.046848 | Batangas City | Philippines | |
Seria_Brunei | 102 | 4.611107 | 114.342164 | Seria | Brunei | |
Nairobi_Kenya | 102 | -1.302443 | 36.874432 | Nairobi | Kenya | |
Shenjia_Bay_Island_China | 98 | 30.664161 | 122.003805 | Shenjia Bay Island | China | |
South_Tianjin_China | 98 | 38.736661 | 117.550114 | South Tianjin | China | |
Kingston_Jamaica | 97 | 17.987818 | -76.8212 | Kingston | Jamaica | |
Papar_Malaysia | 97 | 5.636748 | 115.894164 | Papar | Malaysia | |
Shunan_Japan | 95 | 34.017975 | 131.816331 | Shunan | Japan | |
El_Palito_Venezuela | 94 | 10.477695 | -68.099921 | El Palito | Venezuela | |
Fao_Iraq | 93 | 29.959696 | 48.43919 | Fao | Iraq | |
Iwaki_Japan | 92 | 36.929627 | 140.850584 | Iwaki | Japan | |
Savannah_GA | 92 | 32.111032 | -81.129171 | Savannah | GA | |
Port_Sudan_Sudan | 91 | 19.391369 | 37.295011 | Port Sudan | Sudan | |
Tangshan_China | 86 | 38.983793 | 118.562834 | Tangshan | China | |
Port_Moresby_Papua_New_Guinea | 86 | -9.452336 | 147.117691 | Port Moresby Papua New | Guinea | |
Whiddy_Island_Ireland | 81 | 51.685628 | -9.519994 | Whiddy Island | Ireland | |
Gaolan_Island_China | 79 | 21.969934 | 113.236675 | Gaolan Island | China | |
Puerto_Sandino_Nicaragua | 79 | 12.179557 | -86.749737 | Puerto Sandino | Nicaragua | |
Shetland_Scotland | 78 | 60.460719 | -1.277578 | Shetland | Scotland | |
Tuscaloosa_AL | 78 | 33.199892 | -87.604865 | Tuscaloosa | AL | |
Eilat_Jordan | 78 | 29.566014 | 34.909134 | Eilat | Jordan | |
Kovaya_India | 78 | 20.918306 | 71.481243 | Kovaya | India | |
East_Grand_Bahama_The_Bahamas | 76 | 26.62992821 | -78.23087454 | East Grand Bahama The | Bahamas | |
Bajos_de_Haina_Dominican_Republic | 75 | 18.411925 | -70.023745 | Bajos de Haina Dominican | Republic | |
Mouza_Kund_Pakistan | 74 | 24.911724 | 66.704576 | Mouza Kund | Pakistan | |
Midland_TX | 72 | 32.010235 | -102.025135 | Midland | TX | |
Bayuquan_China | 71 | 40.345211 | 122.093988 | Bayuquan | China | |
Nanjing_China | 70 | 32.283072 | 119.131344 | Nanjing | China | |
Ichihara_Japan | 67 | 35.599016 | 140.13369 | Ichihara | Japan | |
Cayce_MS | 67 | 34.979643 | -89.643725 | Cayce | MS | |
Iquitos_Peru | 67 | -3.725158 | -73.243519 | Iquitos | Peru | |
Flotta_Scotland | 66 | 58.837386 | -3.120739 | Flotta | Scotland | |
El_Paso_TX | 66 | 31.769791 | -106.396682 | El Paso | TX | |
Fiumicino_Italy | 64 | 41.855985 | 12.33318 | Fiumicino | Italy | |
Sitra_Bahrain | 64 | 26.143903 | 50.619928 | Sitra | Bahrain | |
Martinez_CA | 63 | 38.092792 | -122.097299 | Martinez | CA | |
Gdansk_Poland | 62 | 54.414887 | 18.714577 | Gdansk | Poland | |
El_Dorado_KS | 61 | 37.804301 | -96.8851 | El Dorado | KS | |
Santa_Maria_CA | 60 | 34.930017 | -120.509321 | Santa Maria | CA | |
North_Salt_Lake_UT | 59 | 40.895987 | -111.879682 | North Salt Lake | UT | |
Longview_TX | 59 | 32.518867 | -94.82729 | Longview | TX | |
Scurry_County_TX | 58 | 32.533203 | -100.838372 | Scurry County | TX | |
Yuzhny_Russia | 58 | 46.630144 | 31.018999 | Yuzhny | Russia | |
Menemeni_Greece | 57 | 40.66168 | 22.875284 | Menemeni | Greece | |
Rincon_Bonaire | 57 | 12.22486419 | -68.38444233 | Rincon | Bonaire | |
Sao_Francisco_do_Sul_Brazil | 57 | -26.226933 | -48.527709 | Sao Francisco do Sul | Brazil | |
Antwerp_Belgium | 56 | 51.267021 | 4.360235 | Antwerp | Belgium | |
Big_Spring_TX | 56 | 32.275731 | -101.41503 | Big Spring | TX | |
Vicksburg_MS | 55 | 32.369356 | -90.889974 | Vicksburg | MS | |
Basrah_Iraq | 54 | 30.453042 | 47.662448 | Basrah | Iraq | |
Omisalj_Croatia | 54 | 45.345314 | 14.544074 | Omisalj | Croatia | |
Haditha_Iraq | 54 | 34.073177 | 42.362623 | Haditha | Iraq | |
Belle_Chasse_LA | 54 | 29.680668 | -89.97482 | Belle Chasse | LA | |
Roxana_IL | 53 | 38.831567 | -90.080488 | Roxana | IL | |
Mobile_AL | 53 | 30.645922 | -88.044184 | Mobile | AL | |
Abadan_Iran | 53 | 30.355097 | 48.277377 | Abadan | Iran | |
Manaus_Brazil | 52 | -3.126941 | -60.006876 | Manaus | Brazil | |
Coari_Brazil | 52 | -3.946564 | -63.163113 | Coari | Brazil | |
Puerto_Rosales_Argentina | 52 | -38.91024 | -62.064865 | Puerto Rosales | Argentina | |
El_Alamein_Egypt | 51 | 30.929831 | 28.822037 | El Alamein | Egypt | |
Yorktown_VA | 50 | 37.204536 | -76.449808 | Yorktown | VA | |
Ahmadi_Kuwait | 50 | 29.138804 | 48.074125 | Ahmadi | Kuwait | |
Burgas_Bulgaria | 49 | 42.538729 | 27.306584 | Burgas | Bulgaria | |
Haldia_India | 49 | 22.055516 | 88.108943 | Haldia | India | |
Santa_Monica_Uruguay | 49 | -34.855555 | -54.731293 | Santa Monica | Uruguay | |
Wynnewood_OK | 47 | 34.630416 | -97.168685 | Wynnewood | OK | |
Villa_Elisa_Paraguay | 47 | -25.387093 | -57.60326 | Villa Elisa | Paraguay | |
Quintero_Chile | 47 | -32.773028 | -71.491856 | Quintero | Chile | |
Ardmore_OK | 46 | 34.204304 | -97.105704 | Ardmore | OK | |
Szazhalombatta_Hungary | 45 | 47.299127 | 18.903806 | Szazhalombatta | Hungary | |
Portland_OR | 45 | 45.674582 | -122.721629 | Portland | OR | |
Philadelphia_PA | 45 | 39.909191 | -75.119152 | Philadelphia | PA | |
Commerce_City_CO | 45 | 39.792233 | -104.961914 | Commerce City | CO | |
Las_Vegas_NV | 45 | 36.251698 | -115.044709 | Las Vegas | NV | |
Patoka_Il | 44 | 38.788557 | -89.074593 | Patoka | Il | |
Huiyang_China | 44 | 22.768981 | 114.591213 | Huiyang | China | |
Osorio_Brazil | 44 | -29.983298 | -50.189688 | Osorio | Brazil | |
Yeosu_Korea | 43 | 30.56966 | 47.304018 | Yeosu | Korea | |
Guamare_Brazil | 43 | -5.13595 | -36.38418 | Guamare | Brazil | |
Campana_Argentina | 43 | -34.160986 | -58.950065 | Campana | Argentina | |
Pipestone_Canada | 42 | 49.752733 | -101.241272 | Pipestone | Canada | |
Romeoville_IL | 42 | 41.63699 | -88.051658 | Romeoville | IL | |
Khazar_Azerbaijan | 42 | 40.442114 | 50.299555 | Khazar | Azerbaijan | |
Kirkuk_Iraq | 42 | 35.415489 | 44.215102 | Kirkuk | Iraq | |
Mazraat_el_Hsainiyeh_Lebanon | 42 | 33.492242 | 35.354929 | Mazraat el Hsainiyeh | Lebanon | |
Great_Falls_MT | 41 | 47.521696 | -111.29649 | Great Falls | MT | |
A_Coruna_Spain | 41 | 43.352732 | -8.417477 | A Coruna | Spain | |
Cubatao_Brazil | 41 | -23.874468 | -46.432743 | Cubatao | Brazil | |
Brandsen_Argentina | 40 | -35.270666 | -58.254295 | Brandsen | Argentina | |
Korsakov_Russia | 39 | 46.634855 | 142.91711 | Korsakov | Russia | |
Tikhoretsk_Russia | 39 | 45.843163 | 40.196171 | Tikhoretsk | Russia | |
Diodia_Greece | 38 | 38.052212 | 23.62157 | Diodia | Greece | |
Iran_Chabahar | 38 | 25.291 | 60.615 | Iran | Chabahar | |
Pinghu_China | 37 | 30.695219 | 121.269462 | Pinghu | China | |
Maceio_Brazil | 37 | -9.666242 | -35.719547 | Maceio | Brazil | |
Sao_Sebastiao_Brazil | 37 | -23.800689 | -45.407661 | Sao Sebastiao | Brazil | |
Sisak_Croatia | 35 | 45.449842 | 16.40373 | Sisak | Croatia | |
Richmond_CA | 35 | 37.940897 | -122.399001 | Richmond | CA | |
Aracaju_Brazil | 35 | -11.00402 | -37.066951 | Aracaju | Brazil | |
Guararema_Brazil | 35 | -23.454148 | -45.978578 | Guararema | Brazil | |
Mielnik_Poland | 34 | 52.363703 | 23.132606 | Mielnik | Poland | |
Dunkirk_France | 34 | 51.061252 | 2.35745 | Dunkirk | France | |
La_Spezia_Italy | 34 | 44.117471 | 9.879396 | La Spezia | Italy | |
Texas_City_TX | 34 | 29.374012 | -94.918698 | Texas City | TX | |
Campos_Eliseos_Brazil | 34 | -22.714354 | -43.267478 | Campos Eliseos | Brazil | |
Odessa_Ukraine | 32 | 46.501769 | 30.72655 | Odessa | Ukraine | |
Tarnos_France | 32 | 43.530665 | -1.495998 | Tarnos | France | |
Krotz_Springs_LA | 32 | 30.524591 | -91.749376 | Krotz Springs | LA | |
Sharjah_UAE | 32 | 25.505249 | 55.506337 | Sharjah | UAE | |
Navapolatsk_Belarus | 31 | 55.51623 | 28.559058 | Navapolatsk | Belarus | |
Jinzhou_China | 31 | 40.820269 | 121.048683 | Jinzhou | China | |
Cabiunas_Brazil | 31 | -22.293106 | -41.719494 | Cabiunas | Brazil | |
Ambes_France | 30 | 45.013597 | -0.566131 | Ambes | France | |
Qinhuangdao_China | 30 | 39.950385 | 119.711283 | Qinhuangdao | China | |
Dongjiakou_China | 29 | 35.592652 | 119.771118 | Dongjiakou | China | |
Ras_Tanura_repeat | 28 | 26.641 | 50.157 | Ras Tanura | repeat | |
Fidalgo_Island_WA | 27 | 48.482135 | -122.558368 | Fidalgo Island | WA | |
Lannach_Austria | 27 | 46.953897 | 15.345268 | Lannach | Austria | |
Vado_Ligure_Italy | 27 | 44.326411 | 8.49567 | Vado Ligure | Italy | |
Ras_Tanura | 25 | 26.637152 | 50.157497 | Ras | Tanura | |
Cremona_Italy | 24 | 45.137735 | 9.9931 | Cremona | Italy | |
Gothenburg_Sweden | 23 | 57.701954 | 11.842259 | Gothenburg | Sweden | |
Port_Allen_LA | 23 | 30.528103 | -91.175164 | Port Allen | LA | |
Bratislava_Slovakia | 22 | 48.126972 | 17.181375 | Bratislava | Slovakia | |
Lacchiarella_Italy | 22 | 45.336446 | 9.158258 | Lacchiarella | Italy | |
Beaumont_TX | 22 | 30.063828 | -94.069267 | Beaumont | TX | |
Venlo_Netherlands | 21 | 51.37707 | 6.199341 | Venlo | Netherlands | |
Virje_Croatia | 21 | 46.094906 | 17.01679 | Virje | Croatia | |
Ellesmere_Port_England | 20 | 53.271427 | -2.835887 | Ellesmere Port | England | |
Burnaby_Canada | 19 | 49.302253 | -122.857808 | Burnaby | Canada | |
Ingolstadt_Germany | 19 | 48.789467 | 11.474317 | Ingolstadt | Germany | |
Philadelphia | 19 | 39.910642 | -75.199349 | Philadelphia | PA | |
Helensburgh_Scotland | 18 | 56.11429 | -4.833736 | Helensburgh | Scotland | |
Edinburgh_Scotland | 17 | 56.002537 | -3.412722 | Edinburgh | Scotland | |
Ust_Luga_Russia | 16 | 59.743379 | 28.443213 | Ust Luga | Russia | |
Lake_Charles_LA | 13 | 30.315113 | -93.164959 | Lake Charles | LA | |
Palanga_Lithuania | 10 | 55.922386 | 21.068389 | Palanga | Lithuania | |
Buenos_Aires | 10 | -34.649008 | -58.349476 | Buenos | Aires | |
Richmond_California | 7 | 37.942824 | -122.35364 | Richmond | California | |
Grand_Bahama_The_Bahamas | 3 | 26.628377 | -78.499793 | Grand Bahama | The Bahamas | |
Kirkuk_Ceyhan | 3 | 36.897212 | 35.908049 | Kirkuk | Ceyhan | |
Iran_Isfahan | 3 | 32.658 | 51.6478 | Iran | Isfahan | |
Marsa_al_Brega | 2 | 30.3939 | 19.6042 | Marsa al | Brega | |
Iran_Asaluyeh | 2 | 27.535 | 52.556 | Iran | Asaluyeh | |
Salt_Lake_UT | 1 | 40.813177 | -112.28032 | Salt Lake | UT | |
Ras_Issa_Offshore_Terminal | 1 | 15.145012 | 42.60813 | Ras Issa Offshore | Terminal | |
Bonny | 1 | 4.433 | 7.167 | Bonny | Nigeria |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Manila_Philippines | 272 | 14.654653 | 120.951056 | Manila | Philippines | |
Valdez_AK | 289 | 61.107111 | -146.36732 | Valdez | AK | |
Auckland_New_Zealand | 266 | -36.858266 | 174.764205 | Auckland New | Zealand | |
Jakarta_Indonesia | 242 | -6.311999 | 107.099597 | Jakarta | Indonesia | |
Colon_Panama | 226 | 9.427013 | -79.90224 | Colon | Panama | |
Durban_Africa | 234 | -29.857526 | 31.025764 | Durban | Africa | |
Guayaquil_Ecuador | 223 | -2.252866 | -79.904836 | Guayaquil | Ecuador | |
Manzanillo_Mexico | 223 | 19.055627 | -104.296645 | Manzanillo | Mexico | |
Las_Palmas_Spain | 221 | 28.133578 | -15.426099 | Las Palmas | Spain | |
Boston_MA | 218 | 42.340836 | -71.018347 | Boston | MA | |
Da_Nang_Vietnam | 199 | 16.126391 | 108.219734 | Da Nang | Vietnam | |
Laem_Chabang_Thailand | 199 | 13.163866 | 100.897194 | Laem Chabang | Thailand | |
Freetown_Sierra_Leone | 196 | 8.471203 | -13.211737 | Freetown Sierra | Leone | |
Keelung_Taiwan | 190 | 25.146134 | 121.760194 | Keelung | Taiwan | |
Port_au_Prince_Haiti | 190 | 18.54208 | -72.352737 | Port au Prince | Haiti | |
Georgetown_Guyana | 187 | 6.802494 | -58.158186 | Georgetown | Guyana | |
Busan_Korea | 185 | 35.167736 | 129.044624 | Busan | Korea | |
Monrovia_Liberia | 179 | 6.327281 | -10.787974 | Monrovia | Liberia | |
Valencia_Spain | 179 | 39.447611 | -0.329948 | Valencia | Spain | |
Visakhapatnam_India | 177 | 17.703008 | 83.266924 | Visakhapatnam | India | |
Athens_Greece | 173 | 37.95051 | 23.610848 | Athens | Greece | |
Tanger_Med_Morocco | 173 | 35.877589 | -5.510602 | Tanger Med | Morocco | |
Chittagong_Bangladesh | 171 | 22.35158 | 91.823677 | Chittagong | Bangladesh | |
Ho_Chi_Minh_City_Vietnam | 171 | 10.785896 | 106.805308 | Ho Chi Minh City | Vietnam | |
Namibe_Angola | 170 | -15.107198 | 12.173817 | Namibe | Angola | |
Port_Harcourt_Nigeria | 170 | 4.767153 | 6.998418 | Port Harcourt | Nigeria | |
Lagos_Nigeria | 174 | 6.548543 | 3.37765 | Lagos | Nigeria | |
Tyne_UK | 166 | 54.986415 | -1.461044 | Tyne | UK | |
Yangon_Myanmar | 164 | 16.787819 | 96.150007 | Yangon | Myanmar | |
Dakar_Senegal | 162 | 14.693519 | -17.434107 | Dakar | Senegal | |
Buenaventura_Colombia | 161 | 3.884096 | -77.051697 | Buenaventura | Colombia | |
Callao_Peru | 158 | -11.905672 | -77.128654 | Callao | Peru | |
Tacoma_WA | 166 | 47.254678 | -122.405628 | Tacoma | WA | |
Copenhagen_Denmark | 157 | 55.692002 | 12.603036 | Copenhagen | Denmark | |
Kaohsiung_Taiwan | 157 | 22.57141 | 120.3152 | Kaohsiung | Taiwan | |
Veracruz_Mexico | 157 | 19.219045 | -96.150068 | Veracruz | Mexico | |
Salalah_Oman | 152 | 16.942405 | 54.006114 | Salalah | Oman | |
Lazaro_Cardenas_Mexico | 152 | 17.943288 | -102.181665 | Lazaro Cardenas | Mexico | |
Port_Said_Egypt | 149 | 31.291062 | 32.288044 | Port Said | Egypt | |
Seattle_WA | 143 | 47.589692 | -122.332902 | Seattle | WA | |
Kandla_Port_India | 141 | 23.008449 | 70.20442 | Kandla Port | India | |
Dutch_Harbor_Alaska | 136 | 53.87538 | -166.54 | Dutch Harbor | Alaska | |
Port_Klang_Malaysia | 137 | 3.048697 | 101.396063 | Port Klang | Malaysia | |
Gwadar_Pakistan | 132 | 25.134393 | 62.336737 | Gwadar | Pakistan | |
Pointe_Noire_Congo | 128 | -4.763122 | 11.851526 | Pointe Noire | Congo | |
Porto_Marghera_Venice_Italy | 128 | 45.472493 | 12.24675 | Porto Marghera Venice | Italy | |
Acajutla_El_Salvador | 126 | 13.581268 | -89.820606 | Acajutla El | Salvador | |
Gorgon_LNG_Australia | 125 | -20.715215 | 115.491562 | Gorgon LNG | Australia | |
La_Union_El_Salvador | 123 | 13.327355 | -87.841223 | La Union El | Salvador | |
Brunswick_GA | 124 | 31.186842 | -81.52658 | Brunswick | GA | |
Lampedusa_Italy | 120 | 35.507342 | 12.599516 | Lampedusa | Italy | |
Duqm_Oman | 113 | 19.659441 | 57.69746 | Duqm | Oman | |
Tanjung_Pelepas_Malaysia | 110 | 1.346662 | 103.547074 | Tanjung Pelepas | Malaysia | |
New_York_NY | 109 | 40.627312 | -74.18668 | New York | NY | |
Guangzhou_China | 108 | 23.013885 | 113.54101 | Guangzhou | China | |
Marseille_France | 106 | 43.329279 | 5.35847 | Marseille | France | |
Chimbote_Peru | 92 | -9.043421 | -78.58512 | Chimbote | Peru | |
Alexandria_Egypt | 85 | 31.20924 | 29.913304 | Alexandria | Egypt | |
Honolulu_HI | 85 | 21.313283 | -157.880381 | Honolulu | HI | |
Nagoya_Japan | 84 | 35.110514 | 136.898269 | Nagoya | Japan | |
Binhai_China | 82 | 39.004441 | 117.727578 | Binhai | China | |
Strait_of_Hormuz | 80 | 26.740227 | 56.56042 | Strait of | Hormuz | |
Geoje_Island_Korea | 78 | 34.871884 | 128.631643 | Geoje Island | Korea | |
Algeciras_Spain | 75 | 36.145454 | -5.326781 | Algeciras | Spain | |
Bremerhaven_Germany | 71 | 53.578868 | 8.549197 | Bremerhaven | Germany | |
Ensenada_Mexico | 70 | 31.862573 | -116.607021 | Ensenada | Mexico | |
Montreal_Canada | 64 | 45.484349 | -73.568058 | Montreal | Canada | |
Helsinki_Finland | 62 | 60.16821 | 24.93913 | Helsinki | Finland | |
Shanghai_China | 62 | 31.358233 | 121.646626 | Shanghai | China | |
Gioia_Tauro_Italy | 61 | 38.458311 | 15.908422 | Gioia Tauro | Italy | |
Sydney_Australia | 60 | -33.795698 | 151.209693 | Sydney | Australia | |
Nampo_Korea | 59 | 38.749647 | 125.327961 | Nampo | Korea | |
Melbourne_Australia | 56 | -37.843179 | 144.924132 | Melbourne | Australia | |
Istanbul_Turkey | 55 | 41.008437 | 28.975669 | Istanbul | Turkey | |
Khor_Fakkan_UAE | 53 | 25.353002 | 56.368815 | Khor Fakkan | UAE | |
Chennai_India | 50 | 13.03828 | 80.22095 | Chennai | India | |
St_Petersburg_Russia | 49 | 59.99148 | 30.304228 | St Petersburg | Russia | |
La_Spezia_Italy | 48 | 44.103306 | 9.823495 | La Spezia | Italy | |
Haiphong_Vietnam | 47 | 20.871558 | 106.712444 | Haiphong | Vietnam | |
Bangkok_Thailand | 46 | 13.697423 | 100.579843 | Bangkok | Thailand | |
Marsaxlokk_Malta | 45 | 35.827189 | 14.54393 | Marsaxlokk | Malta | |
Barcelona_Spain | 42 | 41.385234 | 2.179632 | Barcelona | Spain | |
Yingkou_China | 42 | 40.695831 | 122.25429 | Yingkou | China | |
Colombo_Sri_Lanka | 40 | 6.95063 | 79.843203 | Colombo Sri | Lanka | |
Norfolk_VA | 40 | 36.888434 | -76.310441 | Norfolk | VA | |
Kingston_Jamaica | 39 | 17.987818 | -76.8212 | Kingston | Jamaica | |
Buenos_Aires_Argentina | 38 | -34.561466 | -58.378503 | Buenos Aires | Argentina | |
Charleston_SC | 37 | 32.911794 | -79.957492 | Charleston | SC | |
Dubai_UAE | 37 | 24.967792 | 55.049313 | Dubai | UAE | |
Balboa_Panama | 36 | 8.953886 | -79.568479 | Balboa | Panama | |
Calais_France | 36 | 50.98028 | 1.9083 | Calais | France | |
Iran_Bandar_Anzali | 36 | 37.4813 | 49.461 | Iran Bandar | Anzali | |
Taichung_Taiwan | 36 | 24.298746 | 120.531505 | Taichung | Taiwan | |
Mumbai_India | 35 | 19.105774 | 72.862753 | Mumbai | India | |
Ghent_Belgium | 34 | 51.3472 | 3.8103 | Ghent | Belgium | |
Jeddah_Saudi_Arabia | 34 | 21.504974 | 39.157837 | Jeddah Saudi | Arabia | |
Osaka_Japan | 34 | 34.683845 | 135.436689 | Osaka | Japan | |
Vancouver_Canada | 34 | 49.261493 | -123.116899 | Vancouver | Canada | |
Felixstowe_England | 66 | 51.96126 | 1.350327 | Felixstowe | England | |
Kobe_Japan | 33 | 34.705216 | 135.324828 | Kobe | Japan | |
Mundra_India | 33 | 22.744541 | 69.692481 | Mundra | India | |
Nanjing_China | 33 | 32.283072 | 119.131344 | Nanjing | China | |
Karachi_Pakistan | 32 | 24.845342 | 66.989209 | Karachi | Pakistan | |
Shantou_China | 32 | 23.357345 | 116.650354 | Shantou | China | |
Suez_Canal | 32 | 30.624327 | 32.320794 | Suez | Canal | |
Incheon_Korea | 31 | 37.451646 | 126.703605 | Incheon | Korea | |
Santos_Brazil | 31 | -23.866572 | -46.376239 | Santos | Brazil | |
Mersin_Turkey | 30 | 36.795973 | 34.645417 | Mersin | Turkey | |
Savannah_GA | 30 | 32.111032 | -81.129171 | Savannah | GA | |
Yantai_China | 30 | 37.572198 | 121.401446 | Yantai | China | |
Yokohama_Japan | 30 | 35.527762 | 139.785657 | Yokohama | Japan | |
Dammam_Saudi_Arabia | 28 | 26.52888 | 50.208371 | Dammam Saudi | Arabia | |
Donggang_China | 28 | 39.86025 | 124.161761 | Donggang | China | |
Southhampton_England | 28 | 50.908367 | -1.40372 | Southhampton | England | |
Genoa_Italy | 25 | 44.435633 | 8.770178 | Genoa | Italy | |
Long_Beach_CA | 25 | 33.761376 | -118.191332 | Long Beach | CA | |
Fuzhou_China | 23 | 26.14722 | 119.5735 | Fuzhou | China | |
Singapore_Singapore | 23 | 1.260756 | 103.885993 | Singapore | Singapore | |
Yeosu_Korea | 23 | 34.755264 | 127.662258 | Yeosu | Korea | |
Dongguan_China | 22 | 22.867532 | 113.55996 | Dongguan | China | |
Bruges_Zeebrugge_Belgium | 21 | 51.365043 | 3.198201 | Bruges Zeebrugge | Belgium | |
Zhongshan_China | 21 | 22.579549 | 113.530395 | Zhongshan | China | |
Shahid_Rajaee_Iran | 20 | 27.15033 | 56.215466 | Shahid Rajaee | Iran | |
Tianjin_China | 19 | 39.06263 | 117.763064 | Tianjin | China | |
Rizhao_China | 17 | 35.405148 | 119.565508 | Rizhao | China | |
Antwerp_Belgium | 16 | 51.267021 | 4.360235 | Antwerp | Belgium | |
Hong_Kong_China | 15 | 22.361958 | 114.151884 | Hong Kong | China | |
Lianyungang_China | 15 | 34.781528 | 119.380943 | Lianyungang | China | |
Amsterdam_Netherlands | 13 | 52.35356 | 4.88988 | Amsterdam | Netherlands | |
Shenjia_Bay_Island_China | 12 | 30.60294 | 122.126502 | Shenjia Bay Island | China | |
Le_Havre_France | 11 | 49.498062 | 0.107009 | Le Havre | France | |
Shenzhen_China | 11 | 22.57361 | 114.055824 | Shenzhen | China | |
Sestri_Levante_Italy | 10 | 44.256764 | 9.428393 | Sestri Levante | Italy | |
Beaufort_Inlet | 9 | 34.692249 | -76.670124 | Beaufort | Inlet | |
Port_Elizabeth | 8 | -33.963497 | 25.636113 | Port | Elizabeth | |
Taicang_China | 8 | 31.740298 | 121.113785 | Taicang | China | |
Iran_Bandar_e_Lengeh | 6 | 26.55 | 54.8862 | Iran Bandar e | Lengeh | |
Mundra_Port_India_Adani | 6 | 22.746928 | 69.693746 | Mundra Port India | Adani | |
Napoli_Italy | 6 | 40.844463 | 14.279043 | Napoli | Italy | |
Taranto_Italy | 6 | 40.482951 | 17.198543 | Taranto | Italy | |
Port_Kembla_AU | 4 | -34.44903 | 150.889772 | Port Kembla | AU | |
Pyeongtaek_Korea | 4 | 37.00222 | 126.981349 | Pyeongtaek | Korea | |
Balhaf_LNG_Terminal | 3 | 13.982594 | 48.180103 | Balhaf LNG | Terminal | |
Beirut_Lebanon | 3 | 33.9051063 | 35.5347385 | Beirut | Lebanon | |
Busan_Korea | 3 | 35.154044 | 129.052573 | Busan | Korea | |
Port_Matilda_PA | 3 | 40.798296 | -78.057088 | Port Matilda | PA | |
Ports_of_Grimsby_Immingham_and_Killingholme_U_K | 3 | 53.677745 | -0.264966 | Ports of Grimsby Immingham and Killingholme U | K | |
Dawei_Myanmar | 2 | 14.084408 | 98.014634 | Dawei | Myanmar | |
Visakhapatnam_India | 2 | 17.675255 | 83.222346 | Visakhapatnam | India | |
Gloucester_Point | 2 | 42.61057 | -70.6551 | Gloucester | Point | |
Ulsan_Korea | 2 | 35.544941 | 129.256343 | Ulsan | Korea | |
Port_Mathurin | 1 | -19.6833 | 63.4166985 | Port | Mathurin | |
Tromso_Norway | 1 | 69.64882 | 18.957479 | Tromso | Norway |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Serris_France | 214 | 48.868719 | 2.7818 | Serris | France | |
Kapolei_HI | 206 | 21.320702 | -158.09885 | Kapolei | HI | |
Marinette_WI | 204 | 45.098802 | -87.619473 | Marinette | WI | |
Williamsburg_VA | 204 | 37.235431 | -76.643348 | Williamsburg | VA | |
Montreal_Canada | 191 | 45.53464 | -73.520947 | Montreal | Canada | |
Austell_GA | 159 | 33.769249 | -84.549612 | Austell | GA | |
Allenton_MO | 158 | 38.511209 | -90.674339 | Allenton | MO | |
Raleigh_NC | 141 | 35.854322 | -78.521675 | Raleigh | NC | |
Winnipeg_Canada | 138 | 49.903595 | -97.254902 | Winnipeg | Canada | |
San_Diego_CA | 134 | 32.743137 | -117.203601 | San Diego | CA | |
Tokyo_Japan | 129 | 35.662308 | 139.914391 | Tokyo | Japan | |
Tampa_FL | 128 | 28.046622 | -82.419252 | Tampa | FL | |
Reno_NV | 114 | 39.513594 | -119.785978 | Reno | NV | |
San_Antonio_TX | 110 | 29.608383 | -98.603845 | San Antonio | TX | |
Clark_Nevada | 91 | 39.541984 | -119.469583 | Clark | Nevada | |
Corpus_Christi_TX | 86 | 27.887631 | -97.270839 | Corpus Christi | TX | |
Pyeongtaek_South Korea | 75 | 36.977097 | 126.820459 | Pyeongtaek | South Korea | |
Anaheim_CA | 72 | 33.805836 | -117.892034 | Anaheim | CA | |
Fremont_CA | 66 | 37.493965 | -121.943059 | Fremont | CA | |
Hong_Kong_China | 64 | 22.361958 | 114.151884 | Hong Kong | China | |
Orlando_FL | 60 | 28.473219 | -81.425399 | Orlando | FL | |
Bangalore_India | 29 | 13.070634 | 77.590215 | Bangalore | India | |
Shanghai_China | 29 | 31.146456 | 121.664262 | Shanghai | China | |
Chonburi_Thailand | 22 | 13.426637 | 101.012371 | Chonburi | Thailand | |
Jiamusi_China | 15 | 46.798102 | 130.319314 | Jiamusi | China | |
Danesmoor_UK | 7 | 53.16188 | -1.399256 | Danesmoor | UK | |
Gurnee_IL | 7 | 42.370023 | -87.935962 | Gurnee | IL | |
Jackson_NJ | 6 | 40.141011 | -74.439221 | Jackson | NJ | |
Agawam_MA | 3 | 42.036426 | -72.617565 | Agawam | MA | |
Galesburg_IL | 3 | 40.949964 | -90.371675 | Galesburg | IL | |
Waterloo_IA | 3 | 42.492341 | -92.342757 | Waterloo | IA | |
Alliance_NE | 2 | 42.095741 | -102.870236 | Alliance | NE | |
Brea_CA | 2 | 33.91517 | -117.88646 | Brea | CA | |
Milpitas_CA | 1 | 37.407935 | -121.879411 | Milpitas | CA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | images | lat | lon | admin1 | admin2 | |
---|---|---|---|---|---|---|
Tullamarine_VIC_Australia | 254 | -37.714486 | 144.879163 | Tullamarine VIC | Australia | |
Jakarta_Indonesia | 242 | -6.311999 | 107.099597 | Jakarta | Indonesia | |
Villadangos_del_Paramo_Spain | 214 | 42.533957 | -5.753913 | Villadangos del Paramo | Spain | |
Galati_Romania | 200 | 45.444003 | 28.09091 | Galati | Romania | |
Xuzhou_Jiangsu_China | 163 | 34.289841 | 117.24249 | Xuzhou Jiangsu | China | |
Djibouti_Djibouti | 150 | 11.596812 | 43.112691 | Djibouti | Djibouti | |
Antalya_Turkey | 148 | 36.845594 | 30.600271 | Antalya | Turkey | |
Urumqi_China | 144 | 43.820579 | 87.614561 | Urumqi | China | |
Hirakata_City_Japan | 137 | 34.826891 | 135.664168 | Hirakata City | Japan | |
Turku_Finland | 137 | 60.456963 | 22.127815 | Turku | Finland | |
Ramos_Arizpe_Mexico | 136 | 25.587894 | -100.906115 | Ramos Arizpe | Mexico | |
Tosno_Russia | 136 | 59.566451 | 30.82137 | Tosno | Russia | |
Dingolfing_Germany | 135 | 48.647681 | 12.467315 | Dingolfing | Germany | |
Valence_France | 125 | 44.329722 | 4.732222 | Valence | France | |
Spartansburg_SC | 124 | 34.898666 | -82.174638 | Spartansburg | SC | |
Brighton_CO | 121 | 40.022787 | -104.805985 | Brighton | CO | |
Monterrey_Mexico | 118 | 25.732901 | -100.520987 | Monterrey | Mexico | |
Baily_Yard_NE | 113 | 41.144279 | -100.829398 | Baily Yard | NE | |
Maharashtra_India | 108 | 18.676335 | 74.116704 | Maharashtra | India | |
Plaeng_Yao_Thailand | 102 | 13.602861 | 101.341754 | Plaeng Yao | Thailand | |
Rauma_Finland | 98 | 61.124917 | 21.458913 | Rauma | Finland | |
Three_Gorges_Dam_China | 91 | 30.828026 | 110.998605 | Three Gorges Dam | China | |
La_Hague_France | 89 | 49.678494 | -1.879295 | La Hague | France | |
Memphis_TN | 75 | 34.927791 | -89.957781 | Memphis | TN | |
Windsor_CO | 69 | 40.476499 | -104.901721 | Windsor | CO | |
Siberia_Pipeline_UNKNOWNLOCATION | 54 | Siberia Pipeline | UNKNOWNLOCATION | |||
Narbonne_France | 53 | 43.214704 | 2.979904 | Narbonne | France | |
Pueblo_CO | 49 | 38.271995 | -104.625887 | Pueblo | CO | |
Emden_Germany | 45 | 53.360859 | 7.193922 | Emden | Germany | |
Nigeria_Pipeline | 26 | 5.605021 | 7.450727 | Nigeria | Pipeline | |
Itajai_Brazil | 25 | -26.889355 | -48.680131 | Itajai | Brazil | |
Two_Harbors_MN | 25 | 47.021137 | -91.680395 | Two Harbors | MN | |
Paranagua_Brazil | 24 | -25.51909 | -48.526282 | Paranagua | Brazil | |
Halifax_Canada | 23 | 44.702841 | -63.640208 | Halifax | Canada | |
Providence_RI | 22 | 41.800286 | -71.376732 | Providence | RI | |
Escanaba_MI | 21 | 45.773692 | -87.068081 | Escanaba | MI | |
Superior_WI | 21 | 46.760725 | -92.1454 | Superior | WI | |
Sandusky_OH | 20 | 41.45059 | -82.734901 | Sandusky | OH | |
San_Juan_Puerto_Rico | 19 | 18.440368 | -66.096582 | San Juan Puerto | Rico | |
Altamira_Mexico | 18 | 22.508889 | -97.875499 | Altamira | Mexico | |
Sao_Luis_Brazil | 18 | -2.573017 | -44.354414 | Sao Luis | Brazil | |
Marcus_Hook_PA | 17 | 39.876884 | -75.489623 | Marcus Hook | PA | |
Limon_Costa_Rica | 16 | 10.019646 | -83.022712 | Limon Costa | Rica | |
Port_Hueneme_CA | 15 | 34.153261 | -119.192367 | Port Hueneme | CA | |
Toledo_OH | 15 | 41.685387 | -83.467098 | Toledo | OH | |
Wilmington_NC | 15 | 34.191956 | -77.94477 | Wilmington | NC | |
Ashtabula_OH | 14 | 41.90211 | -80.786381 | Ashtabula | OH | |
Cleveland_OH | 14 | 41.509769 | -81.728155 | Cleveland | OH | |
Conneaut_OH | 14 | 41.96161 | -80.544824 | Conneaut | OH | |
Brunsbuttel_Germany | 13 | 53.902845 | 9.173304 | Brunsbuttel | Germany | |
Kiel_Germany | 13 | 54.33411 | 10.154502 | Kiel | Germany | |
Lubeck_Germany | 13 | 53.920399 | 10.816316 | Lubeck | Germany | |
Mariel_Cuba | 13 | 22.994859 | -82.764041 | Mariel | Cuba | |
San_Antonio_Chile | 13 | -33.594451 | -71.609459 | San Antonio | Chile | |
Butterworth_Malaysia | 12 | 5.447318 | 100.398366 | Butterworth | Malaysia | |
Galveston_TX | 12 | 29.308232 | -94.805335 | Galveston | TX | |
Kitakyushu_Japan | 12 | 33.920607 | 130.855462 | Kitakyushu | Japan | |
Kuwait_City_Kuwait | 12 | 29.348498 | 47.918471 | Kuwait City | Kuwait | |
Daesan_South_Korea | 11 | 37.079944 | 126.518204 | Daesan South | Korea | |
Pohang_South_Korea | 11 | 36.017175 | 129.40357 | Pohang South | Korea | |
Port_Everglades_FL | 11 | 26.070892 | -80.14054 | Port Everglades | FL | |
Beirut_Lebanon | 10 | 33.893708 | 35.521396 | Beirut | Lebanon | |
Dampier_Australia | 10 | -20.580308 | 116.783942 | Dampier | Australia | |
Naples_Italy | 10 | 40.841488 | 14.281126 | Naples | Italy | |
Pascagoula_MS | 9 | 30.339321 | -88.499878 | Pascagoula | MS | |
Sumgayit_Azerbaijan | 9 | 40.596226 | 49.613245 | Sumgayit | Azerbaijan | |
New_Orleans_LA | 8 | 29.941198 | -90.047025 | New Orleans | LA | |
Pakistan_Pipeline_UNKNOWNLOCATION | 7 | Pakistan Pipeline | UNKNOWNLOCATION | |||
Freeport_TX | 6 | 29.022084 | -95.414017 | Freeport | TX | |
Rail_Terminal_Illinois_UNKNOWNLOCATION | 6 | Rail Terminal Illinois | UNKNOWNLOCATION | |||
Sui_Northern_Gas_Pakistan | 6 | 31.500944 | 73.096842 | Sui Northern Gas | Pakistan | |
Brunswick_GA | 4 | 31.186842 | -81.52658 | Brunswick | GA | |
Power_of_Siberia | 4 | 55.073783 | 73.686295 | Power of | Siberia | |
Hanover_Germany | 3 | 52.357235 | 9.707517 | Hanover | Germany | |
Marathon_Pipeline_Illinois | 3 | 40.07 | -88.39 | Marathon Pipeline | Illinois | |
Sudan_Pipeline_UNKNOWNLOCATION | 3 | Sudan Pipeline | UNKNOWNLOCATION | |||
Tennessee_Pipeline_UNKNOWNLOCATION | 2 | Tennessee Pipeline | UNKNOWNLOCATION | |||
Hannover_Germany | 1 | 52.375536 | 9.73217 | Hannover | Germany | |
Houston_and_BP_Pipeline | 1 | 29.720967 | -95.065256 | Houston and BP | Pipeline | |
Hyundai_Delamar_Dry_Lake_Nevada | 1 | 37.318714 | -114.948752 | Hyundai Delamar Dry Lake | Nevada | |
Seibu_Komugi_Japan | 1 | 39.3334 | 140.996 | Seibu Komugi | Japan | |
Kashiwazaki_Kariwa_NPP_Japan | 1 | 37.421309 | 138.595629 | Kashiwazaki Kariwa NPP | Japan | |
Kelamayi_China | 1 | 45.57412 | 84.892472 | Kelamayi | China | |
Mexico_pump_station_UNKNOWNLOCATION | 1 | Mexico pump station | UNKNOWNLOCATION | |||
Mina_al_Ahmadi_Kuwait | 2 | 29.08461 | 48.065426 | Mina al Ahmadi | Kuwait | |
Ooi_NPP_Japan | 1 | 35.540625 | 135.652033 | Ooi NPP | Japan | |
Porto_Marghera-Venice_Italy | 1 | 45.462382 | 12.26665 | Porto Marghera-Venice | Italy | |
Spartansburg_Factory_UNKNOWNLOCATION | 1 | Spartansburg Factory | UNKNOWNLOCATION |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment