I think I love the idea - solve the problem of "you zoomed out too far, now wait for the server to load tiles for the continent you just asked to be rendered" - but I'm not sure what the use cases are where I need to know where West Bloomfield Township is in relationship to Waterford Charter Township (both suburbs of Detroit) but not what state they're in or even that the Great Lakes exist.
I would like to see a lot more data put into coastlines and a lot less into subdividing major metropolitan areas.
To say nothing of road and rail! It makes sense in a road map that you keep in your car, but you don't need to know where the roads are otherwise. Blots out so much other possible info.
This is cool, but the shorelines are very low detail. A few towns in the UK are off in the sea, meanwhile Greenland and Northern Canada are hogging all the vertices.
It looks as though the Mercator projection is already being accounted for in the detail level, but it would be good to deprioritize unpopulated areas.
Nice project! It may be useful to select the included places also by QRank of Wikidata [1] so notable islands will appear, despite low populations. An SQLite DB of QRank [2] was also posted here in HN a while ago.
(Saving people a click for link#1: qrank sorts Wikidata entries by their pageviews across Wikipedia, Wikiquotes, Wikibooks, etc.)
I'm not sure that an online popularity contest should be the input for a base map. I understand the reasoning that they're more likely to be viewed by someone, but it's also a bubble: is Wikipedia / are Wikimedia projects as popular in Asia as this base map will be? Is that used for the same purpose as this base map? Should something be shown on a map when there's a lot of drama about it rather than because a lot of people live there?
I see the advantages also, like if literally nobody lives there but it's an interesting or large landmass then there's cause for it to be included. I just don't think this is the right (objective, fairest) importance measure to use
qrank is not a mere popularity contest and definitely not a more arbitrary measure of importance than the count of population within city boundaries (boundaries can be arbitrary; population vs commuters vs tourists; regional capitals etc.)
> I just don't think this is the right (objective, fairest) importance measure to use
What's "right" can depend on the purpose of the map.
The ratio/prioritisation of detail in cities to shorelines seems oddly skewed towards including more cities over having accurate borders or shorelines
It's showing an entire province in the Netherlands as disconnected from the rest of the country, like it's an island (it's not), but knows to name five cities inside of that province, several of which basically on top of each other. (The inclusion of the afsluitdijk, on the other hand, is unnecessary detail imo but I get that it's hard to programmatically select those tweaks about what's considered land which it needs to draw and just some sea infrastructure)
I should open a ticket on the issue tracker but am not logged in on mobile so the best I can do atm is an HN comment. If someone else has a moment and feels the same way, feel free to cite this comment towards shifting the ratio a little! Or introducing a minimum separation distance between cities, or getting a smaller overall file, whatever the ideal solution may be but the current ratio is a tad unnecessary
This notably lead to making it not very usable at all in islands or achipelago area. Even the philippines, with a lots of islands sure but several ones of them being rather large, is not usable.
I've published a nightly version [1] that removes fjords and adds more detail elsewhere. It also generally has a higher resolution. The reason I originally didn't do the latter is because old phones, especially those running Firefox for Android, can crash while drawing large amounts of polygons. I have since optimized the drawing procedure, but beware!
The step from simple simplification to automatic generalizations is not trivial, the map agency in Sweden just recently began publishing map updates for different scales using their own automatic generalization rules. I'm guessing they will save a lot of man hours by doing that, but they have taken their sweet time doing it.
The zoom needs to be locked this map should not be used/critiqued beyond a certain level and that needs to be more apparent. You can see the same the map that Ache posted bellow, as long as you keep zoomed out it is mostly good enough. My point is that this is not a sloppy job, but you are right that neither managed to solve the hardest problem.
It's odd - they've got places like Stockport, Salford, Oldham etc, just not Manchester. Manchester has the highest population of the boroughs in Greater Manchester
I noticed that all of the New York City metropolitan area was replaced with a single angled line, cutting off several large islands supporting a few million in population.
I made the same (offline first, very small, vector based) but with a focus on i18n. So it's available in all languages of the United Nation (except Spanish because I just forgot, shame on me, could be made in a couple of hours).
The name of the countries (and cities) are the official one declared at the UN. So, yeah, the official short version of UK is "United Kingdom of Great Britain and Northern Ireland".
That's nice, but quite buggy. "Cape town" appears in South Sudan, though the country is not named. Erythrea is also missing its name. And there are 2 Somalia blocks, with different colors.
My own experience is that it's rather easy to draw a light map and deal with i18n. There are several open data sources and libraries. The hard problem is purely administrative. If you have data tied to most countries, there's certainly a mismatch with your source for a map, and you have to build a custom map yourself.
There is no consensus on what a country is. A few examples of divergences: Western Sahara is officially a country, but practically it's always been occupied by Morocco. Somalia is a mess, with Somaliland and Puntland being de facto independant coutries though noone acknoledge them officially. Between these two categories, Greenland, Nue and a few others are not fully independant.
The western one should be Somaliland, as you mention. The map seems to take the duck-typing approach to countries, rather than taking the official stance of any one country. There's Somaliland, Taiwan, Kosovo, Cyprus, Israel and Palestine, etc. No Northern Cyprus though.
I tried to use only UN approved names. « Somaliland » isn't on unterm.un.org, it's why there is two Somalia. I'm pretty sure that Eritrea isn't on the map because of a display bug.
Definitively, if you are making a map, your have to make geopolitical chooses. And yes, I have edited NE data to highlight the geopolitical choices that I think are the simplest to defend.
Couldn't find any description on how you made that, it is a beautiful map. There are things about Tiny World Maps as well, but they do not have a good description on how it's made either. From my own experience on a country scale it was a manual process with dirty hacks then getting the testing to get it right was the worst (mainly the right generalization, and what people expect on their local map).
Do you think it is worht the effort for you to significantly improve this map?
Not sure if the star is supposed to indicate the biggest city or the capital, but if it's the latter, Tanzania has it wrong. The star is on Dar Es Salaam but the label over it says Dodoma, which is the name of the actual capital but it's more in the center of the country.
Thanks for the feedback, everyone. To give some context for our choices: until recently, country shapes were not the main focus of this project. For a long time, the version in the README without country borders was the only version, because we didn't think adding the entire world was feasible. Turns out, it was.
I've published a nightly version [1] that removes fjords and adds more detail elsewhere, including the much-requested islands. It also generally has a higher resolution. The reason we originally didn't do the latter is because old phones, especially those running Firefox for Android, can crash while drawing large amounts of polygons. I have since optimized the drawing procedure, but beware!
I was interested to learn that the 10.000 largest settlements in the world gets you get down to 48.000 population. I’m still trying to work out if that is a surprising figure or not.
I'd long known that the largest 100 or so US cities by population gets down to the roughly 200k population level. Extending that to 200 cities is still above 100k (per Wikipedia, #333, Daly City, CA, is pop. 100,007: <https://en.wikipedia.org/wiki/List_of_United_States_cities_b...>). The relationship, as with so much else in scaling circumstances, tends to be linear on a log-log scale.
In China, you'd reach position 106 before finding a city of less than one million in population (the US has only nine such cities).
India, checking just now, has 46 cities with > 1 million population, the 100th ranked (Malegaon) is 471k, and at #300 population remains > 100k (Aurangabad).
Keep in mind that "city" is a highly arbitrary definition, and some of the world's largest cities would be the equivalent of metropolitan areas or even states or provinces elsewhere.
The largest city by area actually has a remarkably small population: Sermersooq, Greenland, with a population of 24,148 and land area of 575,300 km^2 (220,000 mi^2), which is not only larger than the US state of Rhode Island (by a factor of nearly 144 times), but all but two US states: only Texas and Alaska are larger, and the latter only modestly so (by 12%).
Urban geography is a complicated topic, and typically you'll find that comparisons are made on the basis of multiple scales and definitions such as metropolitan statistical areas (MSAs) and built-up land area, as well as population, which tend to smooth out arbitrary distinctions of political boundaries and give stronger weight to total demographic or economic influence.
Considering the coarseness of the borders, I am very surprised this takes up as much space as it does. It seems like the total data size is well under the threshold of utility vs. filesize. If it were double the size, the borders wouldn't be so janky, for example.
The full file is some 700K without gzip compression
> all the data present in the complete version except for country borders and shorelines. This reduces [the size] by 200k
So about 29% is border/shore data, 71% is city names and locations
Imo a lot of cities could be dropped, especially when they're on top of each other (not visible until you've zoomed in so far to see a grey landmass and that city name) to make the shorelines more accurate
I'm also not sure how often a general location on a world map is needed. Wouldn't one more often want a low-KB map of the surrounding highways and transit lines one can use to reach the POI whose website you're currently looking at, for example? A version for every few km² on the planet could be built and you could have quite a lot of useful detail at a tenth of the size. Global low poly also has its purposes, like tracking the space station I guess, but it seems much rarer
> By default, the map displays the 10,000 most populous cities added to OpenStreetMap. At the time of writing, this encompasses all cities and towns with a population of at least 48,000:
Statistically speaking, if you're closer to or even in those cities, you are more likely to have access to better network quality and speed. It's when you're in the more remote areas (or not near a population centre of 48,000 people...) that this project would be more useful.
If this map is only 300KB zipped and as it mentions offline-first, then surely a 1MB version would get you even better fidelity and more remote locations?
Very cool. I've long wanted to make an 8-bit throwback style "species page", think an EOL or wiki-page, or our own TaxonPages effort (example at https://orthoptera.speciesfile.org/otus/850075/overview). I'd like to see how much (symbolic) information you could pack into simplified figures etc, this would fit right in to answer the question "where in the world can I find the species, roughly".
Interesting that some relatively recent changes of preferred names like Czech Republic->Czechia and Macedonia->North Macedonia are on there but not Turkey->Türkiye and East Timor->Timor-Leste.
This is really nice although I'm finding the progressive loading a bit unreliable - sometimes tiles don't display if I zoom and pan quickly at the same time. I'm using FF 125.0 on Android.
Just as an idea: I think your demo should include an optional "Locate Me" button that requests geolocation perms and prints the lat long point on the map.
I woule adjust city density based on surroundings. I remember getting lost in Maps.me while in northern Russia: zooming out will not display any tiny villages of the area whereas zooming in will not place any of those on the screen. So you got a blank slate.
Meanwhile, displaying every suburb of a metropolis possessing a town status may be superfluous.
That's the way to do it. You get the map area, divide it by a constant and get the number of stuff your map should display. Then it's a matter of getting the largest-n stuff from the database.
You can always zoom to a level such that there's nothing there. And if all that is there is a few small villages, then "nothing there" isn't far of the mark anyway.
If you include smaller cities to 'fill in blank spaces', then either:
a) You'd have to drop a bigger city/suburb elsewhere. Not display a 1M town to be able to display a 10k town in thinly populated area elsewhere? Hmmm...
b) Or the app get bigger. Which defeats the purpose of having a tiny world map.
Love it!
Wonder what is the logic behind having some lines ending with ";" in some cases and not having them in others.
Is it just editor artefacts? i.e. the author had no intentions to put them, but the editor in some cases inserted them automatically.
seems a bit weird to use a service worker to do an offline version... the tutorial linked is long and worthless if you want people to quickly install and use it, you need to either make a shorter more concise tutorial.
imagine somebody loses internet access, he can't really open this thing to just access a map, I don't understand.
why not just provide a html file with the tiles encoded as base64 or something similar? just provide a zip file... I am not a web developer, this seems like a good thing, but deployment is 1/10... minimalist things are supposed to be very easy to deploy.
EDIT: just saving the page, and it works. I don't understand what the service workers are for. web dev has mysterious ways.
This service worker explicitly caches all the resources the app needs to run then intercepts requests for those resources so all the JS that depends on the resources still runs while you're offline.
If you had visited the site in the past, even if you were offline you would be able to go to that URL and the service worker would serve everything needed from cache.
I noticed the islands too (apparently only islands above a certain size "qualify" - of the Canary Islands you only get Gran Canaria and Tenerife, of the Galapagos Islands only Isabela, of the Azores - nothing), but all European "microstates" (https://en.wikipedia.org/wiki/European_microstates) are also not shown, some of them (Liechtenstein, San Marino) not even as labels.
Agreed. I get that there has to be a trade off between size and coverage, but if it's a map it should really have the option - at least - for the person implement it to choose density. Personally, I'd want every island to be at least shown as a blob.
I see this and the first thing I want to know is creating a Voronoi partition in order to see which city with >48k habitants is closest to any point in the map.
This runs really smoothly on my midrange phone. On the GitHub page it doesn't mention if there is translated versions, I will consider it if there is a version in Spanish.
This is cute, and I can imagine there are some use cases for it. But I was disappointed to find out that it doesn't even have the 150km2 island that I live on. Maybe a bit too small for most cases.
I would like to see a lot more data put into coastlines and a lot less into subdividing major metropolitan areas.