That's great!

Gust restarted with my playground project again.
Intil now I have GeoTK involved to define a couple of hardcoded local CRSs 
(mainly DHDN <-> WGS84).
So I hope this may be realized based on SIS, soon.

Since I heavily used Java8 already, I like to use 0.6-jdk8-SNAPSHOT, too.
Unfortunately I got a tiny mismatch with my current geotoolkit version:

org.apache.sis.internal.util. getIdentifier() got an additional Boolean 
parameter :-(

Do I need a special geotoolkit version to get this combination run?

(Let me know, if I should turn over to the geotoolkit mailing list with this 
problem  instead)

Dieter

-----Ursprüngliche Nachricht-----
Von: Martin Desruisseaux [mailto:[email protected]] 
Gesendet: Mittwoch, 18. März 2015 00:27
An: Apache SIS
Betreff: Starting the port the "core" of map projection engine

Hello all

The framework for handling parameters is about complete. The reason why we need 
such framework can be seen partially by looking at the parameters of the 
Mercator projection for example:

http://svn.apache.org/repos/asf/sis/trunk/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Mercator1SP.java
(scroll down to the static initializer)

We have different names defined by different authorities (EPSG, OGC, GeoTIFF, 
Proj.4, NetCDF, ESRI and MapInfo) for the same parameters, we have some 
deprecated names which are replaced by new ones but still in use (e.g. 
"Mercator (1SP)" renamed as "Mercator (variant A)"), numerical codes to be 
needed later for finding information in the database, and other issues not show 
in this "Mercator1SP.java" example.

I'm now starting to port the code which will perform the actual map projection 
calculations. One particularity of the implementing to come is that we separate 
map projections in three steps:

* A linear normalize transform
* The non-linear kernel
* A linear denormalize transform

So all linear terms of the map projections will be extracted in the 
normalize/denormalize transforms, leaving only the non-linear core in the 
middle. We can see this separation in the "NonLinearParameters"
class committed today. This separation makes easier to compute derivatives (a 
distinct SIS feature) and to combine transforms more efficiently. For example 
it is very common to have a conversion from "radians to degrees" followed by 
"degrees to radians". Isolating the linear parts of map projections make easier 
to detect that those conversions cancel each others.

A discussion can be found there (please let me know if you have any idea about 
how to make it clearer):

https://builds.apache.org/job/sis-dev/javadoc/org/apache/sis/referencing/operation/projection/package-summary.html

    Martin

Reply via email to