Discover more from hrbrmstr's Daily Drop
Drop #235 (2023-04-05): Cartographic Curiosities
CartoSVG; Placemark; SOZip
We haven't poked at maps 🗺️ in a while, so today we'll start this Drop’s journey by navigating a path to two neat and free/freemium resources that help you make great maps without any programming skills. We'll finish at a destination that may seem, at first glance, to not fit in with today's theme, but turns out to be something that will help enhance up cartographic machinations and other tasks that involve bundled data archives.
The app has a few traditional projections built in, but it also has a fancy “Satellite” 🛰️ projection which is based on the work in this Observable notebook. With 🛰️ selected, you have the option of changing the field of view, which can give your creations a distinct look and feel.
You can add data to layers to create data-driven maps, complete with tooltips, and even go all choropleth on your consumers.
The section header is one of their example plots. Слава Україні! 🇺🇦
Placemark (GH) is a platform that allows users to create, edit, and convert data that “powers maps in real-time with their team”. A hallmark feature of the platform is that its built with teams in mind, and allows for collaboration among team members, with the ability to share maps and have them updated in real-time with all the latest edits.
They provide tools for creating maps from spreadsheets (b/c that's where tons of folks “live”), and also integrates with other types of existing data (it supports many file formats), and has an API for using Placemark-crafted maps in applications.
While Placemark has had some free things in the past — like an open-source add-on to Figma and an online converter between cartographic formats — I've held off adding them to a Drop since — up to now — the core app has not been free to use.
You can try out the spiffy new free version right now, though I think ChartSVG is a tad easier to start using.
All of Placemark's development is happening right out in the open, so you can watch how this one-person org is planning and progressing as the product matures.
SOZip is short for “Seek-Optimized Zip”, which is a new profile specification for the good ol' ZIP file format. SOZip enables fast random access in ZIP files, and is fully backward compatible with all your fav ZIP tools.
The initial use case for SOZip was in a geospatial context. If you've played around with “shapefiles” of any kind, you know they can get pretty gnarly, and a few of those GIS formats boil down to “large compressed files inside of ZIP archives”.
How does it achieve this crazy cool new feature? In short: chunking and the creation of a hidden index file.
The chunking relies on the “block flush” mechanisms of the ZLib library, while the index file maps file offsets of the uncompressed file to the corresponding offset in the Deflate compressed stream.
You can tell SOZzip files from other ZIP files by checking to see if they contain one or several Deflate compressed files that meet specific requirements.
While the format is backwards compatible, the newfound speed and accessibility comes at the cost of compression and read efficiency (you'll see ~5% larger files, and 10% decompression speed hit). While that may sound odd, you will gain much speed efficiency due to the random access (so, not having to unzip the whole thing to just get one part).
One neat extra feature is “KeyValuePairs”, which is new ZIP field entry that lets you specify metadata (something super important in GIS land, but also something the rest of us can use as well).
The repo has much to explore!
This issue almost makes me wish it were November (30 Day Map Challenge month) already! ☮
#chartsvg #placemark #gis #zip #compression #sozip