IQSS / IQSS/dataverse-frontend
Feature Request/Idea: Display dataset search results on a geographical map
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 31
- Forks
- 26
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 4
Description
Add the option to display search results (datasets) that have location information (coordinates in the metadata) on an interactive map. The map could either be an alternative 'search results view', instead of the paged list view, or it could be on the side along with the facets.
This feature request comes from the archaeological community that uses our Dataverse archival system specfic for archaeological research data (excavation results etc. ).
Most dataset in that archive (https://archaeology.datastations.nl) have a location specified in the metadata which was used in our previous online system (non-Dataverse) to display the dataset locations on a map.
As a prove of concept (PoC) I developed javscript code that gets inserted into the custom footer (html) file. This script will add 'tabs' for the 'listview' and the 'mapview' just above the result listing area on the dataverse page. When the 'mapview' tab is selected the map (Leaflet with OSM tiles) is displayd with markers for every dataset that has coordinates.
Explanantion and code of the PoC can be found here:
https://github.com/Dans-labs/landscape-analysis-GeoMapDataverseIntegration/blob/main/experiments/MapViewExtention.md
Some screenshots from our test site:
Demo screencast:
https://github.com/user-attachments/assets/3483bb16-cff8-4d78-973e-51b0da7000f0
One of the main challenges is that the community will have those coordinates in different places (custom metadata) and also in different systems, so configuring that is not straightforward in TSV files.
Configuration would be to specify;
- The subverse/collection for which you want it (default root)
- The query addition needed to retrieve the metadata fields (from a custom block).
- The script code (or some other 'pluggable' code) to extract and convert that metadata into geojson
Another changeling thing is the relative long time it takes to get the results from the search API and the fact that the total number of results might be high; 150k hits on our archive for instance would require 150 http requests. Also, 150k markers on the map is probably making it unusable.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the MapViewExtention.md proof of concept linked in the issue, then examine the search API and result-list entry points in this frontend. Clarify how collection configuration, metadata extraction, map rendering, and large result sets should work; done requires an agreed implementation scope and acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, search, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100