| WA8LMF Home Page | Main Ham Radio Page | Main APRS Page | Updated 01 June 2020 |
This program allows you to automatically download and stitch bitmap tiles from Google Maps, Microsoft Virtual Earth, Yahoo Maps or Open Street Map into seamless map images of virtually any size. It allows you to download either street map or satellite views from any of these sources.
The images captured by this program are non-projected (i.e. simple rectangular X/Y grid with latitude and longitude lines at right angles) at least for distances of 85-100 miles (130-160 KM) across. The assembled maps are suitable for use directly with any APRS program that can use static (fixed non-zooming) images as maps, or as underlays for the Precision Mapping Server plugin for UIview. The images align perfectly with the non-projected vector maps produced by Precision Mapping in UIview.
Note that when used with UIview, downloaded/tiled images can be far larger (in pixels) than the resolution (in pixels) of your computer display system. UIview will "automagically" create a "viewport" window that shows a portion of the oversized map image. You can then scroll (but not zoom) around the entire map. UIview DOS NOT downsample the map image into an illegible blur in an effort to fit all of it onto the screen at once. If you reduce the color depth of map images to 256 or 16 colors, UIview can easily handle 4000x4000 pixel images or larger. iIe. the equivalent of "Ultra-HD" a.k.a. "Quad-HD" images, even if the computer display is far lower resolution -- 1024x768 XGA or 1920x1080 "full HD".
Universal Maps Downloader a.k.a. "UMD" is a $59.95 shareware program. The free "trial" download has limited functionality; it will download maps at a resolution suitable for regional coverage. For higher resolution downloads suitable for street-level applications, it requires registration. The program is available from
<http://www.allmapsoft.com/umd>
The program has a total installed footprint of about 5 MB. Of course, you will want considerably more space for captured map images. UMD actually consists of three separate .EXE files: the main program that does the downloading of a specified area, a "Map Viewer" that can display the collected tiles as a single large image, and a "Map Combiner" that stitches the downloaded tiles into a single large .BMP file.
When you start the main program, you are greeted by this screen. The un-calibrated "Zoom level:" slider increases/decrease the linear resolution about 2:1 for each step; i.e. quadruples or quarters the number of pixels in the resulting image. The actual size of each downloaded tile is a constant 256x256 pixels regardless of resolution requested. As you increase the resolution, the number of these tiles downloaded (for a given area defined by a pair of lat/long values) increases. Requesting a county-sized area or larger, at street-level resolution, will result in the download of hundreds or thousands of tiles.

The latitude & longitude coordinates that select the area to be captured are entered in degrees and decimal degrees (DD.dddddd) -- not degrees-minutes-seconds (DDMMSS), or degrees and decimal minutes (DD MM.mmmm). A converter tool is available from the menu to convert DDMMSS to DD.dddddd. Annoyingly it won't convert the default GPS (and APRS) format of DD MM.mmmm. You can enter lat/long to any number of decimal places (at least 10). Since UMD always downloads fixed 256x256 pixel tiles, you may get an area slightly larger than requested regardless of the precision of your coordinates.
(A separate tool that converts between all
three coordinate formats is downloadable from my website.
)
The "Maps type:" pull-down allows you to choose the source of your images. Successive releases of the program every few months keep expanding the range of choices.
The "Task name" entry box above "Maps type:" allows you to save all the settings on the screen to a named file. This is useful for downloading images from several different sources with exactly the same lat/long and zoom settings. Later, the lat/long values can be copied/pasted into .SAT or .INF calibration files for maps used in various programs. These will only be approximate starting points that will need some trial & error "tweaking" to bring the map into precise alignment (since the actual captured areas will always be slightly larger than requested).

With all the settings selected and/or entered, you click the
"Start" button. Depending on the number of tiles requested (which is computed
and displayed in the lower left corner), the download time will range from
nearly instantly to several minutes or more. In this screen shot, the resolution is
set to the default "Zoom Level 12". This is the most detailed that the
unregistered/trial version of the program will accept.
The log file in the right window shows a list of the tiles captured. This
data is also automatically saved to the file
nnnn_log.txt where
nnnn is the Task Name assigned to the capture. This file is saved into the same
directory specified for "Path to save:"

If you you scroll the log display back to the top (or open the log file in Notepad), you will see two sets of coordinates representing the upper-left and lower-right corners of the captured map area. The first set are the values you entered. The second set (circled in the screen shot below) are the actual area captured, resulting from rounding up to boundaries of the tiles required to capture the desired area. The second set of coordinates (circled below) are the exact values you need to precisely calibrate the map for use in APRS programs! Just copy and paste these values into the appropriate .INF or .SAT file. (You may have to convert the DDD.dddddd decimal degrees format into the GPS/APRS format of DD MM.mmmmmm format for some programs.)
run.

The downloaded tiles are saved as .PNG files, but the "Map Combiner" auto-stitcher produces a .BMP file as it's output. The default saved image is in 24-bits-per-pixel photographic "high-color" format which results in unnecessarily large files. Reducing the color depth to 256 colors (8-bits-per-pixel) with an image editor program such as Windows Paint or IrfanView, and then resaving the file, will cut the file size to one-third of the original. I used the freeware IrfanView utility to convert these to .GIF format (which intrinsically is limited to 256 colors or less). The links below provide examples of the map images produced by the various sources.
Some of these samples are very large (2000x3000
pixels or more) images. Some browsers will attempt to downsize oversized
images to fit the browser window. Turn off this automatic resizing to
see the highest-quality images. You will then have to scroll
horizontally and/or vertically to view the entire map.
Note that most APRS programs (UIview, APRSplus, etc) will allow you to use
images far larger than your screen; your application becomes a scrollable view
port showing part of a much larger image. I have successfully used
images of 4000x5000 pixels with UIview running on a 1024x768 XGA screen. The
key is to reduce the color depth of images to only 16 or 256-colors from the
default 24-bit photographic "high-color"; this cuts the amount of image data
the program has to deal with to one-third.
Warning! Some of these sample
GIF images are very large files. Most are between 1 and 5 megabytes. A
couple are around 10 MB. They will take significant time to download.
Each sample opens in a new window (tab in modern browsers) for quick comparison.
Greater Los Angeles Regional
View (About 85 Miles Across)
|
Captured From Google Maps |
| Streets Zoom Level 10 (614 KB) |
| Streets Zoom Level 11 (1.9 MB) |
| Streets Zoom Level 12 (5.8 MB) |
| Satellite Zoom Level 10 (1 MB) |
| Terrain Zoom Level 11 (3 MB) |
| Terrain Zoom Level 12 (9.8 MB) - HUGE!) |
Captured From Microsoft Virtual Earth |
| Streets Zoom Level 11 (1.9 MB) |
| Streets Zoom Level 12 (5.9 MB) |
| Satellite Zoom Level 11 (3.4 MB) |
| Hybrid [Streets & Satellite] Zoom Level 11 (3 MB) |
| Hybrid [Streets & Satellite] Zoom Level 12 (11.3 MB - HUGE!) |
Captured From Yahoo Maps |
| Streets Zoom Level 11 (1.9 MB) |
| Streets Zoom Level 12 (6.3 MB) |
| Satellite Zoom Level 11 (3.1 MB) |
Captured From Open Street Maps |
| Streets Zoom Level 11 (1.7 MB) |
| Streets Zoom Level 12 (5.6 MB) |
Pasadena, CA City Scale View (About 6 Miles
Across)
|
Google Maps |
| Streets Zoom Level 12 (140 KB) |
| Streets Zoom Level 14 (544 KB) |
| Terrain Zoom Level 12 (220 KB) |
| Terrain Zoom Level 14 (1.3 MB) |
Microsoft Virtual Earth |
| Hybrid [Streets & Satellite] Zoom Level 12 (140 KB) |
| Hybrid [Streets & Satellite] Zoom Level 14 (1.5MB) |
Yahoo Maps |
| Streets Zoom Level 12 (160 KB) |
| Streets Zoom Level 14 (160 KB) |
And in the quiet glow of a phone screen at 2 a.m., swiping past a passage about Nesta finally crying in Cassian’s arms, the reader knows: that climb is the entire story.
Maas, Sarah J. A Court of Silver Flames . EPUB ed., Bloomsbury Publishing, 2021. A Court of Silver Flames by Sarah J. Maas EPUB
Moreover, the novel parallels Nesta’s psychological labor with the physical labor of the Valkyries—a training arc that transforms female friendship from a subplot into a lifeline. Unlike the male-dominated Illyrian warrior culture, the Valkyries (Emerie, Gwyn, and Nesta) build strength not through domination but through mutual accountability. Their climbing of the Ramiel mountain is a stunning inversion of the heroic quest: they do not seek glory but survival; they do not defeat a monster but endure their own limitations. When Nesta finally uses her Death power to save Feyre’s baby (a controversial plot point), it is not an act of violence but of sacrifice —she gives up almost all of her stolen power to grant another woman bodily autonomy. This is the novel’s quiet thesis: true strength is not the ability to destroy but the ability to choose not to, and to give away power for love’s sake. No deep essay can ignore the novel’s fractures. The resolution of Feyre’s near-fatal pregnancy (a plot device that has drawn justifiable criticism for turning her body into a vessel of peril) is clumsy, relying on Nesta’s last-minute magical sacrifice. It sidelines Feyre’s agency in her own reproductive narrative. Additionally, the novel’s treatment of Rhysand—formerly a feminist icon—as a withholding, secretive High Lord reveals a troubling retcon: his “protectiveness” now reads as controlling. Maas attempts to have it both ways, condemning Rhys’s secrecy while still venerating him. The EPUB format, with its easy searchability and highlighting features, allows readers to track these inconsistencies across chapters, turning the digital text into a site of active, sometimes frustrated, analysis. V. Conclusion: The Unfinished Work of Healing Ultimately, A Court of Silver Flames is a novel about the treachery of happy endings. It argues that surviving trauma is not a single victorious battle but a series of relapses, small triumphs, and the slow, boring work of getting out of bed. By placing this narrative in the hands of millions via EPUB—a format that prioritizes privacy, portability, and personal pacing—Maas has created a work that functions as both a mirror and a door. For readers who have felt like the Nesta in their own families—the angry one, the too-much one, the unredeemable—the novel offers a radical proposition: you do not need to be likable to be worthy of love. You only need to keep climbing. And in the quiet glow of a phone screen at 2 a
In the sprawling landscape of contemporary fantasy romance, Sarah J. Maas’s A Court of Silver Flames (2021) arrives not as a gentle epilogue to the beloved A Court of Thorns and Roses series, but as a radical, sinewy intervention. Accessible globally in the malleable, intimate architecture of the EPUB format—a digital vessel that transforms personal screens into private arenas for reading—the novel performs a crucial alchemy. It transmutes the glittering, fairy-tale aesthetics of its predecessors into a raw, unflinching examination of trauma, female rage, and the arduous, non-linear labor of self-reclamation. By shifting focus from the perfected High Lady Feyre to her seemingly broken older sister, Nesta Archeron, Maas does not simply continue a saga; she dismantles the very archetype of the fantasy heroine she helped popularize. I. The EPUB as Intimate Arena: Form and Function Before delving into narrative content, one must acknowledge the medium. The EPUB format of A Court of Silver Flames is not a neutral container. Unlike a hardcover’s public display or an audiobook’s shared soundscape, the EPUB resides on tablets, phones, and e-readers—devices of private, often nocturnal consumption. This digital intimacy mirrors the novel’s obsessive interiority. The reader holds Nesta’s shame, her spiraling thoughts, and her explosive physicality in the same hand that swipes to turn the page. The reflowable text allows for a pacing that belongs entirely to the reader: one can pause at a particularly brutal memory, speed through a training montage, or linger over the novel’s explicit erotic passages without a trace. In this sense, the EPUB becomes a confessional booth. Maas’s decision to embed protracted psychological distress within a genre often dismissed as “escapist” finds its perfect technological partner in a format that privileges individual, unmediated access to the character’s darkest recesses. II. Deconstructing the Heroine: Nesta’s Unheroic Trauma The central genius of A Court of Silver Flames lies in its protagonist’s profound unlikability. Nesta Archeron is not a hidden diamond waiting to be polished; she is a shard of broken glass—sharp, self-lacerating, and dangerous to those who come too close. While Feyre’s journey in the original trilogy was one of external empowerment (learning to fight, gaining powers, becoming High Lady), Nesta’s arc is one of internal disarmament . Her power—Death itself, stolen from the Cauldron—is not a gift but a symptom of violation. The novel refuses the fantasy trope that power heals. Instead, it demonstrates how sexual and bodily trauma (Nesta was forcibly turned Fae against her will, her body remade without consent) festers into self-destruction: alcoholism, promiscuity used as a weapon of self-erasure, and verbal cruelty as a shield. EPUB ed
Maas meticulously charts Nesta’s descent not as a moral failing but as a symptom . In doing so, she joins a lineage of trauma narratives from The Bell Jar to Sharp Objects , but within a genre that traditionally resolves such pain through romantic love alone. Here, love (specifically from Cassian, the Illyrian warrior) is necessary but insufficient. The novel’s most radical assertion is that Nesta must save herself—not through a grand battle, but through daily, grueling acts of physical training, cataloging, and community building. The infamous “hike” in the final act, where she carries her own weight up a mountain, is a direct inversion of the male-rescue trope: no one carries Nesta; she drags her own broken self toward the summit. Few fantasy novels of this commercial stature have depicted the female body with such unvarnished complexity. The sex scenes between Nesta and Cassian are not romantic interludes; they are contested territories. Early encounters are transactional, weaponized, or interrupted by flashbacks of violation. The novel distinguishes sharply between fucking as self-harm and sex as mutual vulnerability . Maas refuses to sanitize Nesta’s sexuality: she desires roughness, power play, and surrender, but only when it is chosen . This is a crucial feminist reclamation. The “smut” that critics have derided is, in fact, a philosophical investigation into how survivors reclaim bodily pleasure without erasing the memory of violation.