The reason the video got blessed up by the algorithm just now is likely that I made a Short that went viral, and some of those viewers checked out this video, giving it the initial push it needed to get noticed. Thanks for watching 🙏
well deserved, king! I like how you went through it in a simplified approach even laymen could understand while also showing your thought process and how it could improved on until the final product.
Some ideas for improvement: 1. Use OpenStreetMap - it also has an API that is free to use. 2. Place nodes at intersections - I feel like the grid idea is slightly flawed as it ignores the areas between the grid points. 3. Redraw the map at the end - I'm not really a fan of the text getting distorted.
Agreed. OpenStreetMap should greatly help with all of this since you can just transform the roads directly instead of relying on an arbitrary grid for samples. If I remember correctly, OSM also supplies a bunch of useful metadata. One thing to keep in mind is the sheer amount of detail makes the maps rather large in size, presenting challenges for scaling since you'll run into RAM limits pretty quickly if you use all the data of an area.
Also using vector tiles/data instead of using raster tile would greatly help in having a beautiful end result. For an API that uses OSM data for routing I recommend OpenRouteService (you can self-host too)
the intersection issue is definitely a thing : to do it more accurately you should do it via "crowd-placing" where a lot of people can accurately place some point, and by using open street map, you should be able to not just show several cities but the whole world.
It's probably exponential growth. Let me make up some numbers: It recommends to 2 people, 1 of which click on it. This is a really good click thru rate, so it's now recommended to 4 people, 2 of which end up here. Then 8, 16, 32 and in a few cycles we have 100k people here, 50k of whom came in the latest cycle.
That's a cool idea, but stretched words tell my brain that roads are not long, but stretched. It would be interesting to stretch a label-less map, and have labels in a different layer.
Really good video, well done! Another issue you didn't mention that make the perfect map impossible is the time between A and B might not be the same than between B and A, due to one-way streets.
No, the issue is that he never truly detached himself from the grid system! The issue that you bring up, is the exact reason why the "grid" should have been the roads themselves, utilizing vectors to determine the magnitude and direction. Intuition tells me that roads with higher speed limits will be shorter while roads with shorter speed limits will be longer. and that is the most literal sense of a "derivative" I believe that it is 100% possible to do this, but the premise was slightly wrong.
@@mechwarrior83 I'm afraid in this case it has more to do with that gmaps is being implicitly advertised, and youtube being owned by google, they have a financial incentive to push this video
This reminds me of when I worked in customer support for a restaurant chain that had started offering delivery. People would try to order delivery and would be told they're outside of the delivery zone and would ask "Why can you deliver to a house two blocks down the road but not to me?" and I had to explain (in as simple of terms as possible) that the delivery zones used an isochrone to determine the range instead of a set radius. It was actually a pretty neat system and helped lower the number of "my order was late" complaints but it increased the number of "Why can't you cross a bridge?" calls... ugh.
looks like tons of people got recommended this video for some reason… really great video, I’m surprised it was not pushed to be more popular (because the quality here is great!!)
It's probably exponential growth. Let me make up some numbers: It recommends to 2 people, 1 of which click on it. This is a really good click thru rate, so it's now recommended to 4 people, 2 of which end up here. Then 8, 16, 32 and in a few cycles we have 100k people here, 50k of whom came in the latest cycle.
Great work! My biggest issue, however, is that while you're using vectors to compute the stretching, the map itself isn't fully vectorized. Additionally, while I'm not 100% certain, I believe the travel times returned by Google's Distance API vary based on the time of day it was queried, which could lead to inconsistencies. I feel like OSRM or Mapbox would have been better suited for this project. I also noticed that despite your attempt to move away from Cartesian coordinates, the map ultimately adheres to a grid system. I'd argue that the grid should instead be based on points along highways and roads, perhaps using splines, since these vectors inherently dictate travel times. As for the claim that such a map wouldn't work due to the Earth's spherical nature, I don't see that as a major obstacle. Each continent and island is separated by bodies of water, so this wouldn't be a significant issue. Antarctica might pose a unique challenge, but even then, it could simply be represented as a separate map. Personally, I would have started with a smaller test case, like a small island with a well-connected road network. For example, Marie-Galante in Guadeloupe could be a great option, it's compact, relatively circular, and has plenty of roads to work with. EDIT: Additionally, Intuition tells me that roads with higher speed limits will be shorter while roads with lower speed limits will be longer. and that is the most literal sense of a "derivative". The premise might have been wrong because travel time can be calculated for any distance along a road, in this case, it should probably be a "unit length" (1m/1ft) -- And since the total travel time is the sum of its parts, you can indeed focus on individual road segments.
@@MathMagician93 an interesting option would also be to not use an existing map that shows points based on the dimensions latitude on longitude but rather create a totally new one that uses other metrics as dimensions (such as travel speed), so the grid it uses doesnt use distances on it‘s axes. That would really look interesting.
holly shit i just finished the video and clicked on your channel to see what else have u made.... but this is your FIRST VIDEO??? unbelievable effort man, the video, idea, and execution were incredible
This is very interesting but I don't think its possible to make a static map for vehicle use. You did briefly touch on this when you mentioned 3d maps. Imagine a triangle of freeways. Each vertex should be closer to the other two vertices than any area within the triangle near the freeways, because those areas would have the added time of traveling to the nearby freeway or added time of using a slower road. This leads to an area inside the triangle with a larger perimeter and same shape as the triangle itself, which cannot happen.
Yeah so the 3d map could distort in a vertical axis too, so paths that take longer to be crossed would curve a lot more, and the extremes such as inaccessible areas would basically just be infinitely deep holes
Mountains can have negative steepness so it will be a bigger perimeter on the top. Imagine a pyramide but put it upside-down and it will be a negative steepness mountain.(It's going to be a horrible thing to look at from above, though)
I think you could get a much better effect by a) doing the warping as a fragment shader which uses distorted uvs to sample from the texture(original map) b) downloading the street network (I think open streep map has a downloadable version) and interpolating the time costs from google maps along the streets c) doing the spring caclulation hierarchically in some sort of chunks to have to query fewer springs to compute the UVs It'd be cool if you can also set the street width to a 3 pixel minimum(black border, white road, black border) so that streets always remain visible/interpretable Nice project, maybe the algorithm's wave of traffic inspires a part 2!
Those are all great ideas, but I felt that the effort-reward ratio wasn't high enough to warrant further improvements. Since the code is open-source, anyone can build upon it - I'd love to see a more polished version!
Great video. Some points i would love to add: You could have used QGIS and OSM data to calculate the traveltimes free of charge. You can scrape some points from the API to verify and optimize, but far less than all those calculations. The method is quite interesting, but i would have used the georeferencing tool from qgis with python, which does most of the work and allows you to use far more points. You could have used some symbology and a clean basemap to prevent all those names to be so warped by transforming them with the same adjustment 🤔 All in all, great video, i hope you are doing great!!
This is very cool, but you should know that cartographers have been doing this for a long time. I made a map like this in 1993 for my undergraduate thesis in geography and cartography. They are sometimes called temporal cartograms, among other things. This doesn't take away from your creative work!! It's just hard to come up with something that no one else has done before. :)
I think an isochrone map dynamically colored by mouse position would be really cool. Or make a 3D elevation map of travel times. It'd be fun to do this with static travel times for roads/buses/planes/water travel and see the most time-distant location from your location.
Cool Video! A very efficient way of computing the travel time matrix you could also try is based on “contraction hierarchies”. But of course that’s more difficult to implement
In my opinion, the springs struggling is because the outside points are anchored. If you made the whole thing an unrestrained mesh on an infinite plane, you could comfortably play with parameters and create a map where 1 pixel = 1 second
You should've done pedestrian maps, not car ones. Cars are for getting from point A to point B, while walking is a much freer activity. A time-based mapped would be a lot more relevant to someone on foot.
It was covered in the beginning of the video. Walking speed doesn’t vary much, and it quickly becomes a circle. So the maps will generally look the same, adding not much value. Car travel speed varies much more, so making a map based on it is more interesting, and adds more value. What would also make sense is public transit time map
@@juzoli if I interpreted him right, that’s only an issue with isochrones from a certain point. Since he also complained about them having fixed origins and this by contrast is meant to cover all points, that might not even be applicable here.
@ Both are measured the same way. The difference is that walking time is mostly linear to distance, as it is always pretty much the same, and the only thing which slows it down is crossing streets, but that averages out in longer distances. Whether I’m walking in forest, next to highway, or in residential ares, I always walk at ~3mph, and cut corners to walk closer to a straight line. However, the speed of car/public transit varies a LOT based on the proximity to major highways/public transit lines.
@@juzoli I’m aware, the video said that and so did your other comment. The initial idea presented in the video, the entire opening monologue, was based on fastest times between various urban landmarks. It was all about how bridges and other fixed crossings impact walking time. The idea is indeed for most of the map to average out for walking! With only local features like bridges, long stretches with no pavement/sidewalk, etc actually providing any distortion at all. (Though it still wouldn’t be the same as a static isochrone, because it would incorporate “all” destinations on either side of the crossing.) That would make it les “fun” to animate/watch, sure, but also a lot more readable. And sure, it’ll be a subtler effect, but part of OP’s point was even with the distortion turned down it’s still pretty unreadable with the actual settings. We’re rarely using maps to find the fastest way through a forest, outside of boundary shapes, since they’re largely isomorphic as well. So while you could just argue to turn the severity of the car distortion down further, I still think comparing the specific shapes that walking makes compared to cars (and other modes!) would be theoretically very interesting. Even if you’d need to tune the “amplification” of each mode to compensate for time and ensure they all end up with similar visual distortions. I hope I’m making sense. Like, by all means, do a country sized map distortion to show the same effect for all the major roadways! Do them for every mode of transit as well! Even as others suggest, these should arguably use the roads as nodes rather than an arbitrary grid put on the map since this technique defines a travel mode. But the argument is, AIUI OP and my own interpretions, the grid method in this video is the most applicable to walking because unlike all other modes which can be “easy” node based graphing systems, walking isn’t limited to fixed paths (except again for things like bridges etc) so the grid must be placed outside of the roads.
2:53 fun fact, this is actually how many softbodies are simulated! just a 3d grid of points attached to their neighbors with springs a softbody is basically a mass of jello or something similar
Me and my mates did one of these around my school to see how far we could go in our lunch breaks. I thought it was genius, I’m sad we weren’t the first to do it
This is both impressive in concept and execution. Brilliant. Just the idea alone is an eye opener. And how you create the map is another example of how much the world has passed by this old (retired) programmer. A suggestion. Perhaps you can find a way to have the location names less distorted (maybe semi transparent floating) and also place non distorted dots on known locations, all to retain usability of the map.
3D map is basically a 2D map with color overlay (if the axes are orthogonal), so it's still doable. It could be nice for v2 for more accurate results! 😊
So really cool concept, and you had some cool ideas, but I’m pretty certain the map you made doesn’t show travel time. In fact, my intuition tells me that’s an impossible task on a 2 dimensional map. Let’s say you have a 1 way street, so travel time is faster in one direction than the other, how would that look on the map? Your idea of hovering over an area and amplifying the springs might kinda help with that, but even then you’ll have springs in close proximity fighting each other for influence. Also a river section between 2 bridges would need to greatly separate the land masses on either side of the river, but also pull the bridge sections close together, and I feel like that would inherently cause time distortion on the land masses that you can’t realistically correct for. All that being said, I guess I’m saying you need additional information to make an accurate map, and the only ways you could do that are by overlaying more information on a 2D map, or by adding more information in a 3rd dimension. At that point I feel like the map would become so cluttered and nonsensical it wouldn’t make sense to someone looking at it, so the only way to know if it is working is to test it mathematically. Anyways, neat video.
I agree, I think it's impossible to make such a map that is agnostic to starting point. For example consider the simple case of two roads that intersect in an otherwise empty area. If you travel 5 minutes down the road in each direction you get to a set of 4 points where the shortest travel time between any pair of them is 10 minutes (by taking two road segments). A correct map where the distance on the map is proportional to travel time would have all four of these points equidistant from each other, but there is no way to draw 4 equidistant points on a planar surface.
While watching I was constantly reminding myself, this looks similar to Self-Organizing Maps. It isn't really, and I don't remember SOM's math, but I've got that feeling. I'd check the math before assumptions tho
Thank you for sharing your creativity and iterative approach to this challenge. I admire your willingness to experiment. I look forward to your subsequent videos and again thank you for your interest in helping us learn.
The maps are non-linear, so it wouldn't fall under linear algebra. Really what we are looking at is a smooth map between manifolds (here a manifold is just a fancy word for a sort of surface, in this case it's just flat space). If the mapping is invertible (i.e. we don't overlap any two points) and has a smooth inverse, we call it a diffeomorphism.
The NYC public transit map is really cool because you can see exactly where some of the lines run. The G especially stands out running through Williamsburg.
Doesn't approximating A-B time via C lose the ability to account for abnormally fast routes between A and B that can't be used to travel via C, eg a highway?
I believe you need an open source map to work on it because maps are usually made using vectors not pixels and when you manipulate the victors themselves and the victors are just points of line space and the map is just finding your place and coordination between Tweety plane XNY axis so yeah technically it’s simple to understand, but it would be much easier to control like it would be much easier for you to define the streets define the direction define the sides of the streets define what is water and what is land and that would come cheaper in processing if you have an open source snap to be used to locally like your maps maybe and it will give you a lot of cool you know things to work around with! On other hand, it will not limit you from doing the same with Google Maps because you can integrate the same thing that you have built using your maps through Google Maps save your high as a final interface because at the end of the day you just need to map out the coordinates between both of them and I’ve seen there are sort of routers or so feel like that or libraries that can translate between multiple map interest so yeah you can do that and you can do some small adjustments as well to find you. you know the deviations between XNY axis and it would work really beautifully and it would be shining Google maps Apple maps but actually have built it. The whole engine don’t hear maps as a backend so yeah this is of course one of them will be more appealing than the other, but at the end of the day you just can do it.
Actually, there’s a good idea. Also, you can compensate, the 3rd dimension curvature by adding distortion. There is a way to calculate that because you can calculate wherever you are in this kilometer by kilometers players you can figure out how much Derbishire ahead under horizon Lyft ride north south song for that as well I believe it will make you look and it will take a lot of distortion that comes crazy unhappy.
The open source map should come with street metadata too. Instead of the random (and way too large) triangles, put a vertex at each street intersection. Then compute the time to each vertex using standard speeds for each street type (like a normal navigation algorithm). Finally, distort the map to be isochrone to the mouse cursor, a combination of 2:22 and 9:52
I glad this went viral.... 9 months later 🙄 Edit: tho that's actually really cool since now upload date isn't aa important and older stuff that was missed can finally get it's day in the sun that it deserves, like this!!
This is great. I have done some similarly "odd" transformations. My master's thesis involves relating corn and soybeans with temperature and moisture content, so instead of using a bunch of isotherms (which like those isochrones are discrete values), I made iso-"water activity" graphs to guide the translation continuously. These maps are likewise contextually more useful, but require thinking outside our usual frames of reference.
Great work! It's an idea I have been playing around with as well. Love to see how you've taken a stab at it, especially the idea to bend it based on cursor location.
Well this one just dropped in a bunch of people's recommended tag. Looks like this one's gonna blow up pretty soon. Very well made video, hope to see more
I love the ideas presented here. Whenever visitors ask me how far is it from Boston to New York, I answer 4 hours by car, and not the number of miles. Some will do a double take, because I haven't answered their question literally, but most realize I'm giving them the relevant information they need. Looking at the old 1881 map, it might be good to clarify that each color represents a week. At first, I thought each color represented a day, but that's impossible. It took my mother 10 days to immigrate from Norway to the United States by ship in 1948. From London it probably took 8 days. Reaching Halifax from London is still within 7 days (green on the map) and then one more day to reach New York (yellow on the map). It's also interesting to see where the train crossed the continental divide between Denver and Salt Lake City showing how traveling from New York to San Francisco could be completed within a week and within two weeks from London.
the fact that I had 0 idea what you were talking about to 100% understanding 5 seconds into the video, shows the incredible accessibility and need of this map..
It might be interesting to do this for public transit! It may be more relevant for cities such as New York, and isochrones may be even more wildly stretched than for cars. Edit: never mind, I see that you did actually do this! Very cool, would love to see for Hong Kong too!
Another point worth noting is that each map will only be accurate at the time it is generated. Google maps updates based on traffic, etc. So the distortions to your map will reflect that. But it is a map of spacetime, so it kinda fits that it only reflects a single point in spacetime.
Now a kicker - in cosmology there's a new but simple concept that postulates there's no expansion of the Universe, but the red-shift we observe is due to time-dilation. Basically the same concept of distorting map-space to form circular isochrones.
Amazing! I've always wanted to make a map that shows time instead of distance, and ideally incorporate public transport as well. This is pretty much what I wanted, awesome!
I've always thought about doing something like this, especially when I'm stuck in traffic, but I figured it was going to be a lot of work lol. Good video.
This is one of the most interesting videos I've seen on here, also all without using traditional GIS software and brute-forcing the code. This is insane amount of work. As others have said there is definitely room for improvement, but you're also the first to do this, amazing video.
The reason the video got blessed up by the algorithm just now is likely that I made a Short that went viral, and some of those viewers checked out this video, giving it the initial push it needed to get noticed. Thanks for watching 🙏
well deserved, king! I like how you went through it in a simplified approach even laymen could understand while also showing your thought process and how it could improved on until the final product.
this is a great video, im glad so many people are noticing
Good to know
average czech W
Congrats!
Some ideas for improvement:
1. Use OpenStreetMap - it also has an API that is free to use.
2. Place nodes at intersections - I feel like the grid idea is slightly flawed as it ignores the areas between the grid points.
3. Redraw the map at the end - I'm not really a fan of the text getting distorted.
Agreed. OpenStreetMap should greatly help with all of this since you can just transform the roads directly instead of relying on an arbitrary grid for samples. If I remember correctly, OSM also supplies a bunch of useful metadata. One thing to keep in mind is the sheer amount of detail makes the maps rather large in size, presenting challenges for scaling since you'll run into RAM limits pretty quickly if you use all the data of an area.
osm the best free map api
distortion map of this kind should in fact just use street intersections as anchor points
Also using vector tiles/data instead of using raster tile would greatly help in having a beautiful end result.
For an API that uses OSM data for routing I recommend OpenRouteService (you can self-host too)
the intersection issue is definitely a thing : to do it more accurately you should do it via "crowd-placing" where a lot of people can accurately place some point, and by using open street map, you should be able to not just show several cities but the whole world.
I’m glad this got recommended 9 months later, this is very interesting
Yup just got recommended it today; the TH-cam Algorithm Gods are strong with this one today
The algorithm shows time, not space
The TH-cam algorithm is a special entity…
Mr too bro
Checking in for the algorithm
A baby got made 9 months ago and is born today
statistically? hundreds
@@elicenyne I believe they were referring to this young man's baby (the time map concept) since it was posted 9 months ago
@ oh
Clever metaphore
@@elicenynethe comment was a metaphor about this video because it got shown to everyone 9 months after being published
i love how youtube decides to recommend this to everyone at the same time.
Probably some sort of monopolistic behavior. Video using google products is much more valuable to promote.
It's probably exponential growth. Let me make up some numbers: It recommends to 2 people, 1 of which click on it. This is a really good click thru rate, so it's now recommended to 4 people, 2 of which end up here. Then 8, 16, 32 and in a few cycles we have 100k people here, 50k of whom came in the latest cycle.
They tweak one variable and suddenly the maxima is whatever this is.
I am the algorithm
Literally
That's a cool idea, but stretched words tell my brain that roads are not long, but stretched. It would be interesting to stretch a label-less map, and have labels in a different layer.
Or better yet, stretch the underlying geo data and re-layout the map
i think if the maps api let you do that, he would've mentioned or explored it
@@herzogsbuick Obviously the Google maps API won't but there are open source maps that could be so hacked
@@VaebnKenh then "obviously" you should implement your own :-)
@@VaebnKenhyes, we’re all waiting for your obvious solution that you obviously have all the knowledge and skills to implement.
Really good video, well done! Another issue you didn't mention that make the perfect map impossible is the time between A and B might not be the same than between B and A, due to one-way streets.
true but negligible, as they're pretty rare
@teggolTin some cities they're everywhere
Yeah also highways with fixed exits could also cause travel time to be hugely different depending on where you start
@@JeyPeyy In Australia they're often in pairs so for route planning you can basically consider them the same street with a house sized median strip
No, the issue is that he never truly detached himself from the grid system! The issue that you bring up, is the exact reason why the "grid" should have been the roads themselves, utilizing vectors to determine the magnitude and direction. Intuition tells me that roads with higher speed limits will be shorter while roads with shorter speed limits will be longer. and that is the most literal sense of a "derivative"
I believe that it is 100% possible to do this, but the premise was slightly wrong.
Why is this only recommending to everyone 9 months later? This is a very interesting video
wdym this video didn't go viral!?
One more month!!
(Or longer, but hopefully not)
Its showtime
It'll randomly go viral at some point, it's just how the Algorithm gods work
Looks like now may be the time
now is the time!!
Most of the comments are very recent, it looks like it might be happening now. 5.6k views.
This is acually insane quality. what?
youtube recommendation getting really good
not again…
it has been on point for me recently, it is (finally) starting to recommend small high quality channels like this one
*sometimes
@@mechwarrior83 I'm afraid in this case it has more to do with that gmaps is being implicitly advertised, and youtube being owned by google, they have a financial incentive to push this video
The AI spying on you has leveled up. 😅
You are one smart guy. Out of the box thinking, implementation and all in, presumably, a second language. Hats off to you. Well done.
This reminds me of when I worked in customer support for a restaurant chain that had started offering delivery. People would try to order delivery and would be told they're outside of the delivery zone and would ask "Why can you deliver to a house two blocks down the road but not to me?" and I had to explain (in as simple of terms as possible) that the delivery zones used an isochrone to determine the range instead of a set radius. It was actually a pretty neat system and helped lower the number of "my order was late" complaints but it increased the number of "Why can't you cross a bridge?" calls... ugh.
I didn't know what isochrones were until today, seeing this concrete application of them is really cool to me.
looks like tons of people got recommended this video for some reason…
really great video, I’m surprised it was not pushed to be more popular (because the quality here is great!!)
Hah, yeah, just got it recommended as well. Commenting for the algorithm
well most of us here have probably looked up "map circles by travel time" back in 2016, and Google remembers...
It's probably exponential growth. Let me make up some numbers: It recommends to 2 people, 1 of which click on it. This is a really good click thru rate, so it's now recommended to 4 people, 2 of which end up here. Then 8, 16, 32 and in a few cycles we have 100k people here, 50k of whom came in the latest cycle.
Do you know the reason ? How you get the idea, it's the same for all ?
Actually nobody ever know why TH-cam recommends anything.
Great work! My biggest issue, however, is that while you're using vectors to compute the stretching, the map itself isn't fully vectorized. Additionally, while I'm not 100% certain, I believe the travel times returned by Google's Distance API vary based on the time of day it was queried, which could lead to inconsistencies. I feel like OSRM or Mapbox would have been better suited for this project.
I also noticed that despite your attempt to move away from Cartesian coordinates, the map ultimately adheres to a grid system. I'd argue that the grid should instead be based on points along highways and roads, perhaps using splines, since these vectors inherently dictate travel times.
As for the claim that such a map wouldn't work due to the Earth's spherical nature, I don't see that as a major obstacle. Each continent and island is separated by bodies of water, so this wouldn't be a significant issue. Antarctica might pose a unique challenge, but even then, it could simply be represented as a separate map.
Personally, I would have started with a smaller test case, like a small island with a well-connected road network. For example, Marie-Galante in Guadeloupe could be a great option, it's compact, relatively circular, and has plenty of roads to work with.
EDIT: Additionally, Intuition tells me that roads with higher speed limits will be shorter while roads with lower speed limits will be longer. and that is the most literal sense of a "derivative". The premise might have been wrong because travel time can be calculated for any distance along a road, in this case, it should probably be a "unit length" (1m/1ft) -- And since the total travel time is the sum of its parts, you can indeed focus on individual road segments.
You're onto something here. With the two-dimensional derivative, it should be possible to directly transform the map coordinates, no springs attached.
@@MathMagician93 an interesting option would also be to not use an existing map that shows points based on the dimensions latitude on longitude but rather create a totally new one that uses other metrics as dimensions (such as travel speed), so the grid it uses doesnt use distances on it‘s axes. That would really look interesting.
the difficult part would be which points to map as creating a high resolution map would be very difficult
@@j.d8263 that's what I was thinking too. Though that's an impractical amount of work. Might work for just small test case.
Great comment!
Guy. Simple idea. Simple explanation. Builds prototype. Let's you peak into his thought process!
Content to die for!
holly shit i just finished the video and clicked on your channel to see what else have u made.... but this is your FIRST VIDEO???
unbelievable effort man, the video, idea, and execution were incredible
Thanks! I also help run Polylog, a channel about theoretical computer science :)
This is very interesting but I don't think its possible to make a static map for vehicle use. You did briefly touch on this when you mentioned 3d maps. Imagine a triangle of freeways. Each vertex should be closer to the other two vertices than any area within the triangle near the freeways, because those areas would have the added time of traveling to the nearby freeway or added time of using a slower road. This leads to an area inside the triangle with a larger perimeter and same shape as the triangle itself, which cannot happen.
Yeah so the 3d map could distort in a vertical axis too, so paths that take longer to be crossed would curve a lot more, and the extremes such as inaccessible areas would basically just be infinitely deep holes
In an interactive map, it would be cool if it stretched and squashed as you moved your current location around the map.
Mountains can have negative steepness so it will be a bigger perimeter on the top.
Imagine a pyramide but put it upside-down and it will be a negative steepness mountain.(It's going to be a horrible thing to look at from above, though)
great explanation of your point with the triangle example, thanks!
I think you could get a much better effect by
a) doing the warping as a fragment shader which uses distorted uvs to sample from the texture(original map)
b) downloading the street network (I think open streep map has a downloadable version) and interpolating the time costs from google maps along the streets
c) doing the spring caclulation hierarchically in some sort of chunks to have to query fewer springs to compute the UVs
It'd be cool if you can also set the street width to a 3 pixel minimum(black border, white road, black border) so that streets always remain visible/interpretable
Nice project, maybe the algorithm's wave of traffic inspires a part 2!
Those are all great ideas, but I felt that the effort-reward ratio wasn't high enough to warrant further improvements. Since the code is open-source, anyone can build upon it - I'd love to see a more polished version!
3:25 "allegedly"
He did indeed say "alledgedly" near the timestamp of 3:25
well its not perfectly round
@arkzokyeah but if you round up it's round enough
@@splashmanej3 so what do u think he meant by allegedly then
@arkzok probably as a joke since people still think the earth is flat
As a GIS guy. I’m so happy to see something like this. Stuff like this gets me excited for where the field is going
Why dont you add color as a third dimension in the 2D map. Hotter colors more travel proximity.
I do think a 3rd dimension is required to make a mathematical accurate map. Not sure how to apply it though.
It would be totally unreadable, for only a small increase in accuracy.
Isn’t that like a topographic map?
Dude this is probably the most useful idea ever ive seen in a while. Its about to go viral im pretty sure
this channel is awesome! keep going and do more interesting videos like this and like the gerver‘s sofa short
This is one of the most creative ideas I’ve seen in a while
It would be so cool to animate it in real time depending on traffic.
Great video. Some points i would love to add:
You could have used QGIS and OSM data to calculate the traveltimes free of charge.
You can scrape some points from the API to verify and optimize, but far less than all those calculations.
The method is quite interesting, but i would have used the georeferencing tool from qgis with python, which does most of the work and allows you to use far more points.
You could have used some symbology and a clean basemap to prevent all those names to be so warped by transforming them with the same adjustment 🤔
All in all, great video, i hope you are doing great!!
8:44 perfect soundtrack for those visuals! 😀
This is very cool, but you should know that cartographers have been doing this for a long time. I made a map like this in 1993 for my undergraduate thesis in geography and cartography. They are sometimes called temporal cartograms, among other things. This doesn't take away from your creative work!! It's just hard to come up with something that no one else has done before. :)
I think an isochrone map dynamically colored by mouse position would be really cool. Or make a 3D elevation map of travel times. It'd be fun to do this with static travel times for roads/buses/planes/water travel and see the most time-distant location from your location.
Cool Video! A very efficient way of computing the travel time matrix you could also try is based on “contraction hierarchies”. But of course that’s more difficult to implement
But... travelling one way is rarely the same as travelling back.
This ignores the idea of 1- way roads , but for many places that's a good approximation
And that's why you can change the starting position
@@erner_wisal You don't understand, I'm talking about one way streets and rush hours.
But doesn't it just use Google route calculations?
Would this not factor in one ways and rush hour?
@@samuelmelton8353 Google would but the video doesn't.
Welp, isochrones turned out to be far more useful 😂
?
@@twaan1524 OP probably means that an isochrone is easier to read
As a former geography student that struggled even to open certain data files with ArcGIS you are a magician to me!
Well he has not used data files
In my opinion, the springs struggling is because the outside points are anchored. If you made the whole thing an unrestrained mesh on an infinite plane, you could comfortably play with parameters and create a map where 1 pixel = 1 second
I love your out of the box perspective.
Keep going, you will become one of the most interesting TH-cam channels
It has taken 9 months for YT to recommend this. Impressive work.
Well done! Interesting project, well produced content.The algorithm surfaced it to me despite there is not much stuff in the channel. All the best!
You should've done pedestrian maps, not car ones. Cars are for getting from point A to point B, while walking is a much freer activity. A time-based mapped would be a lot more relevant to someone on foot.
It was covered in the beginning of the video. Walking speed doesn’t vary much, and it quickly becomes a circle. So the maps will generally look the same, adding not much value.
Car travel speed varies much more, so making a map based on it is more interesting, and adds more value. What would also make sense is public transit time map
@@juzoli I know it was covered. It would've still been better and more useful despite that reason.
@@juzoli if I interpreted him right, that’s only an issue with isochrones from a certain point. Since he also complained about them having fixed origins and this by contrast is meant to cover all points, that might not even be applicable here.
@ Both are measured the same way.
The difference is that walking time is mostly linear to distance, as it is always pretty much the same, and the only thing which slows it down is crossing streets, but that averages out in longer distances. Whether I’m walking in forest, next to highway, or in residential ares, I always walk at ~3mph, and cut corners to walk closer to a straight line.
However, the speed of car/public transit varies a LOT based on the proximity to major highways/public transit lines.
@@juzoli I’m aware, the video said that and so did your other comment. The initial idea presented in the video, the entire opening monologue, was based on fastest times between various urban landmarks. It was all about how bridges and other fixed crossings impact walking time. The idea is indeed for most of the map to average out for walking! With only local features like bridges, long stretches with no pavement/sidewalk, etc actually providing any distortion at all. (Though it still wouldn’t be the same as a static isochrone, because it would incorporate “all” destinations on either side of the crossing.) That would make it les “fun” to animate/watch, sure, but also a lot more readable.
And sure, it’ll be a subtler effect, but part of OP’s point was even with the distortion turned down it’s still pretty unreadable with the actual settings. We’re rarely using maps to find the fastest way through a forest, outside of boundary shapes, since they’re largely isomorphic as well. So while you could just argue to turn the severity of the car distortion down further, I still think comparing the specific shapes that walking makes compared to cars (and other modes!) would be theoretically very interesting. Even if you’d need to tune the “amplification” of each mode to compensate for time and ensure they all end up with similar visual distortions. I hope I’m making sense.
Like, by all means, do a country sized map distortion to show the same effect for all the major roadways! Do them for every mode of transit as well! Even as others suggest, these should arguably use the roads as nodes rather than an arbitrary grid put on the map since this technique defines a travel mode. But the argument is, AIUI OP and my own interpretions, the grid method in this video is the most applicable to walking because unlike all other modes which can be “easy” node based graphing systems, walking isn’t limited to fixed paths (except again for things like bridges etc) so the grid must be placed outside of the roads.
2:53 fun fact, this is actually how many softbodies are simulated! just a 3d grid of points attached to their neighbors with springs
a softbody is basically a mass of jello or something similar
Never seen one of yours videos before but this is really high quality! Love it!
3:48 I laughed out loud.
This is so brilliant!
The code gets more pleasant to read, but a pain in the ass to change on a latin character keyboard 😂
Me and my mates did one of these around my school to see how far we could go in our lunch breaks. I thought it was genius, I’m sad we weren’t the first to do it
0:10 Oh hey, it's Zürich, henlooo, hiii! :D
danke
donkey
I’m glad everyone is getting this video recommended all of the sudden
This is both impressive in concept and execution. Brilliant. Just the idea alone is an eye opener. And how you create the map is another example of how much the world has passed by this old (retired) programmer. A suggestion. Perhaps you can find a way to have the location names less distorted (maybe semi transparent floating) and also place non distorted dots on known locations, all to retain usability of the map.
I am so glad this vid is making the rounds again. I hadnt seen it until now and it is very interesting
3D map is basically a 2D map with color overlay (if the axes are orthogonal), so it's still doable. It could be nice for v2 for more accurate results! 😊
This is the kind of video that i want youtube to recommend to me as soon as it's published. You hear me youtube? This!
So really cool concept, and you had some cool ideas, but I’m pretty certain the map you made doesn’t show travel time. In fact, my intuition tells me that’s an impossible task on a 2 dimensional map. Let’s say you have a 1 way street, so travel time is faster in one direction than the other, how would that look on the map? Your idea of hovering over an area and amplifying the springs might kinda help with that, but even then you’ll have springs in close proximity fighting each other for influence. Also a river section between 2 bridges would need to greatly separate the land masses on either side of the river, but also pull the bridge sections close together, and I feel like that would inherently cause time distortion on the land masses that you can’t realistically correct for.
All that being said, I guess I’m saying you need additional information to make an accurate map, and the only ways you could do that are by overlaying more information on a 2D map, or by adding more information in a 3rd dimension. At that point I feel like the map would become so cluttered and nonsensical it wouldn’t make sense to someone looking at it, so the only way to know if it is working is to test it mathematically.
Anyways, neat video.
I agree, I think it's impossible to make such a map that is agnostic to starting point. For example consider the simple case of two roads that intersect in an otherwise empty area. If you travel 5 minutes down the road in each direction you get to a set of 4 points where the shortest travel time between any pair of them is 10 minutes (by taking two road segments). A correct map where the distance on the map is proportional to travel time would have all four of these points equidistant from each other, but there is no way to draw 4 equidistant points on a planar surface.
While watching I was constantly reminding myself, this looks similar to Self-Organizing Maps. It isn't really, and I don't remember SOM's math, but I've got that feeling. I'd check the math before assumptions tho
Does it need to be perfect? It's much more accurate than a regular map would be, and is likely close to the optimal result.
Thank you for sharing your creativity and iterative approach to this challenge. I admire your willingness to experiment. I look forward to your subsequent videos and again thank you for your interest in helping us learn.
2:33 what's the term in linear algebra for this? Change of basis?
Transformation
The maps are non-linear, so it wouldn't fall under linear algebra. Really what we are looking at is a smooth map between manifolds (here a manifold is just a fancy word for a sort of surface, in this case it's just flat space).
If the mapping is invertible (i.e. we don't overlap any two points) and has a smooth inverse, we call it a diffeomorphism.
@adamc973 Ahh, thank you!
The NYC public transit map is really cool because you can see exactly where some of the lines run. The G especially stands out running through Williamsburg.
Doesn't approximating A-B time via C lose the ability to account for abnormally fast routes between A and B that can't be used to travel via C, eg a highway?
I really appreciate how you describe all the thinking and challenges you underwent.
I believe you need an open source map to work on it because maps are usually made using vectors not pixels and when you manipulate the victors themselves and the victors are just points of line space and the map is just finding your place and coordination between Tweety plane XNY axis so yeah technically it’s simple to understand, but it would be much easier to control like it would be much easier for you to define the streets define the direction define the sides of the streets define what is water and what is land and that would come cheaper in processing if you have an open source snap to be used to locally like your maps maybe and it will give you a lot of cool you know things to work around with!
On other hand, it will not limit you from doing the same with Google Maps because you can integrate the same thing that you have built using your maps through Google Maps save your high as a final interface because at the end of the day you just need to map out the coordinates between both of them and I’ve seen there are sort of routers or so feel like that or libraries that can translate between multiple map interest so yeah you can do that and you can do some small adjustments as well to find you. you know the deviations between XNY axis and it would work really beautifully and it would be shining Google maps Apple maps but actually have built it. The whole engine don’t hear maps as a backend so yeah this is of course one of them will be more appealing than the other, but at the end of the day you just can do it.
Actually, there’s a good idea. Also, you can compensate, the 3rd dimension curvature by adding distortion. There is a way to calculate that because you can calculate wherever you are in this kilometer by kilometers players you can figure out how much Derbishire ahead under horizon Lyft ride north south song for that as well I believe it will make you look and it will take a lot of distortion that comes crazy unhappy.
The open source map should come with street metadata too. Instead of the random (and way too large) triangles, put a vertex at each street intersection. Then compute the time to each vertex using standard speeds for each street type (like a normal navigation algorithm). Finally, distort the map to be isochrone to the mouse cursor, a combination of 2:22 and 9:52
Awesome video! Thanks for showing us a different perspective!
I glad this went viral.... 9 months later 🙄
Edit: tho that's actually really cool since now upload date isn't aa important and older stuff that was missed can finally get it's day in the sun that it deserves, like this!!
Truly great work and well presented. My compliments!
3:25 Bro really said "allegedly"
This is great. I have done some similarly "odd" transformations. My master's thesis involves relating corn and soybeans with temperature and moisture content, so instead of using a bunch of isotherms (which like those isochrones are discrete values), I made iso-"water activity" graphs to guide the translation continuously. These maps are likewise contextually more useful, but require thinking outside our usual frames of reference.
0:14 Ralph McTell Reference???
Let me take you by the hand
lol glad to see the TH-cam recommendations brought us here 9 months later great video!!
7:50 try using a delaunay triangulation instead!
Great work! It's an idea I have been playing around with as well. Love to see how you've taken a stab at it, especially the idea to bend it based on cursor location.
1:13 weeks not days
Actually it’s seconds
@@romulcahi think its lightyears
@@mininggung nah, it's definitely plank times
Well this one just dropped in a bunch of people's recommended tag. Looks like this one's gonna blow up pretty soon. Very well made video, hope to see more
6:32 Wait a minute that city seems familiar?! I live in it
lol i read your comment exactly as Zurich was shown and i also live there
How fun! Way to take an idea and think it all the way through and then put the work in to bring it into reality. Congrats!
Well, you can modify the map layer, if you using opensreetmap , that way we can prevent the text stretch
This is one of those experiments where doing the work is actually more interesting and useful than the result.
3:25 allegedly 😂
the quality for only one video...this went so many places i didn't expect! so interesting, it deserves even more attention!
This is amazing and really interesting. Well done on a great project!
Great video bro, love the idea and execution here!
"Almost not a terrible idea" - good enough for most things!
I love the ideas presented here. Whenever visitors ask me how far is it from Boston to New York, I answer 4 hours by car, and not the number of miles. Some will do a double take, because I haven't answered their question literally, but most realize I'm giving them the relevant information they need. Looking at the old 1881 map, it might be good to clarify that each color represents a week. At first, I thought each color represented a day, but that's impossible. It took my mother 10 days to immigrate from Norway to the United States by ship in 1948. From London it probably took 8 days. Reaching Halifax from London is still within 7 days (green on the map) and then one more day to reach New York (yellow on the map). It's also interesting to see where the train crossed the continental divide between Denver and Salt Lake City showing how traveling from New York to San Francisco could be completed within a week and within two weeks from London.
Im so glad i took the time to watch you take the time to map time
I love your explanations and the use of AI and certain APIs to make things easier. Good catch on the debugging!
Really neat concept, and love that you build a prototype!
Hope that Google sees this and hires you as the Isochron project manager.
the fact that I had 0 idea what you were talking about to 100% understanding 5 seconds into the video, shows the incredible accessibility and need of this map..
It might be interesting to do this for public transit! It may be more relevant for cities such as New York, and isochrones may be even more wildly stretched than for cars.
Edit: never mind, I see that you did actually do this! Very cool, would love to see for Hong Kong too!
you did every city in the world except anchorage! :-P this is very cool, the thought had never occurred to me. subscribed, cheers from alaska!
I understand that it'd take significantly longer, but I wanted to see it vectorized and redrawn so badly
Another point worth noting is that each map will only be accurate at the time it is generated. Google maps updates based on traffic, etc. So the distortions to your map will reflect that. But it is a map of spacetime, so it kinda fits that it only reflects a single point in spacetime.
Now a kicker - in cosmology there's a new but simple concept that postulates there's no expansion of the Universe, but the red-shift we observe is due to time-dilation. Basically the same concept of distorting map-space to form circular isochrones.
Amazing! I've always wanted to make a map that shows time instead of distance, and ideally incorporate public transport as well. This is pretty much what I wanted, awesome!
quite captivating and worth the recommendation
I don't know how youtube discovered that but isochrones are my favorite thing ever and this project is even better, good job!
I watch youtube a lot and I got bored seeing the same ideas again and again, but this is something new. Nice video!
I always thought this kind of map would be neat, so cool you did it.
This map is great because I never think about the distance and instead I’m thinking “it’s 25 minutes away”
Beautiful project. Appreciate the video & the fun idea.
Excellent video. Well made. Informative and very interesting!
"We're going to bend the isochrones into circles" - Bro reinvented Ricci flows.
That was a cool watch, great thinking!
I had the exact same idea like a month ago and started working on it for a project. This is sooo much better
I've always thought about doing something like this, especially when I'm stuck in traffic, but I figured it was going to be a lot of work lol. Good video.
This is one of the most interesting videos I've seen on here, also all without using traditional GIS software and brute-forcing the code. This is insane amount of work. As others have said there is definitely room for improvement, but you're also the first to do this, amazing video.
great video! I would've loved to see isochrone lines plotted on the maps so we could gauge how circular they would get