Skip to content

New expanded geospatial block#11507

Open
lubitchv wants to merge 26 commits intoIQSS:developfrom
lubitchv:10398-geospatial-block
Open

New expanded geospatial block#11507
lubitchv wants to merge 26 commits intoIQSS:developfrom
lubitchv:10398-geospatial-block

Conversation

@lubitchv
Copy link
Contributor

What this PR does / why we need it: Expanded geospatial block is proposed

Which issue(s) this PR closes:

Special notes for your reviewer:
It is a new experimental geospatial block that extends the old one.

@pdurbin pdurbin moved this to Ready for Triage in IQSS Dataverse Project May 21, 2025
@ofahimIQSS
Copy link
Contributor

@lubitchv Could you also add the new tsv file and the .properties file.
Does it also require an SQL migration script? Thanks!

@lubitchv
Copy link
Contributor Author

@ofahimIQSS The new geospatial block is an extended version of an old geospatial.tsv. I can upload the new block as geospatial.tsv which will replace the old one or I can add it as a geospatial_new.tsv. In this case it may fail some tests since it is the extension of an old one and hence may conflict with it. What is better way to do? I think the end goal is update the existing block but I am not sure at this stage what should be done.

The new block does not need SQL migration script, since it is extension of old. I wrote an instruction in docs (in this PR) how to update existing installation with this extension of geospatial block.

@ofahimIQSS
Copy link
Contributor

Thanks, @lubitchv ! We can go ahead and use geospatial.tsv as-is—no need to rename it. We'll test it on our end and roll it out accordingly.

@lubitchv
Copy link
Contributor Author

lubitchv commented May 28, 2025

I updated geospatial.tsv to a new expanded one. I also updated geospatial property file with new fields and also solr schema.xml I see that integration test is failing. Can I have a name of the test that fails?

Copy link
Member

@pdurbin pdurbin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some feedback based on the latest commits. This PR is looking good!

Comment on lines 45 to 50
.. code-block:: javascript

curl http://localhost:8080/api/admin/datasetfield/load -H "Content-type: text/tab-separated-values" -X POST --upload-file geospatial_new.tsv
curl "http://localhost:8080/api/admin/index/solr/schema" > new.xml
./dataverse/conf/solr/update-fields.sh /usr/local/solr/solr-9.8.0/server/solr/collection1/conf/schema.xml new.xml
curl "http://localhost:8983/solr/admin/cores?action=RELOAD&core=collection1"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lubitchv these upgrade instructions are great, thanks. Let's move them to a release note snippet.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created the release snippet for upgrade.

controlledvocabulary.spatialResolutionType.distance=distance
controlledvocabulary.spatialResolutionType.vertical=vertical
controlledvocabulary.spatialResolutionType.angulardistance=angularDistance
controlledvocabulary.spatialResolutionType.levelofdetail=levelOfDetail
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here at the bottom let's track failing tests. This is what I'm seeing right now:

edu.harvard.iq.dataverse.api.DatasetFieldsIT.testListAllFacetableDatasetFields
edu.harvard.iq.dataverse.api.DatasetTypesIT.testUpdateDatasetTypeLinksWithMetadataBlocks
edu.harvard.iq.dataverse.api.DataversesIT.testListMetadataBlocks
edu.harvard.iq.dataverse.api.MetadataBlocksIT.testListMetadataBlocks

From a quick look they all have to do with the number of fields expected, like this:

JSON path data.size() doesn't match.
Expected: <64>
  Actual: <71>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed the integration tests.

- Computational Workflow Metadata (`see .tsv <https://github.com/IQSS/dataverse/blob/master/scripts/api/data/metadatablocks/computational_workflow.tsv>`__): adapted from `Bioschemas Computational Workflow Profile, version 1.0 <https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE>`__ and `Codemeta <https://codemeta.github.io/terms/>`__.
- Archival Metadata (`see .tsv <https://github.com/IQSS/dataverse/blob/master/scripts/api/data/metadatablocks/archival.tsv>`__): Enables repositories to register metadata relating to the potential archiving of the dataset at a depositor archive, whether that be your own institutional archive or an external archive, i.e. a historical archive.

- `New updated Geospatial Metadata block <https://docs.google.com/spreadsheets/d/1GMVIaQB6EqauNDqrPq09BBHd_HzUSD57oliTAoh3Ikw>`__: adapted for ISO 19115-3 format. It substitutes and expands existing geospatial.tsv metadata block. To use it, replace existing geospatial.tsv with the new one. To upload the block to the existing installation:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's check with @jggautier and others but I believe we we should overwrite "Geospatial Metadata" above rather than having a separate entry. In a release note snippet we can explain that the geospatial block has been updated.

On a related note, rather than "New expanded geospatial block" should the title of this PR be "Updated geospatial block" or "updated" or "improved" or "extended" or whatever. It's not really new, is it? It's bigger and better. 😄

@ofahimIQSS ofahimIQSS added the Size: 10 A percentage of a sprint. 7 hours. label Jun 3, 2025
@ofahimIQSS ofahimIQSS moved this from Ready for Triage to Ready for Review ⏩ in IQSS Dataverse Project Jun 3, 2025
@ofahimIQSS ofahimIQSS moved this from Ready for Review ⏩ to In Review 🔎 in IQSS Dataverse Project Jun 3, 2025
@cmbz cmbz added FY25 Sprint 24 FY25 Sprint 24 (2025-05-21 - 2025-06-04) FY25 Sprint 25 FY25 Sprint 25 (2025-06-04 - 2025-06-18) labels Jun 4, 2025
eastLongitude Easternmost (Right) Longitude Easternmost coordinate delimiting the geographic extent of the Dataset. A valid range of values, expressed in decimal degrees, is -180.0 <= East Bounding Longitude Value <= 180.0. text 8 FALSE FALSE FALSE FALSE FALSE FALSE geographicBoundingBox geospatial
northLatitude Northernmost (Top) Latitude Northernmost coordinate delimiting the geographic extent of the Dataset. A valid range of values, expressed in decimal degrees, is -90.0 <= North Bounding Latitude Value <= 90.0. text 9 FALSE FALSE FALSE FALSE FALSE FALSE geographicBoundingBox geospatial
southLatitude Southernmost (Bottom) Latitude Southernmost coordinate delimiting the geographic extent of the Dataset. A valid range of values, expressed in decimal degrees, is -90.0 <= South Bounding Latitude Value <= 90.0. text 10 FALSE FALSE FALSE FALSE FALSE FALSE geographicBoundingBox geospatial
geographicCoverage Geographic Coverage Information on the geographic coverage of the data. Includes the total geographic scope of the data. none 0 FALSE FALSE TRUE FALSE TRUE FALSE geospatial
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Someone at standup noticed that you've changed displayoncreate for a lot of field from false to true:

pdurbin@beamish dataverse % git checkout develop               
Switched to branch 'develop'
Your branch is up to date with 'origin/develop'.
pdurbin@beamish dataverse % cat scripts/api/data/metadatablocks/geospatial.tsv | head | cut -f2,13
name	
geospatial	
name	displayoncreate
geographicCoverage	FALSE
country	FALSE
state	FALSE
city	FALSE
otherGeographicCoverage	FALSE
geographicUnit	FALSE
geographicBoundingBox	FALSE
pdurbin@beamish dataverse % git checkout 10398-geospatial-block                                   
Switched to branch '10398-geospatial-block'
Your branch is up to date with 'lubitchv/10398-geospatial-block'.
pdurbin@beamish dataverse % cat scripts/api/data/metadatablocks/geospatial.tsv | head | cut -f2,13
name	
geospatial	
name	displayoncreate
geographicCoverage	TRUE
country	TRUE
state	TRUE
city	TRUE
otherGeographicCoverage	TRUE
geographicUnit	TRUE
geographicBoundingBox	TRUE

Can you please switch them back to false?

On a related note, there's a new API added in #11001 for 6.6, that allows you to change displayoncreate: https://guides.dataverse.org/en/6.6/api/native-api.html#set-displayoncreate-for-a-dataset-field . So maybe you can use that to set fields to true for your installation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I replaced back displayoncreate to all the fields to FALSE

@jggautier
Copy link
Contributor

jggautier commented Jun 9, 2025

Hi all! Just got back from vacation and noticed I was asked if this metadata block should be described in the "Experimental Metadata" section or if its description should replace what's in the "Supported Metadata" section about geospatial metadata.

@lubitchv could you write why you added a description in the "Experimental Metadata" section? From the discussion in this PR so far I couldn't get a sense of why.

And where ever the metadata block is described on this Appendix page, should it include information about how to upload the metadata block? I ask because this would be the first time we include that sort of information here, when I think it's usually in the release notes and in the Metadata Customization section of the Admin Guide.

@jggautier
Copy link
Contributor

jggautier commented Jun 10, 2025

Just an update from my comments and questions yesterday after I got to chat briefly with @lubitchv this morning at the Dataverse Community Meeting at UNC. We agreed to try to find time to discuss more with more folks, including @amberleahey.

I should also say that I just noticed that "It is a new experimental geospatial block that extends the old one" is what's in the "Special notes for your reviewer" section of this PR's first comment, so it sort of makes sense to me why you'd want to describe it in the Appendix's "Experimental Metadata" section. And I think it would help to discuss with @pdurbin why he's encouraging you to instead replace what's in the Appendix's "Supported Metadata" section.

Hopefully we'll find time to chat this week during the conference.

@pdurbin
Copy link
Member

pdurbin commented Jun 17, 2025

Absolutely! Active is better! And bringing in @emily-katz and @Saixel from CAFE is an excellent idea. 💡 I'm happy to join a meeting if that helps.

This PR changes the actual, real, production geospatial metadata block so once it's merged it is very much non-experimental.

Perhaps we could use the word "preview" instead? 🤔 Whatever gets across the idea that we'd like people to try the updated metadata block before we merge. 😄

@jp-tosca
Copy link
Contributor

Moved to hold

@pdurbin
Copy link
Member

pdurbin commented Jul 29, 2025

Here's the already-merged PR that updated the appendix to encourage people to try the version of the geospatial block in this PR (#11507):

At some point @amberleahey and @lubitchv will have enough feedback that they'll make modifications or ask to move this PR forward as-is.

@pdurbin pdurbin assigned amberleahey and unassigned pdurbin Jul 29, 2025
@coveralls
Copy link

coveralls commented Sep 4, 2025

Coverage Status

coverage: 24.33% (+0.2%) from 24.168%
when pulling a0eb3d5 on lubitchv:10398-geospatial-block
into d2b6a46 on IQSS:develop.

@lubitchv
Copy link
Contributor Author

Can you let me know what integration test is failing?

@qqmyers
Copy link
Member

qqmyers commented Oct 24, 2025

It's a build issue - I merged develop into your branch to see if that helps.

@amberleahey
Copy link

Made a comment on #1592
DV-ISO Metadata Crosswalks.xlsx
ForReview_DataverseNewGeoMetadataBlock_12-2025.xlsx
Stay tuned...

country Zimbabwe 247
country Åland Islands 248
#metadataBlock name dataverseAlias displayName
geospatial Geospatial Metadata
Copy link
Member

@qqmyers qqmyers Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you considered a blockUri and/or termUri entries to make the association with 19115 clearer? As an XML standard they may not have a good mapping to URIs/RDF, but it might still make sense to add URI mapping even if they are of the form https://dataverse.org/vocab/iso19115/* (especially if not all fields in the block map to 19115)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY25 Sprint 24 FY25 Sprint 24 (2025-05-21 - 2025-06-04) FY25 Sprint 25 FY25 Sprint 25 (2025-06-04 - 2025-06-18) Size: 10 A percentage of a sprint. 7 hours.

Projects

Status: On Hold ⌛

Development

Successfully merging this pull request may close these issues.

Feature Request/Idea: ISO 19115 versus Dataverse Geospatial Metadata Block (Proposed Changes)

9 participants