> For the complete documentation index, see [llms.txt](https://docs.geoprismregistry.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geoprismregistry.com/version/v2.0.0/curate/import-geospatial-data/import-a-spreadsheet.md).

# Import a Spreadsheet

{% hint style="info" %}
Registry Administrators and Registry Maintainers can import the lists and spatial data of the Geo-Object Types under the curation mandate of their organization
{% endhint %}

To import Geo-Object data into Geoprism Registry, we have to take into account the Geo-Object Types, attributes, and hierarchies that have been defined. The data to be imported needs to be formatted so the fields/columns can be mapped onto the attributes of the relevant Geo-Object Type, and where available, hierarchy information can be matched with the correct hierarchy.

## Importing a spreadsheet

To be able to smoothly import a list to Geoprism Registry, the following basic requirements must be followed:

* The spreadsheet must be in XLS or XLSX format
* The spreadsheet must contain the values for all the attributes that have been defined in the data dictionary as well as the parents for the hierarchies the Geo-Object Type is a part of
* A header must exist on the first row that contains the unique label for each attribute
* Each column must be set to the appropriate data type
* The data should be in the first worksheet of the XLSX file; all other worksheets will be ignored by the system
* There should be no formulas in the spreadsheet as these are not supported
* Geographic coordinates included in the spreadsheet must be unprojected ([World Geodetic System 1984; EPSG:4326](https://epsg.io/4326)) and stored in separated columns (latitude and longitude)

{% hint style="warning" %}
If the spreadsheet has multiple tabs only the first tab will be used for the import
{% endhint %}

Importing a spreadsheet happens as follows:

1. Navigate to the *Import* *Geospatial Data page in the sidebar.*<br>

   <figure><img src="https://3732932512-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9giVyCrmTxAs33YrSRbJ%2Fuploads%2FuWn84o1odi4UxmNFSRDN%2Fimage.png?alt=media&amp;token=35e0dbb6-4b56-4376-bbde-b9983fdb4ea7" alt=""><figcaption></figcaption></figure>
2. Ensure the *Import Spreadsheet* tab is selected.

   <figure><img src="https://3732932512-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9giVyCrmTxAs33YrSRbJ%2Fuploads%2FWX6creQGpAiFE4hQpGBL%2Fimage.png?alt=media&amp;token=b303c9e0-6d70-4105-aaea-2908f88e80e3" alt=""><figcaption></figcaption></figure>
3. Fill out the following fields for the list you would like to import:

   | Field             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Required |
   | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
   | Hierarchy         | Optional. The hierarchy the Geo-Object Type belongs to. Choosing one narrows the Geo-Object Type list to the types in that hierarchy and adds a **Hierarchy matching** step, where you link each Geo-Object to its parents. If the Geo-Object Type is part of several hierarchies, import the parent information separately for each hierarchy.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |          |
   | Geo-Object Type   | The Geo-Object Type for which you are importing content into Geoprism Registry. The dropdown will contain the list of Geo-Object Types over which the user has the curation mandate and which are part of the hierarchy that has been selected                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | Required |
   | Import Strategy   | <p>The import strategy for the list being imported:</p><ul><li><em>New and update:</em> This will import the Geo-Objects and associated attributes in the spreadsheetthat are not yet in Geoprism Registry as well as overwrite the attributes of the Geo-Objects from the list that are already in Geoprism Registry.</li><li><em>New only:</em> This will import only the Geo-Objects from the spreadsheet that are not yet in Geoprism Registry. If the file contains Geo-Objects that were already in Geoprism Registry (same unique identifier and/or label depending on the selected matching method) then the import will fail to avoid creating duplicates.</li><li><em>Update only:</em> This will overwrite the attributes of the Geo-Objects from the spreadsheet that are already in Geoprism Registry. If the imported file contains Geo-Objects that are not already in Geoprism Registry then these will not be imported.</li></ul> | Required |
   | Start Date        | The start of the date of validity of the Geo-Objects in the spreadsheet. All the Geo-Objects in the spreadsheet, whether new or for update, should have the same start date of validity.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Required |
   | End Date          | The end of the date of validity of the Geo-Objects in the list. All the Geo-Objects in the spreadsheet, whether new or for update, should have the same end date of validity. If the Geo-Objects in the spreadsheet are still valid on the date it is being imported in Geoprism Registry, click the **Set as most current** button.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Required |
   | Data Source       | The [Data Source](/version/v2.0.0/configure/data-sources/add-a-data-source.md) the data comes from.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |          |
   | Description       | An optional description of this import.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |          |
   | Import blank cell | Selecting this option ensures that if there are empty cells in the list being imported, they are imported as empty attribute values (overwrite). This option gives more control to ensure that updates will either only update cells with values or to overwrite existing values with null values.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |          |

   <figure><img src="https://lh6.googleusercontent.com/q_Kt90IuIgvWshDkgY5dbR1l_tcmlloKsfumtiAxKKFWn5HzzLeOn90f91SqqdpYJ7PtRgZswMNcJhMwtV0akMaOOrioiJ0Avs_251HMUO-ikiz4TpJnajBzU5zNKiV3bDR7JxN0pX1HKawyPo8yuEWK1v5hNpENZOo9tAE4fb6wzuPLxKI4S3w1JA" alt=""><figcaption></figcaption></figure>
4. Click the **Choose file** button and select the spreadsheet you'd like to import.
5. Click the **Submit** button in the *Spreadsheet import* window.
6. The *Attribute Matching* window opens containing the attributes for the Geo-Object Type. The number of attributes that appears depends on the number of attributes created for the Geo-Object Type for which the spreadsheet is being imported. In the dropdown option for each field, choose the attribute from the list being imported that matches the created attribute of the Geo-Object Type. If the Geo-Object Type has a Concept Set, match the column that holds each Geo-Object's classification to the **classification** attribute. Click the **Next** button.\
   \
   *Note:* When the spreadsheet is formatted correctly and completely as mentioned at the start of this section, you should be able to match all of its attributes to the Geo-Object Type for which it is being imported. Otherwise, some of the attributes will be left blank.

   <figure><img src="https://3732932512-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9giVyCrmTxAs33YrSRbJ%2Fuploads%2FdjrJXhGATMhpNE4BEP1C%2Fimage.png?alt=media&amp;token=ee868352-b83f-4c49-b8b3-79404f3b644c" alt=""><figcaption></figcaption></figure>
7. The **Alternative Id Mappings** window opens. It only appears if Source Authorities exist in the system. Optionally, add mappings for columns that hold alternative IDs:
   1. Click *Add ID Mapping.*
   2. Select a source authority and an attribute from the source data to be included.
   3. Click *Next.*<br>

      <figure><img src="https://3732932512-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9giVyCrmTxAs33YrSRbJ%2Fuploads%2FDq7K2wBk9NdQoaLTnIB7%2FScreenshot%20from%202026-09-23%2015-41-53.png?alt=media&amp;token=de5d7486-c852-493a-a123-180fbe2196dc" alt=""><figcaption></figcaption></figure>
8. If you chose a Hierarchy, the *Hierarchy Matching* window opens listing the Geo-Object Types considered as parents in to the Geo-Object Type for which the spreadsheet is being imported. The number of parent Geo-Object Types that will be listed depends on the position of the imported Geo-Object Type data in the hierarchy. Fill out the following fields for each parent Geo-Object Type:

   | Field                     | Description                                                                                                                                                                                                                                                                                                               | Required |
   | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
   | Source file parent column | The attribute from the spreadsheet being imported that corresponds to the parent Geo-Object Type (unique identifier or name)                                                                                                                                                                                              |          |
   | Match Strategy            | <p>How the values in the column are matched to parent Geo-Objects:</p><ul><li><strong>Code, label, and synonyms</strong></li><li><strong>Code only</strong> (fastest)</li><li><strong>Alternative ID:</strong> the column holds alternative IDs. Choose the <strong>Source Authority</strong> that issued them.</li></ul> |          |

   *Note:* Hierarchy matching is optional.

   <figure><img src="https://lh6.googleusercontent.com/yz7Xwzre_HPMwY0HHOl1QyaEJU6-WfxBLaETyPJB9y4Aj93EgfpFWPmKAMItWC70ygZpx-3v1qrAOnSB6wss12E9Em4kBGM-cfvIboC7Q7Jxn7rTmZxSFXlnJLvyjKDAh3hB1PrVrkv-e4_sWVspvbJLPA6QZ83hl35te5Gw2PYEC8nI7zcjCLEBJg" alt=""><figcaption></figcaption></figure>
9. Click **Ok**.
10. The import will start processing. Click the **Go to jobs** button to view the progress. This will direct you to the *Scheduled Jobs* page.

    <figure><img src="https://3732932512-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9giVyCrmTxAs33YrSRbJ%2Fuploads%2F712RWgdarm5LNC7mB1gI%2Fimage.png?alt=media&amp;token=7506a9dc-325d-4a96-a5b8-6a1ca4dda194" alt=""><figcaption></figcaption></figure>

## Fixing problems found during import

When you click **Ok**, Geoprism Registry checks your data before importing it. If it finds values it can't match, a window opens so you can fix them:

* **Parent Location Problems** lists parent locations from your file that don't match a Geo-Object in the hierarchy. For each one, either search for the correct location and create a synonym, so this name always maps to that location, or exclude the data at that location from this import.
* **Term Problems** lists values that don't match an option of a term or classification attribute. For each one, create a synonym for an existing option, create a new option with that name, or exclude the data with that value from this import.

You can undo a fix before continuing. **Ok** stays disabled until every problem is resolved.
