update geo and geo tools (fix for palestine, remove image urls)
This commit is contained in:
parent
3fa654a815
commit
8e490eca2e
5 changed files with 6944 additions and 7547 deletions
|
@ -22,10 +22,9 @@ Ox.load.Geo = function(options, callback) {
|
|||
dissolved <[s]> Array of countries the country has been dissolved (merged, renamed or split) into
|
||||
east <n> Longitude of eastern boundary in deg
|
||||
googleName <s|u> Google Maps country name
|
||||
imageURLs <o> Collection of dataURLs
|
||||
marker <s> Map marker
|
||||
imdbCode <s|u> IMDb country code
|
||||
imdbName <s|u> IMDb country name
|
||||
languages <[s]> Array of languages that are spoken in this country more than in any other
|
||||
lat <n> Latitude of the center in deg
|
||||
lng <n> Longitude of the center in deg
|
||||
name <s> Name
|
||||
|
@ -155,12 +154,28 @@ Ox.load.Geo = function(options, callback) {
|
|||
return country;
|
||||
};
|
||||
|
||||
/*@
|
||||
Ox.getImageByGeoname <f> Returns an image URL for a given geoname
|
||||
(type, size, geoname) -> <s> Image URL
|
||||
type <s> Image type ('flag' or 'icon')
|
||||
size <n> Image width (32, 256, 2048 (flag), 16, 256, 1024 (icon))
|
||||
geoname <s> Geoname
|
||||
@*/
|
||||
|
||||
Ox.getImageByGeoname = function(type, size, geoname) {
|
||||
var country = Ox.getCountryByGeoname(geoname),
|
||||
code = country ? country.code : 'NTHH';
|
||||
return Ox.PATH + 'Ox.Geo/png/' + type + 's/' + size + '/' + code + '.png';
|
||||
};
|
||||
|
||||
/*@
|
||||
Ox.getImageByLanguage <f> Returns an image URL for a given language
|
||||
(type, size, geoname) -> <s> Image URL
|
||||
type <s> Image type ('flag' or 'icon')
|
||||
size <n> Image width (32, 256, 2048 (flag), 16, 256, 1024 (icon))
|
||||
language <s> Language
|
||||
@*/
|
||||
|
||||
Ox.getImageByLanguage = function(type, size, language) {
|
||||
language = language
|
||||
.replace(' languages', '')
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -870,15 +870,15 @@ Ox.Map = function(options, self) {
|
|||
east: northEast.lng(),
|
||||
editable: self.options.editable,
|
||||
fullGeoname: getFullGeoname(data.address_components),
|
||||
geoname: data.formatted_address,
|
||||
id: '_' + Ox.encodeBase32(Ox.uid()),
|
||||
map: that,
|
||||
name: data.formatted_address.split(', ')[0],
|
||||
north: northEast.lat(),
|
||||
south: southWest.lat(),
|
||||
type: getType(data.address_components[0].types),
|
||||
west: southWest.lng()
|
||||
};
|
||||
place.geoname = data.formatted_address || place.fullGeoname;
|
||||
place.name = (place.geoname || place.fullGeoname).split(', ')[0];
|
||||
if (Math.abs(place.west) == 180 && Math.abs(place.east) == 180) {
|
||||
place.west = -179.99999999;
|
||||
place.east = 179.99999999;
|
||||
|
|
|
@ -103,7 +103,7 @@
|
|||
if (countries.length) {
|
||||
setTimeout(callGetData, timeout);
|
||||
} else {
|
||||
//Ox.print(logs);
|
||||
alert('Done');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -222,13 +222,13 @@
|
|||
var addresses = geo.google_query[country.name] || [country.name],
|
||||
length = addresses.length,
|
||||
union;
|
||||
// fixme: this might be too much data
|
||||
// check if map really needs this preloaded
|
||||
// (and even if, country markers may not be necessary)
|
||||
getImageURLs(country, function(imageURLs) {
|
||||
// this might be too much data
|
||||
/*
|
||||
Ox.extend(country, {
|
||||
imageURLs: imageURLs
|
||||
});
|
||||
*/
|
||||
callGeocode();
|
||||
});
|
||||
function callGeocode() {
|
||||
|
|
|
@ -9,7 +9,7 @@ import ox
|
|||
import re
|
||||
|
||||
"""
|
||||
run this, then html/geo.html, then fix JSON
|
||||
run this, then html/geo.html, then py/fix_json.py
|
||||
|
||||
311 countries
|
||||
-- sovereign, dependent and disputed countries according to
|
||||
|
@ -245,6 +245,7 @@ geo = {
|
|||
'Kosovo': 'Kosova (Kosovo)',
|
||||
'Macedonia': 'Former Yugoslav Republic of Macedonia',
|
||||
'Myanmar': 'Burma',
|
||||
'Palestine': 'Palestinian Territories',
|
||||
'Republic of the Congo': 'Congo',
|
||||
'Sahrawi': 'Western Sahara',
|
||||
'United Kingdom': 'UK',
|
||||
|
@ -283,7 +284,7 @@ geo = {
|
|||
'North Vietnam': ['Ha Giang, Vietnam', 'Lai Chau, Vietnam', 'Thua Thien-Hue, Vietnam'],
|
||||
'Northern Cyprus': ['Karpass, Cyprus', 'Kokkina, Cyprus', 'Lympia, Cyprus'],
|
||||
'Pacific Islands': ['Marshall Islands', 'Micronesia', 'Northern Mariana Islands', 'Palau'],
|
||||
'Palestine': ['71, Israel', 'El-arish Rafah, Egypt'],
|
||||
# 'Palestine': ['71, Israel', 'El-arish Rafah, Egypt'],
|
||||
'Panama Canal Zone': ['Amador, Panama', 'Fort Sherman, Panama'],
|
||||
'Sahrawi': ['Western Sahara'],
|
||||
'Saint Helena': ['Ascension Island', 'Longwood, Saint Helena', 'Tristan da Cunha'], # in case results are us-biased
|
||||
|
@ -1071,6 +1072,8 @@ def get_countries():
|
|||
# google name
|
||||
if country['name'] in geo['google_name']:
|
||||
country['googleName'] = geo['google_name'][country['name']]
|
||||
else:
|
||||
country['googleName'] = country['name']
|
||||
# other
|
||||
country['other'] = country['name'] in geo['other']
|
||||
# imdb
|
||||
|
@ -1097,23 +1100,28 @@ def get_country_flag(code, url):
|
|||
# max width on wikipedia
|
||||
width = 2048
|
||||
img = read_url(url)
|
||||
file = '../png/flags/' + str(width) + '/' + code + '.png'
|
||||
png_file = '../png/flags/' + str(width) + '/' + code + '.png'
|
||||
if url[-4:] == '.svg':
|
||||
svg_file = '../svg/flags/' + code + '.svg'
|
||||
update_image = not os.path.exists(svg_file) or read_file(svg_file) != img
|
||||
if update_image:
|
||||
write_file('../svg/flags/' + code + '.svg', img)
|
||||
# fixme: remove conditional later
|
||||
# (wikipedia tended to time out)
|
||||
if not os.path.exists(file):
|
||||
if not os.path.exists(png_file) or update_image:
|
||||
png = read_url(url.replace('/commons/', '/commons/thumb/') + '/' + str(width) + 'px-.png')
|
||||
write_file(file, png)
|
||||
png = Image.open(file)
|
||||
write_file(png_file, png)
|
||||
png = Image.open(png_file)
|
||||
else:
|
||||
write_file(file, img)
|
||||
png = Image.open(file)
|
||||
update_image = not os.path.exists(png_file) or read_file(png_file) != img
|
||||
if update_image:
|
||||
write_file(png_file, img)
|
||||
png = Image.open(png_file)
|
||||
png = png.resize((width, int(round(width / png.size[0] * png.size[1]))), Image.ANTIALIAS)
|
||||
write_image(file, png)
|
||||
write_image(png_file, png)
|
||||
else:
|
||||
png = Image.open(png_file)
|
||||
for width in [256, 32]:
|
||||
file = '../png/flags/' + str(width) + '/' + code + '.png'
|
||||
if not os.path.exists(file) or True:
|
||||
if not os.path.exists(file) or update_image:
|
||||
png_ = png.resize((width, int(round(width / png.size[0] * png.size[1]))), Image.ANTIALIAS)
|
||||
write_image(file, png_)
|
||||
|
||||
|
|
Loading…
Reference in a new issue