return to table of content

Tiny World Map

rozab
20 replies
1d4h

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.

zimpenfish
5 replies
1d3h

A few towns in the UK are off in the sea

And some, notably Manchester, are entirely absent.

DonaldFisk
1 replies
16h29m

Manchester's there, ESE of Salford, if you zoom in enough.

zimpenfish
0 replies
9h37m

Wasn't there yesterday!

[edit: also still kinda broken though because Southport, Blackpool, Burnley, Grimsby etc. all appear before Manchester which makes no sense.]

ta1243
0 replies
1d

Developer is clearly from Liverpool :D

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

bopjesvla
0 replies
11h23m

This has been fixed.

dansky
2 replies
1d2h

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.

[1] https://qrank.wmcloud.org/ [2] https://github.com/hikeratlas/qrank

Aachen
1 replies
22h14m

(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

tuukkah
0 replies
10h5m

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.

perrygeo
1 replies
1d2h

The simplification was sloppy all around. Entire nations are missing in the Caribbean. These are basic quality control checks.

pastage
0 replies
9h2m

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.

nolok
1 replies
1d3h

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.

French polynesia doesn't even exists on the map.

dorfsmay
0 replies
1d3h

Neither is Saint Pierre et Miquelon. There is the island of la Réunion but no name, and the name for Ibiza but no island...

I hope those can be fixed, I love the concept.

jlv2
1 replies
3h26m

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.

jlv2
0 replies
3h24m

I see this is improved in today's Nightly Demo link, but I still find the result too low fidelity.

FinnKuhn
1 replies
1d

There also seem to be some bugs in this, just look at Hamburg, Germany...

non-chalad
0 replies
16h54m

And Berlin is missing it's famous landmark TheBerg.

s0rce
0 replies
1d1h

Same with the Alaska Panhandle, lots of uninhabited complex shoreline.

bopjesvla
0 replies
10h25m

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!

[1] https://tinyworldmap.com/beta.html

Aachen
0 replies
22h23m

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

_ache_
12 replies
1d4h

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".

https://map.ache.one/en

idoubtit
2 replies
1d3h

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.

wongarsu
1 replies
18h57m

2 Somalia blocks, with different colors

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.

_ache_
0 replies
16h26m

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.

barlog
2 replies
1d4h

Fabulous.

I read your rail ads story with interest.

Great perspective.

素晴らしい視点でした from ja-JP

_ache_
0 replies
1d4h

Thank you very much. How lovely.

pastage
1 replies
11h43m

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?

_ache_
0 replies
10h9m

I will improve the map and explain how it was made and why, because I think it worth it.

But I'm not going to improve it significantly.

Thank you. ^^

keraf
1 replies
21h2m

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.

_ache_
0 replies
16h39m

Thank you for pointing this out.

The capital positions are the only data that is not UN sourced nor from natural earth. I will fix that.

konstantinua00
0 replies
1d

"i18n" is very not internationalized abbreviation...

clementmas
0 replies
11h48m

Well done. I'd need it to be vector based too.

msephton
6 replies
1d5h

I was unable to find Easter Island.

xioxox
3 replies
1d5h

Yes, many of the islands are missing even if they have labels (e.g. Faroe Islands). It would be nice if there was just a blob there at least.

rob74
0 replies
1d5h

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.

msephton
0 replies
1d5h

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.

carlosjobim
0 replies
1d5h

The label is a blob.

playingalong
0 replies
1d5h

At least there is New Zealand.

082349872349872
0 replies
1d5h

high compression is usually lossy

thriftwy
3 replies
1d6h

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.

globular-toast
1 replies
1d5h

Interesting comment. I guess it should be optimised for density uniformity somehow.

marcosdumay
0 replies
1d3h

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.

RetroTechie
0 replies
1d5h

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.

Want more detail? Just use some other app.

LeifCarrotson
3 replies
23h5m

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.

wongarsu
0 replies
18h46m

The idea is good, but it should really include the 100 biggest islands, 50 biggest lakes, 200 longest rivers, or something along those lines.

medstrom
0 replies
8h20m

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.

devman0
0 replies
17h32m

Some random spots I checked out of curiosity, Alexandria, VA, USA is on the wrong side of the river and the country of Bahrain is very sad.

shadowpho
2 replies
1d2h

Wow the large file is <1MB, that’s efficient

bassdigit
1 replies
10h22m

I wonder if it could be even smaller when they wouldn't store all coordinates with 10 decimal places, at least for the label positions.

jokoon
2 replies
22h21m

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.

likeclockwork
1 replies
21h2m

That's what service workers are for.

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.

jokoon
0 replies
8h3m

that means the demo doesn't have a service worker?

yosito
1 replies
1d4h

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.

sgtnoodle
0 replies
1d3h

It's funny that it doesn't have the great lakes. I guess it doesn't have any internal bodies of water.

sexy_seedbox
1 replies
17h53m

What happened to Hong Kong?!

CaptainFever
0 replies
8h43m

Singapore has disappeared as well.

nakedrobot2
1 replies
1d3h

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.

Aachen
0 replies
22h7m

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

lysp
1 replies
16h58m

I'm not sure the 10,000 most populated cities is the best filter.

This will prioritise cities in large countries with smaller countries likely to have most if not all cities unavailable.

Should be a secondary filter that has the top X cities in each individual country, this should capture all major cities in smaller countries.

dredmorbius
0 replies
14h2m

There are other measures of urban significance.

Capitals (national, regional), global cities, cities by local prominence, etc., might all be useful modifications to the basic criterion.

I suspect geographers and cartographers might be able to inform this discussion more usefully.

NeoTar
1 replies
21h19m

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.

dredmorbius
0 replies
13h49m

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.

BodyCulture
1 replies
23h56m

Lots of errors, why does this exist? What is the use case for a map without precision?

echoangle
0 replies
23h55m

That’s stated in the description. As a fallback and when you only need general location.

zekrioca
0 replies
1d4h

Interesting project! Would it be possible to add other types of boundaries?

ytdytvhxgydvhh
0 replies
1d4h

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.

xipho
0 replies
1d2h

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".

throwaway290
0 replies
2h37m

Note that their license (ODbL) is more restrictive than AGPL.

thinkingemote
0 replies
1d

Love the service worker idea. What other things could service workers do with maps?

teo_zero
0 replies
1d2h

Is there a reason why New Dehli doesn't show up at any zoom level?

sodimel
0 replies
1d5h

Really cool project!

poilcn
0 replies
10h56m

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.

penteston
0 replies
15h48m

This map has issues. Where caspian sea? I dint found it.

pentagrama
0 replies
1d2h

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.

otikik
0 replies
10h18m

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.

What is wrong with me.

mattlondon
0 replies
21h47m

I think I would have personally liked to have seen less small towns, and more major roads.

majkinetor
0 replies
1d

Those 2 banners about usage are so prominent and distracting without the option to hide them. It makes it unusable for me.

lloydatkinson
0 replies
20h23m

I think there's a flaw in this idea.

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?

keepamovin
0 replies
1d5h

This is SOO Good! Thank you for making this.

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.

jimmyrocks
0 replies
1d1h

This is really cool! I’m super impressed at how quickly it loads on my phone.

Really great idea to compress the spatial data into Paths.

I would suggest using Natural Earth data instead of OSM so you could drop the ODbL license.

It’d also be really cool if you included the tool that converts the spatial data into Paths.

diamnom
0 replies
1d3h

This should really include capitals even if they are smaller than 40k and star them in some way

danparsonson
0 replies
1d4h

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.

bopjesvla
0 replies
10h13m

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!

[1] https://tinyworldmap.com/beta.html

_ache_
0 replies
1d4h

It's very good !

- Get the islands back !

- Limit the zoom level to not pass through the land

- Make the Capital city maybe in light bold or slightly bigger to differentiate them

- Fix long name

- Some cities disappear when you zoom.

ImHereToVote
0 replies
1d4h

Great product. Would be awesome if you could generate a smaller version depending on which part of the world you are biased towards.

ByteBard1979
0 replies
4h56m

This is an interesting exploration, the idea of being offline is great.