>I don't see a way around the cost of moving to a geographic "pivot"
>spatial reference system while preserving a single-interface API
>simplicity. That is something I would really love to see. To me the
>wasted CPU cycles are less evil than an API where the client code
>needs to determine a chain of transformations.
>  
>
Hi, may be the misunderstanding is you speak about the client code and I 
think about the developper's code (I'm not sure what you mean by client 
code).
I agree the public api should be as simple as 
createCoordinateOperation(from, to)
I just tried to hint at some of the stuff which has to take place behind 
the scene and which will need a little more than tranform from 
projection to lat/lon and from lat/lon to another projection.
I'm also convinced one can keep things quite simple, otherwise, I would 
have adopted geotools since a while :-)

Michael

>I will try to fall back to my other analogy again:
>
>If you were designing a currency transformation interface you would
>sometimes (maybe often) deal with transformations between currencies
>with a lot of similarities. For example, maybe the two currencies deal
>only with a single "unit" of currency and fractional portions of that
>single unit. Like the US dollar and US cents. It would be very easy to
>convert from that currency to another currency with a single "unit" of
>currency and fractional portions of that single unit. But you might
>decide to do some "wasted" steps in that transformation to have a
>single interface that also supports more complex currency conversions.
>
>Does that analogy really stink? Maybe I need to try thinking of another one...
>
>SS
>
>On 9/10/07, Paul Austin <[EMAIL PROTECTED]> wrote:
>  
>
>>Michael,
>>
>>I agree with all you said. I guess my statement there was regarding a
>>particular type of CoordinateOperation.
>>
>>Paul
>>
>>Michaël Michaud wrote:
>>    
>>
>>>Paul Austin a écrit :
>>>
>>>
>>>      
>>>
>>>>Landon,
>>>>
>>>>Agreed each CoordinateOperation class should only know how to go in
>>>>either the direction Geographics->ProjectedSystem or
>>>>ProjectedSystem->Geographics. It should not need to know about any other
>>>>systems.
>>>>
>>>>
>>>>
>>>>        
>>>>
>>>Coordinate operations are not just Geographics->Projected and
>>>Projected->Geographics. This is only the projection part (first and last
>>>operation of Stefan's transformation chain).
>>>Many operations involve a datum change. When you go from a local datum
>>>to wgs84 for example, you must consider that the new coordinate system
>>>has another origin, another orientation, and the ellipsoid you will use
>>>to calculate lon and lat has another shape ! This transformation has no
>>>common point with a projection, but most people do not differentiate
>>>both operations.
>>>If you want to apply the pivot principle, you have to say : each
>>>CoordinateReferenceSystem has to know how to go from  and to Geocentric
>>>WGS84, but again, it may be much calculations for cases where only one
>>>local datum is involved.
>>>
>>>Michael
>>>
>>>
>>>      
>>>
>>>>Paul
>>>>
>>>>Sunburned Surveyor wrote:
>>>>
>>>>
>>>>
>>>>        
>>>>
>>>>>Paul wrote: "My vision for end user code.
>>>>>
>>>>>JtsTransform transform =
>>>>>JtsTransformFactory.createCoordinateConversion(3005, 26910);"
>>>>>
>>>>>I like it!
>>>>>
>>>>>My concerns are about how the layer underneath this works. I think a
>>>>>system where the steps necessary for the transformation are left to
>>>>>the implementer of a projection and not the code provided with the "to
>>>>>and from" spatial reference systems is the best.
>>>>>
>>>>>Here is another way of saying it: In an ideal system the code
>>>>>performing the actual transformation should have no idea of what the
>>>>>eventual destination spatial reference system is. It should only need
>>>>>to know how to get a coordinate from itself to the pivot spatial
>>>>>reference system.
>>>>>
>>>>>SS
>>>>>
>>>>>On 9/10/07, Paul Austin <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>>>Landon,
>>>>>>
>>>>>>My vision for end user code.
>>>>>>
>>>>>>JtsTransform transform =
>>>>>>JtsTransformFactory.createCoordinateConversion(3005, 26910);
>>>>>>
>>>>>>Paul
>>>>>>
>>>>>>-------------------------------------------------------------------------
>>>>>>This SF.net email is sponsored by: Microsoft
>>>>>>Defy all challenges. Microsoft(R) Visual Studio 2005.
>>>>>>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>>>>>_______________________________________________
>>>>>>Jump-pilot-devel mailing list
>>>>>>Jump-pilot-devel@lists.sourceforge.net
>>>>>>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>            
>>>>>>
>>>>>-------------------------------------------------------------------------
>>>>>This SF.net email is sponsored by: Microsoft
>>>>>Defy all challenges. Microsoft(R) Visual Studio 2005.
>>>>>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>>>>_______________________________________________
>>>>>Jump-pilot-devel mailing list
>>>>>Jump-pilot-devel@lists.sourceforge.net
>>>>>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>-------------------------------------------------------------------------
>>>>This SF.net email is sponsored by: Microsoft
>>>>Defy all challenges. Microsoft(R) Visual Studio 2005.
>>>>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>>>_______________________________________________
>>>>Jump-pilot-devel mailing list
>>>>Jump-pilot-devel@lists.sourceforge.net
>>>>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>        
>>>>
>>>-------------------------------------------------------------------------
>>>This SF.net email is sponsored by: Microsoft
>>>Defy all challenges. Microsoft(R) Visual Studio 2005.
>>>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>>_______________________________________________
>>>Jump-pilot-devel mailing list
>>>Jump-pilot-devel@lists.sourceforge.net
>>>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>>      
>>>
>>
>>-------------------------------------------------------------------------
>>This SF.net email is sponsored by: Microsoft
>>Defy all challenges. Microsoft(R) Visual Studio 2005.
>>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>_______________________________________________
>>Jump-pilot-devel mailing list
>>Jump-pilot-devel@lists.sourceforge.net
>>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
>>    
>>
>
>-------------------------------------------------------------------------
>This SF.net email is sponsored by: Microsoft
>Defy all challenges. Microsoft(R) Visual Studio 2005.
>http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>_______________________________________________
>Jump-pilot-devel mailing list
>Jump-pilot-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>
>  
>


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to