2021-05-22 Empire Building pt. 2
Once More, With Feeling!
So I had to start fresh with a new image and re-import all of the SVG's again, simplified this time. I am being super literal when I say that. When exporting to SVG, you can choose to "Simplify geometries to reduce output file size". I'm not exactly sure what got simplified because those paths are still pretty complex, but it all felt a bit snappier afterwards (and I was more patient) so I think maybe it worked?
With (almost) all of the SVG's then imported into a a blank canvas in GIMP, the totality of the pathing looks pretty impressive, even zoomed way out. If you are a sighted person, you can see for yourself, below. For those differently abled, I might suggest the National Braille Press maps, but as I am not tactically literate, I cannot speak from experience.
For those interested, this map is centered on Middlesex County, New Jersey. Also visible are the collar counties and Staten Island.
Missing from this nearly final image are primary roads on Staten Island and the bodies of water further out around the island and extending up the New York coast. Following is a display of the final count of 22 layers in an image whose working size is 12,600 x 9,900 pixels or 21 x 16.5 inches at 600 ppi.
While only 91 MB on disk, it occupies almost 12 GB of memory when freshly opened (no undo steps) and takes several seconds to open even off SSD. According to toolstud.io it's a 124.7 megapixel image at this size.
"Simplified" Geometry
So, at this point, looking at my map and starting to fill in spaces that needed filling, like water, and stroking lines that needed stroking, like everything else, I realized that I was going to later regret not filling out just a few more details. Here is where I realized that I didn't take any notes. In fact, I did so just now take note of what I hope are the exact coordinates of my map. Keep in mind, I'm brand new to all of this and have likely done a crap job of it but happily the tools are so very good that it still looks very, very impressive.
Even so, there was just one glaring issue: the roads did not connect.
The path that made up the New York road system did not meet up with the New Jersey road system upon exporting to SVG, opening in Inkscape, combining all of the enormous number of lines into a single group for each layer of the final image, and finally importing into GIMP with the Paths menu. I think, at this point, I gave up for the evening upon the realization that if I did not stop at that point I would possibly never make it to bed.
So this afternoon I got back at it and managed to get the paths to line up, dragging the points over to line up with roads already "laid". It was at that point I discovered the simplicity of the exported paths. Each line of road consisted of at least two and sometimes three identical paths on top of one another. I would move one point, and then drag two more to exactly the same position for each point I adjusted. Thankfully there were not many, but, well...
For the differently abled, imagine lines made of dots and you'll have the idea.
Seeing the following image and knowing that's the "simple" version with fewer points for a smaller file size, you might begin to grasp precisely why my fairly beefy box was struggling with this task (aside from the whole 2 gigapixel PNG thing).
At any rate, the preliminary work is finished so now I can finally get to work on it! As long as this has taken to do the very, very basic stuff I deemed necessary to finally create the canonical map of Empire City, I am very pleased with the initial results.
"Simplified" paths with 200-300 points per curve.
Behold the Jewel of New England in all its utterly non-existent glory! There is a lot of work to do in order to really bring Empire City to life, but this will make for a solid foundation from which to begin and well worth all the effort. Note that this image is a fraction of the size of the actual working image at 3000x2357 pixels.
Final Rant
The lesson to take from all of this is probably one of those "where there's a will..." sort of pithy aphorisms that people like to quote a lot, sometimes with very little understanding of what that saying really means or once meant. But that's not really it.
The lesson to take from all of this is that for almost anything you want to do—at least things involving a computer—the tools are available for you, gratis. Yeah, the Census Bureau certainly gets paid to do their work. That's what taxes are for. The products of that work become community property because we all chipped in and paid for it. Again, that's what taxes are for.
On the other hand, QGIS, Inkscape, GIMP, Ubuntu (the OS I am currently running), Linux and GNU (the most basic parts of almost all Linux flavors), and the entire open source movement only get paid if people (or corporations) donate. A lot of the development that happens on all of these software projects and inconceivably more does so completely for free by volunteers.
The total development costs of a Linux (or GNU/Linux, if you prefer) operating systems in the United States would be of an order of magnitude in the tens of billions of dollars. Instead many developers from all over the planet work for the cost of a cup of coffee or code for free in their spare time, giving back to the community in whatever way they are able. As a member of the human race, all of this is available to you for absolutely free. Along with resources like Wikipedia and other no cost online educational opportunities, you can learn almost anything you can imagine and then do almost anything (with a computer) without ever paying a penny for any of it beyond the price of a computer and an internet subscription.
The entire concept of some form of material reward being the only incentive for work is bullshit. The moral failing is believing that people are only motivated by material gain and the threat of punishment by poverty. If you personally believe that the only reason people work is because they are paid for it, that is because it is true of you. Don't project your sloth onto the rest of humanity.