Places database for Gramps

Wouldn’t it be nice to have pre-made territorial division of each country within Gramps?

Is there maybe a project already to create such databases?

I started working on one with Poland - it currently includes territorial division from a few sources:

  • division between 1919-08-14 and 1939-10-08 (pre-WW2) is taken from Wikipedia,
  • division between 1975-06-01 and 1998-12-31 (49 voviderships) is taken from Wikipedia,
  • division after 1999-01-01 (current one) is taken from TERYT database (publicly available data from polish gov),

Current version:

I didn’t created that manually, of course - this is a result of a few scripts which converted the database and web pages to Gramps format.

2 Likes

I don’t have a lot of places in Poland but I’ll try to load it to compare it with my places. It will be probably better.

There seem to be some regional Gazetteer collections. (Not designed for Gramps but created as general reference sites.)

I’ve built similar Place definition collections for my home US state, county and immediately adjacent counties. (My tree has morphed into more of a place study than a genealogy.) However, because of the Place Selection dialog only having a hierarchical option, it is less than optimal in practice. Perhaps if Gramps had an option to temporarily open Gazetteer .gramps Place files in parallel and drag into the main tree, such libraries would be more useful. Or perhaps if there was a Geography view styled Place Selector tool.

(In version one of Gramps, it operated directly from an XML file rather than using a database file. A ‘read-only’ modality based on that could be really useful for when you want to import/drag a small sub-selection from another dataset.)

If you only want few specific places, the import should be done by presenting you with a list when you add a place reference somewhere. It makes no sense to do the import separately in such case.

The databases could evolve into such system at some point, but we first need to have the databases.

I’ve put mine into a repository:

EDIT:
Related thread - with Gazetter links:

EDIT2:
I really like how Gramps select proper names of places and containing regions based on date of the event in which the place is used. That allows to create a database which properly includes all the historic variations. Great feature.

1 Like

There is an interface to the GOV gazetteer. The Addon GetGOV will import a location and all of the time varying hierarchy for it. It is europe-centric.

You enter the GOV id and the addon will add the hierarchy. The gramps id is the GOV id, so do not renumber the Places in gramps or that tie will be lost. The place type will be added from the gazetteer, so may not be a standard gramps-type.

2 Likes

I think a more general problem needs to be solved first. It is fairly easy to create a gramps database with nothing but places in it (let’s call it geography.gramps), and (when creating a new database), starting by importing geography.gramps.

But (let’s assume I’m working on the county of Norfolk in the UK) if I have a good database for Norfolk places, and start work on 2 separate trees, I might well add places to both trees.

There is no way I know of to keep a shared places database in sync.

Given such a feature, creating place databases is “just work”.

(Given the nature of the UK, almost any tree will have references to places in London. So a shared
London reference would almost always be useful)

BugBear

1 Like

I find keeping several historical territorial divisions very dificult to maintain. Personally I just keep the current territorial division in my database for the places I use.

I’d also try to avoid bloating Gramps with too many places, because the interface becomes slower if tens of thousands of places have to be loaded each time you want to select a place. If you want a large place database you could store them externally and just load the places needed into Gramps.

Just as an example, I uploaded all of the place data for Sweden from the GeoNames gazetteer. There were over 27,000 places in the hierarchy. The import process used the GeoNames ID for each place, so there is a unique key for merging, I think. But this is a lot of bloat for even this small case.

GeoNames only has the current place structure so there is no time-dependent info like in GOV gazetteer. An similar import from GOV might be significantly larger.

This is why I prefer a ‘upload as needed’ process rather than loading a large place database.

It sounds like this would make a very nice assortment of Gramplets.

maybe have a Gazetteer gramplet that could read in a locally (or URI) stored file in one of the typical Gazetteer data exchange formats and let the user find a subset of Place definitions to import. That might be a single location missing from your Tree or a filtered subset (like the only the European subset from TechSlides’ list of capitals of countries).

Lists are commonly available in JSON, CSV, Linked Places (LP) or LP-TSV.

If a Gramps exporter was written for Places, It might put out sharable place lists in Gramps XML format.

Having a Gramplet that let users cherry-pick a single Record (a Person/Family/Note/Citation/Place/Event with or without its secondary object dependencies) from a GEDCOM or .gramps/.gpkg would have a lot of a potential uses.

If you install the Isotammi addons it includes an option to only export the Place data ( see under the Material type section ) .

Also allows including a description field but normal Gramps does not see it, would be great if Gramps XML was updated in Gramps 5.2.x to support these extra field/options from Isotammi!

(Edit: created feature request 12546: Enhance Gramps XML to support “Description” field from Isotammi XML export(er) )

2 Likes

That does sound nice.

Too bad they didn’t add a similar option for “just Sources”. But you could always massively overload a dummy person to be a mule for smuggling Sources, Notes & such into another tree. Then export just the dummy person.

There isn’t an easy way to hang a ton of Places on a Dummy Person. The Isotammi exporter makes it possible another way.