<div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Laurent,</div><div><br></div><div>The hierarchy is: Point references a SpaceSys which contains the SpaceFrame and the CoordSpace (both in composition).</div>Point<br> |-> SpaceSys<br> o-> SpaceFrame<br> o-> PhysicalCoordSpace{Cartesian/SphericalCoordSpace}</div><div><br></div><div>But that does not negate the question.</div> "However, taking into consideration that spatial coordinates is the most used thing in Astronomy, I'm wondering if it wouldn't be better to have one specific class for Cartesian points (refering to CartesianCoordSpace) and another for Spherical points (refering to SphericalCoordSpace)."</div><div dir="ltr"><br><div> * Earlier drafts of Coords (2018) had Frame-centric coords with standard spaces (CartesianCoord, LongLatCoord)..</div><div> * Due to feedback on this representation, they migrated in 2019 to specialized singular coordinates (X,Y,Z,Long,Lat,R, etc) which referred to axes of standard spaces, and were used in frame-centric Measures. Which is what went to the RFC phase.</div><div> * There, the frame-centric and space-centric Measures were generally disliked (GalacticPosition, CartesianPosition)</div><div> * The RFC actions called for replacing the specialized singular coordinates with a single Point Coordinate, and removing the specialized Measures, retaining only the single Position type containing a Point. The consequence of users having to interrogate the Position to determine the details of frame/space was considered acceptable.</div><div><br></div><div>Obviously there is a sweet spot there somewhere, but I doubt we can settle into it until we have more implementation experience with it. Adding a CartesianPoint and SphericalPoint which constrains the space is a simple update which can be done at any time.</div><div><br></div><div>Mark</div><div><br></div><div><br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 7, 2020 at 5:42 AM Laurent MICHEL <<a href="mailto:laurent.michel@astro.unistra.fr" target="_blank">laurent.michel@astro.unistra.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Dear DM<br>
<br>
I'm exercising with Coords with spatial coordinates.<br>
<br>
My understanding is as follow:<br>
==============================<br>
Spatial coordinates are represented by Point instances that, skipping <br>
the details, refers to a SpaceSys that refer to a SpaceFrame that refer <br>
to a PhysicalCoordSpace that is either a SphericalCoordSpace or a <br>
CartesianCoordSpace.<br>
<br>
Point<br>
|-> SpaceSys<br>
|-> SpaceFrame<br>
|-> PhysicalCoordSpace{Cartesian/SphericalCoordSpace}<br>
<br>
So a client that gets a Point instance will have to step down this <br>
cascade and to check the class of the associated PhysicalCoordSpace <br>
instance before to know whether this point is Cartesian or Spherical.<br>
<br>
Question:<br>
========<br>
This is consistent but not very practical. I understand that this model <br>
provides components for host models that will be designed in a way to <br>
avoid clients to do such inferences. This could be the case with the <br>
upgrade of Meas.<br>
However, taking into consideration that spatial coordinates is the most <br>
used thing in Astronomy, I'm wondering if it wouldn't be better to have <br>
one specific class for Cartesian points (refering to <br>
CartesianCoordSpace) and another for Spherical points (refering to <br>
SphericalCoordSpace).<br>
<br>
As a side effect this would allow to have one specific spherical <br>
CoordSpace for the celestial sphere (lat ,long, R=1).<br>
<br>
Laurent<br>
-- <br>
---- Laurent MICHEL Tel (33 0) 3 68 85 24 37<br>
Observatoire de Strasbourg Fax (33 0) 3 68 85 24 32<br>
11 Rue de l'Universite Mail <a href="mailto:laurent.michel@astro.unistra.fr" target="_blank">laurent.michel@astro.unistra.fr</a><br>
67000 Strasbourg (France) Web <a href="http://astro.u-strasbg.fr/~michel" rel="noreferrer" target="_blank">http://astro.u-strasbg.fr/~michel</a><br>
---<br>
</blockquote></div></div></div></div>