IQSS / IQSS/dataverse-frontend

Feature Request/Idea: Display dataset search results on a geographical map

Open
#580 1 comment 2 reactions 0 assignees View on GitHub

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:

test-archaeology-listview

test-archaeology-mapview

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.