Professional grade map infographics

An interesting thread popped in my Facebook feed today. AI pundit Stephen Little shared a ChatGPT Image 2.0 travel map prompted by DAR member Katherine Borges.

It caught my attention (despite having incorrectly plotted data) because the map was gorgeous and the infographics were so effective.

Everything just works. The minimalist terrain map with a compass and concise legend / key insets. The elegance of the notched corner double outlines echoed from the whole map to the insets; complimented by antique styled horizontal rules. The subtlety of the lightened knockouts for all the overlays and terain-deflected travel-lines.

I would be thrilled to embed such an infographic in a Gramps generated Genealogy book. It looked like something a professional illustrator would have crafted for a history textbook.

Stephen suggested that generating a KML to feed into an online map might have been a better choice (at this evolutionary stage) rather than trusting a halucinatory AI. However, a reply pointed out that generating and feeding KMLs to mapping services is not yet a feat for mere mortals.

Perhaps Gramps could bridge these barriers? Gramps can already generate a KLM (with accurate plotting data) and perhaps Gramps could also feed it directly to a mapping service for an interactive map.

Or as part of an Gramps composed AI prompt that outputs a repeatable style of illustration. (Gramps doesn’t simplify Place hierarchies very well yet. But the AI could be prompted to do that that part too.)

Better to use QGIS or SAGA and get both the map and the information correct.

For example, PyQGIS gives you full control over layout, layers, styling and automated map generation.

And if you don’t want to write the code yourself, you can ask an LLM to generate the script based on your data structure or parameters — that’s exactly the kind of task they are good at.

Very beautiful output, but, as @StoltHD mentioned, it is more important to get the information correct.

But this does remind me of a couple of projects from Northwestern University’s KnightLab. They have created many tools around “storytelling” and that is exactly what we are interested in as genealogists. Here are their projects:

The ones that stand out for me are:

  1. https://storymap.knightlab.com/ - storymap, “Maps that tell stories.”
  2. https://timeline.knightlab.com/ - timeline, " Easy-to-make, beautiful timelines."

I wouldn’t have suggested implementing these ideas ourselves before AI coding became useful. But I think that is a real possibility now.

I don’t think that Gramps ever had a “working group” to explore a topic, but I think it makes sense for something like this.

FYI, KML is:

KML (Keyhole Markup Language) maps are XML-based files used to display geographic data, including points, lines, and polygons, in applications like Google Earth and Google Maps. They are ideal for visualizing 3D data, planning trips, or sharing geographical information. You can create, import, and view KML files directly in Google Earth by creating new projects and adding map features.

And with one of the GIS software systems, like QGIS, or by using scripting, you will be able to reproduce the same result again and again. If an LLM or VLM generates something, you can never be sure you will get the same output twice.

But an LLM can be excellent for creating the narrative that goes with the maps — the text for the storytelling — as well as legends, descriptions, fact sheets, contextual explanations, and other supporting material. All of this can be generated based on the facts in your database and other sources.

FYI, if you attach a kml file to the media, you will be able to see the result in the geography views.

Accurate information would be the whole point of this idea.

We can be fairly confident that the prompt allowed too much latitude to the AI. It was undoubtedly fed a diary-like posting or blog. And was prompted to create a map to illustrate their progress.

Gramps can be more exacting.

Back in 2006, Benny Malengier created a draft of a report that output KML data for import into GoogleEarth.
https://www.gramps-project.org/wiki/index.php/Specification:Geographic_Report

Benny’s download is still available … even though his family Genealogy website is not. The domain for the revision by Joachim Breitner has similarly suffered linkrot. (But can still be found by digging through his website.) But the 2008 (exporter?) source by Willem van Engen that (revises Don Allingham"s 2006 code) is still posted.

There is a GoogleEarth Map Service addon… but it is invisible unless GoogleEarth Pro is also installed. That uploads the KML of the pins of the Geography View to GoogleEarth service. It would be nice if it could also write projects to the local projects folder for GoogleEarth. It looks like you can use that without installing “Pro” software from the Google empire.

Wow, I had no idea. It seems like we could build on this. And we need to make it more obvious that this is possible!

Yes, that would be nice. I added a KML file to show the location of a farm (purple shaded area in the screenshot below) and would like to learn how to do more with it.

I also experimented with using custom map tiles based on a historical map, and had some thoughts about adding lines (discussion here).

I have three kml files which render like that:

One for the village limits, one for the farm and one to show the way to school

That is very nice! Is it somehow possible in KML to give such features labels that are visible in a hover text or otherwise?

I don’t know if it’s possible. I used minimal features for the KML files.
The libkml is located in gramps/plugins/lib/mapd/libkml.py

@SNoiraud We have tried several times to make these sample files more accessible for tutorial purposes. Unfortunately, without success.

Would you consider making a PR that adds the .kml files to the distribution? We can expand the example.gramps or data.gramps file after the files become generally acessible.

https://github.com/gramps-project/gramps/tree/master/example/gramps

Note: with the Places GEPS being pursued for so long, it seems like improving the documentation for Places and Geography category issues has been on hold

I made a PR for this: Add kml examples to example.gramps by SNoiraud · Pull Request #2276 · gramps-project/gramps · GitHub
This PR is related to the feature request: https://gramps-project.org/bugs/view.php?id=14209

Thank you. I love, Love, LOVE! this. Now I can eliminate a variable: the liklihood that I have have bad KML data. And start to narrow down my inability to make it work… whether I am doing things wrong, have incorrect expectations, or it is too complex for mere mortals.

For those who have not tried it, the results are:

For experimenters, who want to help improve the wiki:

Serge’s example exported to a small .gpkg archive. (compatible with Gramps 4.2.8 or better):