This is a Third-party Addon.
Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Released for Gramps 5.0 versions
Place Cleanup Gramplet
Purpose of this Gramplet
This was written to assist in cleaning up places. Often when starting with Gedcom imported trees, or when adding events from census or other sources, the Places that are created are not fully filled in with Latitude/Longitude and Enclosure information. The place names and/or titles are often left with strings of comma separated names that previously required a lot of manual work to clean it up.
In other cases, Places may have been entered with proper enclosure hierarchy, but without the Latitude/Longitude needed to show up on Gramps Maps.
The Gramplet assists in merging new places with already present places; when you do a search, if the Place you are looking for is located elsewhere in your Gramps database, and is completed, then you can merge your current place with the completed place.
The Gramplet makes use of the GeoNames database via the web to get information to fill out the Places.
Warning: As always, Back up you current tree BEFORE using this tool. See make a Gramps XML backup
While it is possible to Undo changes individually, at least within a session, you may decide that you need to restart from an earlier state.
Installing the Place Cleanup Gramplet
The Gramplet can be installed like any other Addon; see Installing Addons in Gramps
Once installed, you should go to Place Tree or Places view (which ever you usually use), and load the Gramplet in the bottom bar by clicking the little down pointer at the far top right of the bottom bar, and then using the 'Add a Gramplet…' menu item.
The first time you attempt a search, you will be reminded to obtain and set a GeoNames user ID, which is required for use of their data. You can sign up for the ID at the following link: http://www.geonames.org/login.
Once you have an ID, you should set it into the Gramplet via the Preferences button, see below.
The Gramplet Preferences is accessed via the Preferences button (located in the top right of the main view of the Gramplet, next to the Title field). The button should appear as shown to the right. The preferences has the following settings:
- Keep Web Links checkbox. The GeoNames database contains various URL links to other web data, associated with each place. For example, many places have a Wikipedia link. If you check this setting, the Gramplet will save these web links with the place data. They will appear in the 'Internet' tab of the Place Edit dialog.
- Add citation and source to Place checkbox. If you check this setting, a Citation will be added to each place, citing the 'GeoNames' Source and Repository, with the Citation having a 'Volume/Page:' value with the GeoNames ID number. There will be a Citation for each Place, but only a single Source and Repository.
- GeoNames User ID field. This contains the necessary GeoNames user ID. You can sign up for the ID at the following link: http://www.geonames.org/login.
- Alternative Names Languages to keep field. This contains a space separated list of the ISO-639 2-letter language code; (en,de,fr,it,es,...). As you work with the Gramplet, you will see a list of alternate names available for most places, with the language code for the names. If you want these names automatically checked off for inclusion in your Gramps place, add the code to this field.
The Main view has several buttons, a 'Title' field, a small 'xx Matches' status, and a 'Choices' or match results list.
- Title field. This field shows the Place that is currently under investigation. It changes automatically when the Gramps Place view has an active selection. The field can also be modified by the user, just set the cursor in it and edit as normal. This is generally only needed when trying to find a place in GeoNames that might have unexpected abbreviations, or historical hierarchy or other issues which can make finding a match in the GeoNames database difficult.
- Matches status. This small status block is located on the left side of the Gramplet, just below the 'Title' label. It indicates the number of matching places found when searching the local Places list or the GeoNames database. The status also indicates where the matches were found, either 'Local', or 'GeoNames'.
- Choices list. This area lists the found matches. The user should select the correct match for the place under investigation, and either press the Select or double-click, press 'Enter' or 'Space' to move to the result/edit screen.
- Help button. This brings up this web page.
- Find button. This performs a search for the place indicated in the Title field. The search is performed in two stages.
- Initially the local Gramps place list is examined for a match. The local match is only searched among 'Complete' places, those with Latitude/Longitude and Place Type data filled in. Only the initial segment of the place is used for searching. For example, if you search for 'Paris, FR', and your local Gramps data has both 'Paris, Lamar, Texas, United States' and 'Paris, Paris, Île-de-France, France', both will be shown. Alternative names in the local Gramps places are also searched.
- The second stage is the GeoNames search. It is performed automatically if the first stage doesn't find any matches. If the first stage did find one or more matches, but none of them were correct, the user can press the Find button again to do the GeoNames search. Note that the GeoNames search only returns ten results at a time, if the place you want is not in the first set of results, press the Find button again to see the next ten.
- Select button. After the user selects one of the matches in the 'Choices' list, this causes the result/edit screen to be shown.
- Edit button. If no suitable places are found, the user can use this to advance directly to the result/edit screen. This can occur if the place you are searching for is too detailed, for example 'My Estate, Paris, TX' or '123 Mains St., Paris, TX'. Since such detailed information is not going to be found in the GeoNames search, you have to edit it manually.
- Next Place button. This causes the Gramplet to advance to the next incomplete Place in the Gramps Places list. Incomplete places are missing any of the Latitude/Longitude or Place Type data.
This view presents the found place data for review and potential editing.
At the top of this view is the full title of the Current place, in bold text.
- Primary Name field. This field is displayed based on the name chosen as primary from the list of available names. It is not editable.
- Postal Code field. This field displays the postal code(s). It can be edited. There is a small Orig checkbox just above this field, if checked, the Original postal code from the place is used instead of the found postal code. Note that this checkbox is disabled if there is no original postal code.
- Type field. This field displays the place type. It can be edited. There is a small Orig checkbox just above this field, if checked, the Original place type from the place is used instead of the found place type. Note that this checkbox is disabled if there is an 'Unknown' original place type.
The GeoNames database does NOT provide Gramps Place Type data. This Gramplet uses the available data to make a 'best guess' at the correct Place Type. You should always check and make sure that the value is correct, and fix it if necessary.
- Latitude and Longitude fields. These fields displays the Latitude and Longitude. They can be edited. There is a small Orig checkbox just above these fields, if checked, the Original Latitude and Longitude from the place is used instead of the found Latitude and Longitude. Note that this checkbox is disabled if there is no original Latitude and Longitude.
- ID field. This field displays the Gramps ID. It can be edited. There is a small Orig checkbox just above this field, if checked, the Original ID from the place is used instead of the found ID. Note that this checkbox is disabled if there is no original ID.
- The Names list. This list contains the names associated with the found place. Each name has an associated Language and Date. There is also an 'Inc' column which displays the include status of the name in that row. If there is a 'P' in the 'Inc' column, that name is used as the Primary name. If the column has a checkmark '✔' the name will be included in the final Place alternative names list. If you double-click, press 'Enter' or 'Space' on a selected row, that will toggle the include status.
- Keep button. If one or more of the places in the names list is selected, pressing this button will cause the associated names to be marked for inclusion in the final Place alternative names list.
- Primary button. If one or more of the places in the names list is selected, pressing this button will cause the topmost associated name to be marked as the Primary name.
- Discard button. If one or more of the places in the names list is selected, pressing this button will cause the associated names to be unmarked so they will not be included in the final Place alternative names list.
- Cancel button. Pressing this button returns the view to the main search view. No changes are saved.
- OK button. Pressing this modifies the selected place with the new values. In addition, the next level of the place hierarchy will be set into the place. If that next level is already present in the local Gramps place list, and has a matching GeoNames ID, the modifications are completed. If not, the next level in the place hierarchy is shown in the results view.
- GeoNames data is primarily intended for present day usage. It contains little historical information. I have heard that it is pretty complete for United States, Canada, and less so for Europe, although it seems to have all the European cities I have tested so far. If you find an error or omission in the GeoNames data, you may want to tell GeoNames about it http://www.geonames.org/manual.html.
- GeoNames finds multiple places: Example, 'Santa Rosa, CA'. GeoNames finds both 'Santa Rosa, Sonoma, California, United States' and 'City or Santa Rosa, Sonoma, California, United States'. The way the GeoNames database is structured, they have a 'Populated Place, which generally has lots of Alternate names and postal codes, and an 'Administrative subdivision' for the same place. The 'City of' version is the Administrative subdivision, which generally doesn't have postal codes and alternate names. I personally prefer the first version, which should appear first in the 'Choices' list.
- Timeouts: When using the GeoNames web database with a free account, you will sometimes get a timeout. The Timeout is set to 20 seconds for each request, unfortunately some actions take several requests, so the user may see unresponsive Gramps for up to 40 seconds. You can always try the request again by pressing the last used button. According to the GeoNames web site, if you pay for an account, you may get better performance, as the paid accounts use more lightly loaded servers.
- Not Found: While the GeoNames database contains some historical names, it mostly tries to be up to date with the current times. Many places in a typical family tree are described as of the time the event occurred. So it is entirely possible that the described place no longer exists. It may now belong to a different country, or other administrative subdivision. Or it may have subsumed with another larger place. Initially you should try removing the intermediate place data, leaving only the initial segment and the country. You may get a lot of matches, but that may give you a better clue as to the current situation. Or you may have to do some research outside the Gramplet to figure out what it might be called now.
- Place Types: Since GeoNames does not have place 'type' data, the same way that Gramps does, this addon uses an algorithm to attempt to pick an appropriate place type. If a country is known to have a rigid administrative place type structure, such as the United States with its City/County/State/Country, then the various parts of the place hierarchy are typed accordingly.
- If the structure is not always known or used, then the algorithm attempts to assign place types by looking at the place name. For example if the place name includes a word that matches a place type, such as "Harris County" or "Smith Township", then the place type is set accordingly. To do this all the various place alternate names are scanned, in case the primary name does not include a suitable word.
- If you know that a particular country has a rigid (or even mostly rigid) hierarchical structure, and this addon seems to be getting it wrong a lot, please let the author know at paulr2787 at gmail.com. I can modify the code to make it work better if I understand the correct country structure.
This is a new tool and fairly complex. Please report any issues or desired enhancements to paulr2787 at gmail.com I have included a French translation of the tool, mostly as a test of the internationalization code. Since I don't speak French (USA Texas version of English only), please excuse my French.