You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sis.apache.org by Martin Desruisseaux <ma...@geomatys.com> on 2016/06/11 00:52:42 UTC

OpenOffice addins for Calc

Hello all

As mentioned during the ApacheCon in Vancouver, an addin exists that
allow to use some Apache SIS referencing services from Apache OpenOffice
spreadsheet (Calc). A first working version has been ported to the JDK8
branch in the "application/sis-openoffice" directory. This would be
offered as an alternative to "application/sis-console" for experimenting
some SIS functionalities without writing Java code. The addins add new
formulas that can be used in Calc cells. For example (formula names to
be revisited):

  * =TRANSFORM.CONVERT("EPSG:4326", "EPSG:3395", A2:B4) converts the
    coordinates in cell ranges A2:B4 from "WGS84" to "World Mercator".
  * =TRANSFORM.ACCURACY("EPSG:4326", "EPSG:3395", A2:B4) gives an
    accuracy estimation (in metres) of above transformation.
  * =GEOGRAPHIC.AREA("EPSG:3395") gives the bounding box in which "World
    Mercator" projection is valid.

The full list of functions is available in this XML file:

http://svn.apache.org/repos/asf/sis/branches/JDK8/application/sis-openoffice/src/main/unopkg/Referencing.xcu

This is just a first draft of proposed features - anything in this file
can change according feedbacks received on this mailing list. For
example I expect some function names to change (e.g. maybe rename
"CRS.AXIS" as "AXIS.NAME" - not sure yet).

Those we want to try can do the following steps:

 1. Execute "mvn install" at the root of JDK8 branch of Apache SIS project.
 2. If the sis-openoffice module has not been built (at the time of
    writing this email, it is not yet part of the multi-module build),
    go to "application/sis-openoffice" directory and execute "mvn
    install" again.
 3. If the build is successful, the "application/sis-openoffice/target"
    directory should contain an "apache-sis-0.8-jdk8-SNAPSHOT.oxt" file.
    File size is currently about 730 kb.
 4. Optional but strongly recommended: ensure that the SIS_DATA
    environment variable point to directory containing SIS data, in
    particular the EPSG geodetic dataset. For example if
    the"sis-console" application [1] as been executed, then we can do
    "export SIS_DATA=<console application directory>/data". This is
    unconvenient, but automatic installation of EPSG dataset from
    OpenOffice will be explored later. The current plan is to use the
    OpenOffice database manager [2] rather than embedding a database
    driver in the addin.
 5. Start Calc from the command line (not by clicking on the icon on the
    desktop) in order to have to keep the SIS_DATA value set in
    OpenOffice environment: "<open office installation
    directory>/program/scalc". MacOS users needs to replace "program" by
    "MacOS".
 6. In the "tools" menu, select "Extensions manager". Click on "Add" and
    browse to the "application/sis-openoffice/target" directory. Select
    "apache-sis-0.8-jdk8-SNAPSHOT.oxt".
 7. In any cell, enter =CRS.NOM("EPSG:4326") on French environment or
    =CRS.NAME("EPSG:4326") on any other language environment. If
    everything worked well, the "WGS 84" value should appear in the cell.
 8. The above "EPSG:4326" and a few other special values are guaranteed
    to work even without EPSG dataset. To test if the EPSG geodetic
    dataset is really used try =CRS.NAME("EPSG:3395"). The "World
    Mercator / WGS84" should appear in the cell.

If steps 4 and 5 are skipped, the addins will still work. But its
usefulness regarding coordinate transformations will be restricted. As a
reminder, the list of EPSG codes is at [3]. I will try to make the
installation process easier and write a better user guide later this summer.

Note: in every function argument expecting an EPSG code, it is possible
to specify instead a local path or a URL to file containing a WKT
(version 1 or 2) or GML definition of a CRS.

With the work on coverages (rasters) beginning this summer, a future
improvement for this addin may be an "=COVERAGE.EVALUATE(raster,
sampleDimension, coordinate, crs)" function. This is not scalable to a
large amount of values - OpenOffice Calc is not a database -, but can be
quite convenient when analysing relatively small (a few thousands)
amount of points.

    Martin


[1] http://sis.apache.org/command-line.html
[2]
http://www.openoffice.org/api/docs/common/ref/com/sun/star/sdb/DatabaseContext.html
[3] http://sis.apache.org/tables/CoordinateReferenceSystems.html