BioKIC / Symbiota

The Symbiota Virtual Flora/Fauna project develops on-line tools to aid the generation, exploration and management of biodiversity data (collection specimens, observations, images, checklists, keys, etc.). See also: http://bdj.pensoft.net/articles.php?id=1114 and https://symbiota.org/. For documentation, please visit https://symbiota.org/docs
GNU General Public License v2.0
37 stars 50 forks source link

[Dev-branch] Cross-portal searching tool feedback #974

Open themerekat opened 7 months ago

themerekat commented 7 months ago

This is a thread to capture feedback for the cross-portal searching capabilities. Please comment with your feedback below, and it will be discussed or addressed.

themerekat commented 7 months ago

Some feedback:

harringtonah commented 7 months ago

I did a polygon-constrained search but left the other fields blank- this led to a "null search" error that I struggled to escape (will reload the page shortly). Text of error, which was repeated across the page where the map previously displayed: "502 Deprecated : htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/sandbox/dev/classes/OccurrenceMapManager.php on line "

jrallen99 commented 7 months ago

image

I received this error trying to download a csv file

jrallen99 commented 7 months ago

Seems if the search times out or ends up with an error that you cannot recover the page you were working on. I had to refresh/restart the page to get it unstuck.

jrallen99 commented 7 months ago

I hate the idea of centroids for county and state info, but if this is limited to specimens with coordinates, is there a way to run the geographic search and then a text based search or a reverse lookup to find records from a county based on the placement of the polygon? I know this would get tricky logistically with polygons because they would not occupy an entire county so you would get more than you ask for.

STHerbariumLSU commented 7 months ago

Ecologist would likely want to extend this search beyond two distinct taxon groups. Thus, the external portal may need to multiple. In this case, it would be nice to have the results merged. Even searching two portals at once would benefit from merging the data output into a single spreadsheet. But this is a great start to look at biocrusts!

STHerbariumLSU commented 7 months ago

How would one do a general search for associate species? I would be nice to type in a scientific name and a distance from these occurence records to see what else pops up. This is probably not easy to program!

themerekat commented 7 months ago

How would one do a general search for associate species? I would be nice to type in a scientific name and a distance from these occurence records to see what else pops up. This is probably not easy to program!

@STHerbariumLSU , you could just include one taxon and then use a circle/radius search!

STHerbariumLSU commented 7 months ago

Is there a way to add a map layer for county boarders? I find these really useful for may applications.

themerekat commented 7 months ago

Is there a way to add a map layer for county boarders? I find these really useful for may applications.

I don't think there is one naturally included in any of the leaflet layers, oddly enough. That probably warrants a feature request for the whole code: https://github.com/BioKIC/symbiota-docs/issues/465

themerekat commented 7 months ago

How would one do a general search for associate species? I would be nice to type in a scientific name and a distance from these occurence records to see what else pops up. This is probably not easy to program!

@STHerbariumLSU , I think you could do a search for one taxon in the main portal, and then a search for a large taxon like "Plantae" in the other portal.

Have you tried entering a taxon in the first Taxon field, but not the second?

blankaaguero commented 7 months ago

I did a random search of Pinus arizonica above, Pinus aristata in cross portal. The points of both species on the map have the same color. I'd like to see them in different colors. When mousing over the points, I see collector & number, but not which one of the two taxa the point belongs to.

themerekat commented 7 months ago

I did a random search of Pinus arizonica above, Pinus aristata in cross portal. The points of both species on the map have the same color. I'd like to see them in different colors. When mousing over the points, I see collector & number, but not which one of the two taxa the point belongs to.

Hi @blankaaguero , you can do this by navigating to the Taxa List tab and clicking the Auto Color button (or you can manually change the color by clicking a color box) image

blankaaguero commented 7 months ago

Right, I see how it works, thanks. Would it be possible to get the first display in 2 colors, separating the two searches graphically on the map?

themerekat commented 7 months ago

Right, I see how it works, thanks. Would it be possible to get the first display in 2 colors, separating the two searches graphically on the map?

Probably! That does seem more intuitive.

STHerbariumLSU commented 7 months ago

The Detailed Specimen Record pops up with the full resolution image for TEX. It would fit best on the screen by opening first with a thumbnail that be further explored to show more resolution as needed.

STHerbariumLSU commented 7 months ago

About the color mapping....I think that it would be nice to have the default be autocolor. I was also a bit confused at first by the monochromatic points on a map. Also, the colors are by collection and shapes are observation/collection. Could there be another layer (maybe cross-hatching) that shows from which portal the records are pulled?

STHerbariumLSU commented 7 months ago

How would one do a general search for associate species? I would be nice to type in a scientific name and a distance from these occurence records to see what else pops up. This is probably not easy to program!

@STHerbariumLSU , I think you could do a search for one taxon in the main portal, and then a search for a large taxon like "Plantae" in the other portal.

Have you tried entering a taxon in the first Taxon field, but not the second?

Ah, I created a circle-delimited area and was able to search all records in the primary portal for that area (leaving "taxon" null). Results were all plant records. Then, I checked the box for "cross-portal" searches and "taxon" null. This returned reptiles in this region, along with the plants. NICE!! Error free results as far as I know. I get mixed results when typing in specific taxa into the different portals. See errors below...

STHerbariumLSU commented 7 months ago
Screen Shot 2024-03-02 at 8 17 33 AM

Probably mentioned before but here it is again: If a taxon doesn’t exist, the program doesn’t stop searching. Or doesn’t time out quickly enough. Got the spinning wheel with search of Briza maxima and Briza minor. The primary portal returns a null search, but the external portal is slow or doesn’t time out when the answer is “null”.

STHerbariumLSU commented 7 months ago

Searched Locality “Big Bend” and a few insect collections popped up. However, the map disappeared quickly. I tried this again and found that the only records returned (at first) were in China (missing "-" on longitude). Then, many moments later, the map populated records from all over the USA where "big bend" was found in the text string. So, it might be nice to show a spinning wheel or something that notes the search still in progress. I was a large query!

STHerbariumLSU commented 7 months ago

Here's a common error msg when a specific record doesn't return full results:

Screen Shot 2024-03-05 at 7 33 12 PM
STHerbariumLSU commented 7 months ago

At one point the checkbox of “cross portal search” was visible, but “Logan’s test portal” and the “taxon” field was not. I’m not certain how I created this. Sorry no screenshot!

STHerbariumLSU commented 7 months ago

I conducted a search for “Asteraceae” within a designated square and returned many records. Separately, in the same square, I returned 3 records for “Coleoptera” (beetles). However, When I combined the searches, either errors were produced, or the map only included a single record of Asteraceae (Echinacea sanguinea, Allen #9088) combined with the 3 Coleoptera.

Screen Shot 2024-03-11 at 10 25 25 AM
STHerbariumLSU commented 7 months ago

The map won’t visibly clear records when pressing “reset” near the “search” button but a new search is allowed. “Delete selected shape” does work as expected!

STHerbariumLSU commented 7 months ago

It took a moment to learn that the record list/spreadsheet is responsive on the map. I wonder if there is a way to post a note about this at the top of the list, such as “click to see on map”. I really liked how it zoomed right into an area. It might be nice to take this further and have the point "light up" on the map when referenced from the list.

STHerbariumLSU commented 7 months ago

When dropping a shape, click and drag requires a certain map resolution. This is fine, but it would be nice to be able to modify the shape after dropping it, such as widen, move left, etc.

STHerbariumLSU commented 7 months ago

I conducted a search of a Louisiana parish, Saint Tammany, with taxon null. It returned 5 records for the primary portal and 3 for the external portal. However, the map only shows 5 records when zoomed in. It shows 8 when zoomed out with clustering. I couldn’t see the details of all these records and am not sure if georeferencing effects results. Following this search further, I created a new search using only a shape delimitation and found over 500 records for the area. And, a third cross-portal search for “saint tammany” returned 49 records. Not sure what’s happening here.

Screen Shot 2024-03-11 at 10 54 06 AM Screen Shot 2024-03-11 at 10 55 11 AM Screen Shot 2024-03-11 at 10 57 10 AM
blankaaguero commented 7 months ago

The error "Fatal error: Uncaught Error: Cannot use string offset as an array in /var/www/html/wilt/portal/classes/OccurrenceIndividual.php:315 Stack trace: #0 /var/www/html/wilt/portal/classes/OccurrenceIndividual.php(172): OccurrenceIndividual->setAdditionalIdentifiers() #1 /var/www/html/wilt/portal/collections/individual/index.php(31): OccurrenceIndividual->setOccurData() #2 {main} thrown in /var/www/html/wilt/portal/classes/OccurrenceIndividual.php on line 315" only happens to me when I want to see details of returned records from the "External Records" Tab (clicking on they hyperlink of collector+col.number). If I do that on the "Records" tab, it shows details without error.

Well, there's an error for some searches even in the Records tab. I looked like ASU collections with catalog# filled in work, but the link worked only for the first one of the 2 specimens from ASU (searched Taraxacum above, Poa annua in cross-portal).

blankaaguero commented 7 months ago

The "Copy URL to clipboard" button on the "Results" tab copies a link to clipboard (https://biokic4.rc.asu.edu/sandbox/dev/collections/map/index.php?undefined) but it doesn't lead to any data. Shouldn't it contain the SQL syntax of the search = when I paste it to a new browser window, I'd expect to get a map with those specimens in the "Results" tab. Right?

blankaaguero commented 7 months ago

The KML file download button worked. When I opened the downloaded kml file in Google Earth, it opened it in the middle of Pacific. The points were there, but whenever I clicked on that set of points, the view turned to the middle of Pacific. KML file downloaded from "External Records" worked well, and focused the map over the Southwest, not over the Pacific. (I searched Taraxacum above, and Poa annua below in Logan's test portal.)

themerekat commented 7 months ago

The "Copy URL to clipboard" button on the "Results" tab copies a link to clipboard (https://biokic4.rc.asu.edu/sandbox/dev/collections/map/index.php?undefined) but it doesn't lead to any data. Shouldn't it contain the SQL syntax of the search = when I paste it to a new browser window, I'd expect to get a map with those specimens in the "Results" tab. Right?

Yep, the link should definitely take you somewhere!

blankaaguero commented 7 months ago

Tab "Records" and tab "External Records" both: clicked first button "download the data": it opened a symbiota window for downloading backups, I left the default values, and in both cases got an error: Fatal error: Uncaught mysqli_sql_exception: Unknown column 'o.vitality' in 'field list' in /var/www/html/sandbox/dev/classes/DwcArchiverCore.php:1639 Stack trace: #0 /var/www/html/sandbox/dev/classes/DwcArchiverCore.php(1639): mysqli->query('SELECT DISTINCT...', 1) #1 /var/www/html/sandbox/dev/classes/DwcArchiverCore.php(842): DwcArchiverCore->writeOccurrenceFile() #2 /var/www/html/sandbox/dev/collections/download/downloadhandler.php(185): DwcArchiverCore->createDwcArchive() #3 {main} thrown in /var/www/html/sandbox/dev/classes/DwcArchiverCore.php on line 1639

blankaaguero commented 7 months ago

I clicked on the Home link in the upper right search box space, it opened Symbiota home page. I clicked Back arrow, and returned to the search window. It opened this view below, that was missing the second species search window. When I unselected the "Enable to cross portal search" and selected it again, the second species search window appeared. Clipboard01

themerekat commented 7 months ago

Tab "Records" and tab "External Records" both: clicked first button "download the data": it opened a symbiota window for downloading backups, I left the default values, and in both cases got an error: Fatal error: Uncaught mysqli_sql_exception: Unknown column 'o.vitality' in 'field list' in /var/www/html/sandbox/dev/classes/DwcArchiverCore.php:1639 Stack trace: #0 /var/www/html/sandbox/dev/classes/DwcArchiverCore.php(1639): mysqli->query('SELECT DISTINCT...', 1) #1 /var/www/html/sandbox/dev/classes/DwcArchiverCore.php(842): DwcArchiverCore->writeOccurrenceFile() #2 /var/www/html/sandbox/dev/collections/download/downloadhandler.php(185): DwcArchiverCore->createDwcArchive() #3 {main} thrown in /var/www/html/sandbox/dev/classes/DwcArchiverCore.php on line 1639

Hm, looks like a portal configuration problem, not a cross-portal searching tool problem. I'll touch base with the devs.

themerekat commented 7 months ago

I conducted a search of a Louisiana parish, Saint Tammany, with taxon null. It returned 5 records for the primary portal and 3 for the external portal. However, the map only shows 5 records when zoomed in. It shows 8 when zoomed out with clustering. I couldn’t see the details of all these records and am not sure if georeferencing effects results. Following this search further, I created a new search using only a shape delimitation and found over 500 records for the area. And, a third cross-portal search for “saint tammany” returned 49 records. Not sure what’s happening here. Screen Shot 2024-03-11 at 10 54 06 AM Screen Shot 2024-03-11 at 10 55 11 AM Screen Shot 2024-03-11 at 10 57 10 AM

I think the problem you are experiencing here is one of data standards: the portal preferred name for this parish is "St. Tammany" rather than "Saint Tammany"

themerekat commented 7 months ago

Summary of checkpoint meeting feedback: Things to change:

Remaining questions:

To Do:

themerekat commented 7 months ago

When you click the Reset button, it resets the search variables for the portal you are currently in, but not the search variables for the other portal you are searching in image

themerekat commented 7 months ago

Weird behavior when you cross-portal search and then revert back to single-portal search. Results will initially be the same as your cross-portal search (show external records table), but then you won't be able to navigate back to that table after navigating to your current portal's search results.

STHerbariumLSU commented 6 months ago

I'm having so much fun with the mapping! The colors are great in records tab. Can the Portal List and Collections List also default to "auto color"? - Aaah, probably ignore this....I think that they have to default to the plain colors so that the first display is the taxon name records.

STHerbariumLSU commented 6 months ago

When clicking on "see map point" in the records tab, can we zoom in more? If there are lots of points in the region, it's impossible to sort out the selected point. If we cannot zoom in more, maybe it can highlight somehow?

STHerbariumLSU commented 6 months ago

I'm finding that some of the mapped records have no taxon name. Is it possible to add a checkbox to the search criteria, such as "Limit to records with sci name". This would remove sci name = null and sci name = undetermined.

STHerbariumLSU commented 6 months ago

The Map Options have a few strange things...After a search is returned, if I unselect "turn off clustering", the records all disappear. There are similar issues with toggling between heat map that I'll discuss in the next comment....

STHerbariumLSU commented 6 months ago

In Map Options, selecting "heat map" displays both records and the heat map. If you toggle this field, subsequent maps are heat map only or record points only. It's nice to have all three options: both, heat map only, and point map only.

STHerbariumLSU commented 6 months ago

Not sure why the taxon names are parsed so much. It seems that the list should have only two families for all the penstemon species listed.

Screen Shot 2024-04-10 at 11 19 14 AM
STHerbariumLSU commented 6 months ago

Also not sure why the full sci name doesn't show up in the record details, when it's listed in the records list and comes up in the search correctly.

Screen Shot 2024-04-10 at 11 03 08 AM
themerekat commented 6 months ago

Not sure why the taxon names are parsed so much. It seems that the list should have only two families for all the penstemon species listed. Screen Shot 2024-04-10 at 11 19 14 AM

This is probably a problem with the data, not the tool

themerekat commented 6 months ago

When you conduct a cross-portal search, External Record results only show specific epithet

image

image

image

Might just be a problem with the test dataset / portal

themerekat commented 6 months ago

Not sure why the taxon names are parsed so much. It seems that the list should have only two families for all the penstemon species listed. Screen Shot 2024-04-10 at 11 19 14 AM

Problem: the families are separated per portal even if the families are the same across portals.

Possible solutions: Either combine the lists, or separate the lists by portal (clearly with headers)

themerekat commented 6 months ago

I'm finding that some of the mapped records have no taxon name. Is it possible to add a checkbox to the search criteria, such as "Limit to records with sci name". This would remove sci name = null and sci name = undetermined.

Talked about this. Potential enhancements.

themerekat commented 6 months ago

The Map Options have a few strange things...After a search is returned, if I unselect "turn off clustering", the records all disappear. There are similar issues with toggling between heat map that I'll discuss in the next comment....

Current functionality: Initial search: heatmap and points Toggle off: points ONLY Toggle on: heatmap ONLY