ArctosDB / arctos

Arctos is a museum collections management system
https://arctos.database.museum
60 stars 13 forks source link

Locality Altitude #2271

Closed Jegelewicz closed 2 years ago

Jegelewicz commented 5 years ago

Just as we use depth for collections made under water or by digging through soil, collections may be made by capturing specimens while in flight or on a structure above the ground. A student project at UTEP is collecting bees from a rooftop garden and a courtyard adjacent to the building. In order to help distinguish these localities (which is important for their research question) I would like to be able to assign altitude to the rooftop garden rather than just increasing the elevation by the height of the building (the locations are technically at the same elevation and, given GPS error, practically the same coordinates).

I propose adding to Locality:

Min Altitude Max Altitude Altitude units

ewommack commented 5 years ago

Is this data that entomology collections usually collect? I've wished I could swipe swallows and falcons out of the air while in flight, but never managed it no matter how much I run around with nets. I don't think its a measurement that we would use a lot for vertebrate collections.

dustymc commented 5 years ago

while in flight

Sounds like altitude...

on a structure

... but I think that's just elevation - it's certainly mapped the same way on aeronautical charts anyway, and those are often used as "official" references.

help distinguish these localities

locality_name?

If you do have altitude (distance above elevation) you could use negative depth (also a reference to surface) and we could eventually talk about labels.

@tucotuco

tucotuco commented 5 years ago

The corresponding terms in Darwin Core are horrendously long, but avoid the betimes conflation between elevation and altitude. They are dwc:minimumDistanceAboveSurfaceInMeters and dwc:minimumDistanceAboveSurfaceInMeters. In the examples given by @Jegelewicz, the bottom of the building would be elevation, and the same for both locations. The distance above would be zero for the bottom of the building and positive for top of the building.

In Darwin Core, between depths, elevations, and distance above, you can cover a lot of different cases, including in a core sample at the bottom of a pond in a cave, and that kestrel @ewommack keeps missing with her net (keep trying, half the fun is in the adventure).

Jegelewicz commented 5 years ago

In the examples given by @Jegelewicz, the bottom of the building would be elevation, and the same for both locations. The distance above would be zero for the bottom of the building and positive for top of the building.

That's what I thought. So I should use negative depth as @dustymc suggests or do we need something that can correspond to "distance above" for it to work in DwC?

campmlc commented 5 years ago

Will anyone else ever be able to figure out what negative depth is? Not really useful if it isn't searchable. Height above surface?

On Mon, Sep 23, 2019 at 2:51 PM Teresa Mayfield-Meyer < notifications@github.com> wrote:

In the examples given by @Jegelewicz https://github.com/Jegelewicz, the bottom of the building would be elevation, and the same for both locations. The distance above would be zero for the bottom of the building and positive for top of the building.

That's what I thought. So I should use negative depth as @dustymc https://github.com/dustymc suggests or do we need something that can correspond to "distance above" for it to work in DwC?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ArctosDB/arctos/issues/2271?email_source=notifications&email_token=ADQ7JBGDY7B557WU3KD64ADQLET6RA5CNFSM4IY3CMU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7MHJ3A#issuecomment-534279404, or mute the thread https://github.com/notifications/unsubscribe-auth/ADQ7JBB3DOWWMYB65Q5SW6TQLET6RANCNFSM4IY3CMUQ .

dustymc commented 5 years ago

DwC

That's just a mapping.

searchable

This seems to be ~2 localities for one user. I think a little temporary duct tape is justifiable in that situation.

Height above surface?

Which surface? If we're going to get all fancy here, we should probably talk about references and vertical datum and such.

Or maybe we could go the other way, shove all of this into some very general data model (https://github.com/ArctosDB/data-migration/issues/75), and just deal with pure 3D shapes as "core localities."

Jegelewicz commented 5 years ago
Height above surface?

Which surface? If we're going to get all fancy here, we should probably talk about references and vertical datum and such.

John answered that one...

In Darwin Core, between depths, elevations, and distance above, you can cover a lot of different cases, including in a core sample at the bottom of a pond in a cave, and that kestrel @ewommack keeps missing with her net (keep trying, half the fun is in the adventure).

This seems to be ~2 localities for one user. I think a little temporary duct tape is justifiable in that situation.

In my case, this absolutely represents two localities because the roof garden and the ground-level garden may (or may not) be visited by a different assemblage of insects. Distinguishing which specimens came from which location is very important (and I could see this scenario popping up a lot as urban gardening/green roof installation increases). We already have depth - I don't understand the opposition to "height above surface".

dustymc commented 5 years ago

I have no particular opposition to 'height,' just some concerns and confusion.

I completely agree that you have two THINGS. I'm less certain that we have to rigorously define them to "Distinguish[] which specimens came from which location."

I'm not quite seeing how to use DWC terms to precisely define "core sample at the bottom of a pond in a cave." Depth is in relation to "the local surface" and min/maxDistanceAboveSurfaceInMeters references from depth. The pond surface may go up and down drastically over time. I can't quite piece those things together into a GIS shape in my head.

Recording the elevation (we have this) of something specific (we don't have this) and a pair of 'distance from' values (depth, but possibly with different labels) seems like a much more rigorous model.

campmlc commented 5 years ago

We could do height above ground . . . which specifies a reference point. This changes with topography, and cannot be obtained from elevation or other external sources.

On Tue, Sep 24, 2019 at 12:06 PM Teresa Mayfield-Meyer < notifications@github.com> wrote:

Height above surface?

Which surface? If we're going to get all fancy here, we should probably talk about references and vertical datum and such.

John answered that one...

In Darwin Core, between depths, elevations, and distance above, you can cover a lot of different cases, including in a core sample at the bottom of a pond in a cave, and that kestrel @ewommack https://github.com/ewommack keeps missing with her net (keep trying, half the fun is in the adventure).

This seems to be ~2 localities for one user. I think a little temporary duct tape is justifiable in that situation.

In my case, this absolutely represents two localities because the roof garden and the ground-level garden may (or may not) be visited by a different assemblage of insects. Distinguishing which specimens came from which location is very important (and I could see this scenario popping up a lot as urban gardening/green roof installation increases). We already have depth - I don't understand the opposition to "height above surface".

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ArctosDB/arctos/issues/2271?email_source=notifications&email_token=ADQ7JBAGFKZVJRSBG2L35ULQLJJIRA5CNFSM4IY3CMU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7PI4BA#issuecomment-534679044, or mute the thread https://github.com/notifications/unsubscribe-auth/ADQ7JBAB7DKWZDBXJS4IOUTQLJJIRANCNFSM4IY3CMUQ .

dustymc commented 5 years ago

height above ground . . . which specifies a reference point.

That's precisely the inverse of depth, no? So negative depth (and better labels) seems like a defensible model.

http://rs.tdwg.org/dwc/terms/#dwc:minimumDepthInMeters

The lesser depth of a range of depth below the local surface, in meters.

Depth (in any direction) is not really "GIS-able" - as you mention there's no necessary correlation to height above anything static - but maybe that's a problem for another day.

AJLinn commented 5 years ago

@sjshirar any input into this discussion re: the way archaeologists use this for excavations, core samples, etc?

tucotuco commented 5 years ago

Sneak peek from the glossary of the new version of the Georeferencing Best Practices Guide:

altitude — a measurement of the vertical distance above a vertical datum, usually mean sea level (or geoid). For points on the surface of the earth, altitude is synonymous with elevation.

coordinates — a set of values that define a position within a coordinate system. Coordinates are used to represent locations in space relative to other locations.

coordinate system — a geometric system that defines the nature and relationship of the coordinates it uses to uniquely define positions. Examples include the geographic coordinate system and the UTM coordinate system.

depth — a measurement of the vertical distance below a vertical datum. In this document, we try to modify the term to signify the medium in which the measurement is made. Thus, "water depth" is vertical distance below an air-water interface in a waterbody (ocean, lake, river, sinkhole, etc.). Compare with distance from surface. Depth is always a non-negative number.

distance from surface — in addition to elevation and depth, a measurement of the vertical distance above a reference point, with a minimum and a maximum distance to cover a range. For surface terrestrial locations, the reference point should be the elevation at ground level. Over a body of water (ocean, sea, lake, river, glacier, etc.), the reference point for aerial locations should be the elevation of the air-water interface, while the reference point for sub-surface benthic locations should be the interface between the water and the substrate. Locations within a water body should use depth rather than distance from surface. Distances above a reference point should be expressed as positive numbers, while those below should be negative. The maximum distance above a surface will always be a number greater than or equal to the minimum distance above the surface. Since distances below a surface are negative numbers, the maximum distance will always be a number less than or equal to the minimum distance. Compare with altitude.

elevation — a measurement of the vertical distance of a land or water surface above a vertical datum. On maps, the reference datum is generally some interpretation of mean sea level or the geoid, while in devices using GPS, the reference datum is the ellipsoid of the geodetic datum to which the GPS is configured, through the device may make corrections to report the elevation above mean sea level. Elevations that are above a reference point should be expressed as positive numbers, while those below should be negative. Compare with depth, distance from surface, and altitude.

ellipsoid — a three-dimensional, closed geometric shape, all planar sections of which are ellipses or circles. An ellipsoid has three independent axes. If an ellipsoid is made by rotating an ellipse about one of its axes, then two axes of the ellipsoid are the same, and it is called an ellipsoid of revolution. When used to represent a model of the earth, the ellipsoid is an oblate ellipsoid of revolution made by rotating an ellipse about its minor axis.

geodetic datum — a mathematical model that uses a reference ellipsoid to describe the size and shape of the surface of the earth and adds to it the information needed for the origin and orientation of coordinate systems on that surface.

geographic coordinates — a measurement of a location on the earth's surface expressed as latitude and longitude.

geographic coordinate system — a coordinate system that uses geographic coordinates.

geoid — a global equipotential surface that approximates mean sea level. This surface is everywhere perpendicular to the force of gravity (Loweth 1997).

latitude — the angular distance of a point north or south of the equator.

longitude — the angular distance of a point east or west of a prime meridian at a given latitude.

mean sea level (MSL) — a vertical datum from which heights such as elevation are usually measured. Mean sea levels were traditionally determined locally by measuring the midpoint between a mean low and mean high tide at a particular location averaged over a 19-year period covering a complete tidal cycle. More recently mean sea level is best described by a geoid.

prime meridian — the set of locations with longitude designated as 0 degrees east and west, to which all other longitudes are referenced. The Greenwich meridian is internationally recognized as the prime meridian for many popular and official purposes.

vertical datum — (also height datum) is a reference surface for vertical positions, such elevation. Vertical datums fall into several categories, including: tidal, based on sea level; gravimetric, based on a geoid; geodetic, based on ellipsoid models of the Earth; or local, based on a local reference surface.

dustymc commented 5 years ago

Thanks!

I guess I more or less see why I might use distance from and depth (diving in a cenote or something), but I still can't tell how I'd know what anyone else has done or usefully search. If I know those and the reference elevation of something I can turn it into a shape; we may need to distinguish "elevation of stuff referenced in other measurements" and "elevation, which might be derived from other stuff, that we could feed to GIS."

I don't think your definition of altitude is quite correct. (Or it ultimately is, but potentially not very useful.)

So the big question, I think, is who cares? Do we need to be able to turn fairly complicated things into absolute places, or is just reporting whatever random number someone scribbled on a dead rat close enough?

https://github.com/ArctosDB/arctos/issues/2274

Jegelewicz commented 5 years ago

I don't think we want to use 3D objects as localities (do we?)

who cares? Do we need to be able to turn fairly complicated things into absolute places

Yes. While your vision of locality is a point or polygon on the surface of the Earth. The rest of the stuff is important and any additional information should create a separate locality, even if the "georeference" is the same. This is how a paleontologist could distinguish the location of the bone they found in a geologic stratum from the location of the bee that someone collects 50 years later on the garden rooftop of a 20 story building that now covers the paleontologist's dig site. And keeps the bee out of "Jurassic".

Many of the definitions that John supplied make for excellent locality attributes! Already defined too!!!

My take.

These should be the central "locality" (for mapping):

coordinate system — a geometric system that defines the nature and relationship of the coordinates it uses to uniquely define positions. Examples include the geographic coordinate system and the UTM coordinate system.

geodetic datum — a mathematical model that uses a reference ellipsoid to describe the size and shape of the surface of the earth and adds to it the information needed for the origin and orientation of coordinate systems on that surface.

latitude — the angular distance of a point north or south of the equator.

longitude — the angular distance of a point east or west of a prime meridian at a given latitude.

I'll add Coordinate error and units to this list...

And these would make some excellent attributes (along with geology):

depth — a measurement of the vertical distance below a vertical datum. In this document, we try to modify the term to signify the medium in which the measurement is made. Thus, "water depth" is vertical distance below an air-water interface in a waterbody (ocean, lake, river, sinkhole, etc.). Compare with distance from surface. Depth is always a non-negative number.

distance from surface — in addition to elevation and depth, a measurement of the vertical distance above a reference point, with a minimum and a maximum distance to cover a range. For surface terrestrial locations, the reference point should be the elevation at ground level. Over a body of water (ocean, sea, lake, river, glacier, etc.), the reference point for aerial locations should be the elevation of the air-water interface, while the reference point for sub-surface benthic locations should be the interface between the water and the substrate. Locations within a water body should use depth rather than distance from surface. Distances above a reference point should be expressed as positive numbers, while those below should be negative. The maximum distance above a surface will always be a number greater than or equal to the minimum distance above the surface. Since distances below a surface are negative numbers, the maximum distance will always be a number less than or equal to the minimum distance. Compare with altitude.

elevation — a measurement of the vertical distance of a land or water surface above a vertical datum. On maps, the reference datum is generally some interpretation of mean sea level or the geoid, while in devices using GPS, the reference datum is the ellipsoid of the geodetic datum to which the GPS is configured, through the device may make corrections to report the elevation above mean sea level. Elevations that are above a reference point should be expressed as positive numbers, while those below should be negative. Compare with depth, distance from surface, and altitude.

Each of the above should also supply: vertical datum — (also height datum) is a reference surface for vertical positions, such elevation. Vertical datums fall into several categories, including: tidal, based on sea level; gravimetric, based on a geoid; geodetic, based on ellipsoid models of the Earth; or local, based on a local reference surface.

dustymc commented 5 years ago

additional information should create a separate locality, even if the "georeference" is the same

I think this is the fundamental question - are localities facts, specimen metadata, complex objects which have specimens-n-stuff as metadata, or some super-weird place in between (where we are now)? My comments are more or less always based on trying to model data so it'll do the things users (primarily operators) say they want to do; things like merging duplicates, or finding specimens from a county even when there's no county data given in geography.

If two different localities look the same, it's usually due to a lack of precision (which comes from both not being given information, and not doing useful things with what we are given). The precision required to differentiate localities separated by 20 vertical stories has been available longer than the technology to build 20-story buildings! A bee can only be attributed to Jurassic if someone's explicitly added those data.

I think locality attributes potentially let us get at all of that; anything from clean spatial facts to treating localities as primary data should be available. I think the only "user cost" is in understanding the implications of using attributes; it would be real easy to paint yourself into a corner from which things like merging should-be-duplicates becomes impossible. Even then, this sets us up to do more with spatial data and less with strings, so I think users would have more success finding what they want even if it is spread across many spatially-identical localities. (There are also computational costs to such a model, but I think we can easily pay those.)

Given attributes as a close-linked place for verbatim I'd standardize coordinate system (including datum) and units in the "core" model. That would be a huge simplification which makes everything more accessible to everyone, and I can see no reason not to.

Storing data as shapes would let us guarantee the data are typed usefully, and allow leveraging other shapes; we might immediately catch that squirrel hovering 500 feet over the ground (and maybe fix the conversion/transcription/whatever error that put it there). Storing strings would require us to develop our own "datatypes" (https://github.com/ArctosDB/arctos/issues/1989 is one example of getting that wrong) and convert on demand (if we got the model right). I don't think a user would much be able to tell from the UI. Probably all fantasy for the immediate future, but I think it's a possibility worth keeping in mind.

dustymc commented 2 years ago

Not sure where to go from here....