-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Standard names: Point clouds, DEMs and DTMs #239
Comments
Thank you for your proposal. These terms will be added to the cfeditor (http://cfeditor.ceda.ac.uk/proposals/1) shortly. Your proposal will then be reviewed and commented on by the community and Standard Names moderator. |
Dear Luke @lhmarsden It is certainly CF-compliant to store a field of data at scattered points, as you suggest. Your I don't think quantities at points need special standard names. They are the same quantities as in continuous geophysical fields, but sampled discretely. However, most of your quantities probably do need standard names. The first one can use the existing standard name of Best wishes Jonathan |
Thanks for your reply, Jonathan.
Yes, I think the discrete axis section is relevant here, and I agree that most of the variables don't need special standard names.
I was not sure about whether altitude was appropriate in this case or not. I was envisioning a scenario where we just have lat, lon and altitude. For example, a DEM. If we use the standard name altitude, is it clear that this is the altitude at the surface, or just some altitude at which measurements are taken? Maybe I am being pedantic here...
Luke
…________________________________
From: JonathanGregory ***@***.***>
Sent: Tuesday, November 19, 2024 2:28:02 pm
To: cf-convention/vocabularies ***@***.***>
Cc: Luke Marsden ***@***.***>; Mention ***@***.***>
Subject: Re: [cf-convention/vocabularies] Standard names: Point clouds, DEMs and DTMs (Issue #239)
Dear Luke @lhmarsden<https://github.com/lhmarsden>
It is certainly CF-compliant to store a field of data at scattered points, as you suggest. Your point dimension and coordinate variable are a "discrete axis" (section 4.5<https://cfconventions.org/cf-conventions/cf-conventions.html#discrete-axis>). In addition, you can designate this arrangement with the attribute featureType="point" (sect 9.1<https://cfconventions.org/cf-conventions/cf-conventions.html#_features_and_feature_types>, examples in appendix H1<https://cfconventions.org/cf-conventions/cf-conventions.html#point-data>). Is this what you mean?
I don't think quantities at points need special standard names. They are the same quantities as in continuous geophysical fields, but sampled discretely. However, most of your quantities probably do need standard names. The first one can use the existing standard name of altitude, which means height above geoid.
Best wishes
Jonathan
—
Reply to this email directly, view it on GitHub<#239 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOMNBFKFYT3SFGY6J6UTTLD2BM4F3AVCNFSM6AAAAABSBQZJ4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBVG4YTIMBXHA>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Sorry, yes. There is a standard name of surface_altitude too, which is presumably the right one?
|
This is close. Maybe this is okay. Maybe I am being pedantic. The definition is
If the point cloud is of a bridge, and includes the underside of the bridge, can that be considered the lower boundary of the atmosphere? What is the protocol around adjusting definitions for existing standard names? The name itself does seem suitable, and it feels unnecessary to add a new name for this. 'The surface called "surface" ' seems to be a bit clumsy wording to me. Perhaps a more suitable definition would be
Luke |
is
Calling it a coordinate makes me think it's well, the 3rd coordinate of the point. If the latter, then I think the properties should have:
And that makes this different than a DEM, which, IIUC, defines a surface, such that each location in the 2D, X-Y (lat-lon) space has a single elevation value. I think a point cloud can have more than. one point at the same horizontal location -- i.e. on on top of the other. Does this have any bearing on the standard name? I"m not sure it does, but we should make sure the examples are clear. |
I think this is a 3rd coordinate of a point. You are correct, I should update the For a point cloud, this is just the location of a point in space, all three dimensions. |
Dear Luke @lhmarsden I understand a digital elevation model to be a 2D field of For a collection of 3D points, which aren't necessarily on the surface, the data variables are dimensioned For a collection of 2D points which are all on the surface, I suppose the data variable of altitude, dimensioned Best wishes Jonathan |
Hi @JonathanGregory, thanks and I agree with all of that. I think I can proceed with Now for the other data variables :) |
Dear Luke Your next three quantities, For the following three, we could also follow a similar pattern, such as [ What are your views? Best wishes Jonathan |
They both sound like good suggestions, I agree! |
Dear Luke Finally, there are the colours! I'm not sure what geophysical quantities these are, though. You say "emitted from a point". That sounds like a radiant object. If it was the colour of the surface, it would be reflected light. Where is the electromagnetic radiation coming from? I suppose that if incident radiation is expressed as RGB, each channel must physically be a quantity in W m-2 integrated over some frequency range, perhaps convolved with a weighting function for the characteristics of the instrument measuring the radiation. The units of each channel are some multiple of W m-2. However, you are thinking of an image produced by the instrument, I guess. Does it tell you the maximum power it can measure in each channel, or alternatively the minimum it can measure (represented by 1 in 8- or 16-bit images)? Best wishes Jonathan |
I am working on a data flow for storing data in point clouds in CF-NetCDF files. A point cloud is a collection of data points in a three-dimensional space, typically representing the surface of an object or environment, where each point contains spatial coordinates and may include additional attributes such as colour, normals, or intensity. The data I am working on are mostly focused on natural features (valleys, glaciers etc). However, a point clouds can be used to map the surface of man-made objects too. A point cloud could equally include both - a valley may include buildings for example.
I think CF-NetCDF is a suitable format for this type of data; existing commonly-used formats are not FAIR compliant, as far as I am aware. DEMs and DTMs could be stored in the same way, with the
featureType
beingpoint
.Here is how I envisage the file might look, with a few data variables added as an example:
Example
However, I am missing a few standard names.
Points and directions
point_elevation_above_geoid
Definition:
A point is a single spatial measurement on an object's surface as measured in a point cloud or digital terrain model. elevation_above_geoid is the (geometric) height above the geoid, which is the reference geopotential surface. The geoid is similar to mean sea level.
Canonical units: m
sensor_to_point_direction_x_component
Definition:
X-component of the vector describing the direction from the sensor to a point of interest, relative to the sensor. "x" indicates a vector component along the grid x-axis, positive with increasing x.
Canonical units: 1 (dimensionless)
sensor_to_point_direction_y_component
Definition:
Y-component of the vector describing the direction from the sensor to a point of interest, relative to the sensor. "y" indicates a vector component along the grid y-axis, positive with increasing y.
Canonical units: 1 (dimensionless)
sensor_to_point_direction_z_component
Definition:
Z-component of the vector describing the direction from the sensor to a point of interest, relative to the sensor. "z" indicates a vector component along the grid z-axis, positive with increasing z.
Canonical units: 1 (dimensionless)
surface_normal_vector_x_component
Definition:
The X-component of the surface normal vector at a specified location, indicating the orientation of the surface at that point. "x" indicates a vector component along the grid x-axis, positive with increasing x.
Canonical units: 1 (dimensionless)
surface_normal_vector_y_component
Definition:
The Y-component of the surface normal vector at a specified location, indicating the orientation of the surface at that point. "y" indicates a vector component along the grid y-axis, positive with increasing y.
Canonical units: 1 (dimensionless)
surface_normal_vector_z_component
Definition:
The Z-component of the surface normal vector at a specified location, indicating the orientation of the surface at that point. "z" indicates a vector component along the grid z-axis, positive with increasing y.
Canonical units: 1 (dimensionless)
Red, green and blue
Normalised RGB values can be on different scales, with different valid ranges:
0 represents no intensity (black).
1 represents full intensity of that channel.
Each channel can represent 256 levels of intensity.
Each channel can represent 65,536 levels of intensity.
I am unsure how to deal with this. Perhaps the user should be required to include
valid_min
andvalid_max
variables attributes? Or should CF specify which range the user should use? It is not obvious to me which range is best.The wavelength that red, green and blue refer to can vary between different applications, and depends on the context. For the sake of interoperability, the wavelength referred to should be stated. I am not sure what is the best approach here. Perhaps a variable attribute? This is usually only used for quick preview purposes as far as I am aware, so maybe this isn't an issue. In my example I give the intensity of each band as a 2D variable, so one could compute their own RGB values if they wanted to. However, I think it is useful to include both.
normalised_red_wavelength_intensity_of_point
Definition:
Intensity of electromagnetic radiation in the red wavelength band reflected or emitted from a point. Values are scaled relative to a reference intensity or maximum possible value. red corresponds to the red component of the RGB colour model.
Canonical units: 1
normalised_green_wavelength_intensity_of_point
Definition:
Intensity of electromagnetic radiation in the green wavelength band reflected or emitted from a point. Values are scaled relative to a reference intensity or maximum possible value. red corresponds to the green component of the RGB colour model.
Canonical units: 1
normalised_blue_wavelength_intensity_of_point
Definition:
Intensity of electromagnetic radiation in the blue wavelength band reflected or emitted from a point. Values are scaled relative to a reference intensity or maximum possible value. red corresponds to the blue component of the RGB colour model.
Canonical units: 1
The text was updated successfully, but these errors were encountered: