_______               __                   _______
       |   |   |.---.-..----.|  |--..-----..----. |    |  |.-----..--.--.--..-----.
       |       ||  _  ||  __||    < |  -__||   _| |       ||  -__||  |  |  ||__ --|
       |___|___||___._||____||__|__||_____||__|   |__|____||_____||________||_____|
                                                             on Gopher (inofficial)
   URI Visit Hacker News on the Web
       
       
       COMMENT PAGE FOR:
   URI   City Roads: A tool to draw all roads in a city at once
       
       
        TomWhitwell wrote 21 hours 17 min ago:
        IIRC these are SVGs and excellent if you have a plotter
       
        jameshart wrote 22 hours 31 min ago:
        It’s a cool project, well executed.
        
        But I am a bit confused about the way it’s described. Is it unusual
        to see all the roads in a city drawn at once? Is the concept of
        ‘visualizing all the roads in a city’ one that we don’t have a
        name for? Is the creator from a parallel dimension where they only have
        tools that let you see one street at a time?
       
          kaveet wrote 22 hours 24 min ago:
          Google Maps and most other maps will happily hide streets depending
          on your zoom level
       
        dmje wrote 1 day ago:
        I love this. So much, I bought a mug. Hope you get a cut!
       
        robinduckett wrote 1 day ago:
        It seems to render each lane of the roads in my city seperately. It
        looks good at maximal zoom but worse if you zoom in.
       
        stevage wrote 1 day ago:
        So, it's a filter on OpenStreetMap to retrieve all ways with a
        highway=* tag, and draw them identically?
        
        I think a much faster and easier way to implement this would be using
        existing sources of vector tiles, but scaled down. You could probably
        even just use Mapbox GL JS, and scale the whole canvas down by a factor
        of 4 or something, to avoid the issue of small roads not being present
        at city-scale zoom levels.
       
        cjs_ac wrote 1 day ago:
        * Greater London excludes the City of London
        
        * Footpaths and cycleways and shown as roads but railways are not
       
        thih9 wrote 1 day ago:
        OSM content attribution is missing (either not added or getting
        clipped) when the data is exported for printing on a mug.
       
          matsemann wrote 1 day ago:
          Do you need the attribution when you print it on a mug for personal
          use?
       
            maxerickson wrote 1 day ago:
            That's the terms of the ODBL (produced work in section 4).
            
            Pedantically, in this case, it isn't personal use either (the site
            is using the produced image to offer a mug for sale).
            
            Note that this isn't necessarily an endorsement of those terms.
       
        pmg101 wrote 1 day ago:
        If you choose Brighton and zoom in on Hove Park you see the fingerprint
        maze there very beautifully rendered as a vector, amazing OSM has this
        detail!
       
        Defenestresque wrote 1 day ago:
        The hobby-sized projects/videos on your Twitter are mesmerizing: [1]
        Talk about a true hacker mindset. Great bloody job!
        
   URI  [1]: https://x.com/anvaka
       
        larodi wrote 1 day ago:
        This is the level of projects that our GIS students deliver at the end
        of 60 hours of non-mandatory class. Perhaps 70%+ of visitors of HN can
        do it if they decide to, it is just an interdisciplinary area that not
        many explore. A project of similar complexity in the WEB or ML are
        would never get upvoted so much.
       
          aembleton wrote 1 day ago:
          Are there are any tools that your GIS students use to create this? Or
          is it all code? Any libraries that you can recommend?
          
          I was thinking that I would query the global database for roads and
          then take the nodes and their coordinates. Then I would need to
          convert those coordinates into points on a canvas and draw lines
          between them.
          
          How would I get the boundaries of a city? Some places I've tried are
          just a point in osm. Is there some other data source you would use
          for that?
       
            cpa wrote 1 day ago:
            A combination of overpass turbo and a LLM would get you started
            pretty quick.
            Regarding GIS tools, download QGis (it sucks on mac but is okay on
            linux or windows)
       
          matsemann wrote 1 day ago:
          What is your point? That it's "undeserved" and that's bad somehow?
          
          I think it was a cool visualization and fun to see. And still, 60
          hours of research is more than I would put into it, so even if I
          technically was able to I would've never gotten around to actually do
          it. So nice to see something else than what I normally work with,
          even if it might be trivial in that domain.
       
          Capricorn2481 wrote 1 day ago:
          Is this not a project in the web? Or what would be a web project of
          similar complexity?
       
        dudeinjapan wrote 1 day ago:
        Well done! I tried Tokyo, and discovered it looks funny/disjointed
        because several far away islands like Hachijojima are part of Tokyo
        municipality.
       
        JSR_FDED wrote 1 day ago:
        I was intrigued by how many of the 3000 cities you’ve cached I had
        heard of. You used population size >100k as cutoff, it would be
        interesting to compare how many cities someone has heard of with their
        population size.
        
        This would be a fun metric to rate someone’s “global
        orientation”.
        
        Only recognize the cities with >1M people? Low GO score (or more
        charitably, high Local Focus score :-)
       
          rplnt wrote 1 day ago:
          There are many quizzes like that on Sporcle.
       
        rl_for_energy wrote 1 day ago:
        One of those simple charming tech experiences. Thanks for sharing!
       
        elbac wrote 1 day ago:
        This is wonderful. Great job.
       
        imnotlost wrote 1 day ago:
        Love it! I did a few cities where I’ve lived and it brings me back.
       
        latkin wrote 1 day ago:
        In case others gave up, it took about 2.5 minutes to load my (midsize
        city) hometown from OpenStreetMap. So hang in there.
       
          NavinF wrote 1 day ago:
          That's surprising. It only took me a couple of seconds to load NYC on
          my iPhone over 5G
       
            zipping1549 wrote 1 day ago:
            Some cities are cached and NYC is going to be in it for sure.
       
          remram wrote 1 day ago:
          Probably going to hit the paradox here, where most people are going
          to request a place where many people live, even though most places
          are small.
          
          I probably have no chance, living in NYC.
       
            dotancohen wrote 1 day ago:
            I'm in a city well under 50,000 people not in the Americas nor
            Europe. The site gave a message that it was retrieving the data
            from OSM, then rendered the map faster than the browser would
            render a png. Very impressive.
       
            zactato wrote 1 day ago:
            I would expect the opposite with a basic LRU cache before the fetch
            to OSM
       
              remram wrote 1 day ago:
              That's fair unfortunately it's not what happened :-(
       
          sandworm101 wrote 1 day ago:
          I'm at 10 minutes now, for a town of <15k.  Render time might depend
          more on total area than number of lines to draw.  Update: gave up
          after 20min.  Something might be wrong with the particular city.
       
            fnordpiglet wrote 1 day ago:
            Render time for Seattle is a blink of the eye which has both area
            and density. I think the time people is observing is loading the
            raw data from open street map itself.
       
              Capricorn2481 wrote 1 day ago:
              Because they cache the biggest cities in the world.
              
              > To improve the performance of download, I indexed ~3,000 cities
              with population larger than 100,000 people and stored into a very
              simple protobuf format. The cities are stored into a cache in
              this github repositor
       
              flufluflufluffy wrote 1 day ago:
              About 2 seconds for me to load and draw Los Angeles. It’s
              definitely the load time/network latency, depending on where
              it’s loading from. This is amazing! I might use it for a custom
              map or something
       
        kayvulpe wrote 1 day ago:
        Incredible! May take a while for a big city, but well worth the wait.
       
        Liftyee wrote 1 day ago:
        In the age of bloated resource hogs, I was pleasantly surprised that
        this rendered with no perceptible lag or stuttering, even on my phone.
        Impressive how everything is drawn so efficiently.
       
          mrbluecoat wrote 1 day ago:
          I agree. The pinch zoom was also buttery smooth. Nice job!
       
        hiatus wrote 1 day ago:
        Link to the github project:
        
   URI  [1]: https://github.com/anvaka/city-roads
       
        okasaki wrote 1 day ago:
        Great idea. Might print some and hang them.
       
          dotancohen wrote 1 day ago:
          I was thinking that this would be a great gift, to print a set of
          dinner plates with every place that I know the couple lived in. Each
          plate a different city.
          
          Though I'm a bit worried about paint near food, especially for custom
          jobs.
       
        peppertree wrote 1 day ago:
        There's also a Figma plugin that can import OSM as vector.
        
   URI  [1]: https://www.figma.com/community/plugin/1251030017228239072/vec...
       
        walski wrote 1 day ago:
        I get a 403 for some cities. E.g. Wyk (auf Föhr) returns 403 on this
        .pbf resource:
        
   URI  [1]: https://city-roads.s3-us-west-2.amazonaws.com/nov-02-2020/3601...
       
          walski wrote 1 day ago:
          Oh damn, I thought this is a Show HN :D
       
            anvaka wrote 1 day ago:
            appreciate the feedback - I'll take a look
       
        semi-extrinsic wrote 1 day ago:
        Would be nicer if it would distinguish (just varying line thickness)
        between footpaths, roads, highways etc. Many European cities look messy
        in this view.
        
        IMO, prettymaps is quite a bit better:
        
   URI  [1]: https://github.com/marceloprates/prettymaps
       
          noiv wrote 1 day ago:
          It's JavaScript and exposes an extensive API via console:
          
   URI    [1]: https://github.com/anvaka/city-roads/blob/main/API.md#loadin...
       
        mulhoon wrote 1 day ago:
        Simple and effective. Beautiful to look at.
       
        Amorymeltzer wrote 1 day ago:
        Neat!  Lovely to look at.  Is it caching just the most popular or
        previous searches?
        
        The option to print on a mug with one link is pretty neat!  Might
        actually do that...
       
          HellsMaddy wrote 1 day ago:
          From the README[0]:
          
          > To improve the performance of download, I indexed ~3,000 cities
          with population larger than 100,000 people and stored into a very
          simple protobuf format.
          
          [0]
          
   URI    [1]: https://github.com/anvaka/city-roads
       
        crabmusket wrote 1 day ago:
        I have a map of Brugge (Bruges) from this tool printed off on my wall.
        It's a great concept!
       
          anvaka wrote 1 day ago:
          oh wow. Glad you liked it!
       
        tekno45 wrote 1 day ago:
        Idk how long itd take normally so just kinda neat.
        
        But i love the slack in the dragging around the map.
       
       
   DIR <- back to front page