GeoTools / GeoServer Meeting 2015-11-03
Attending
---------
Ben Caradoc-Davies
Ian Turton
Andrea Aime
Jody Garnett
Torben Barsballe
Kevin Smith
Jukka Rahkonen
Jeff Brower
Brad Hards
Agenda
------
- CITE tests and build infrastructure
- Java 8
- Code sprints
- ImageProcessing (OpenCV, ImageJ, GeoAI)
Actions
-------
- Andrea whitelist winbuild instead of subscribing
- Jody: check CITE test problem with boundless IT
- Ben: call for volunteers to migrate master to Java 8 [DONE]
- Jody: for Victoria code sprint, reach out to BC government, vivid solutions, etc...
- Ben: make a wiki page for the Victoria code sprint [DONE]
- Andrea : fill wiki page for code sprint
Actions from last meeting
-------------------------
- Victoria Office: move master to reference artifactory directly
CITE tests and build infrastructure
-----------------------------------
See email! Apparently we all missed it.
Winbuild: failing, has not been notifying the list since August.
What do we need? 2.8.x and master are not getting tested!
- check ares to see if port ... trying to connect a service?
- startup starts jetty, then polls port until it gets a response, gets a 404 and dies
http://ares.boundlessgeo.com/jenkins/view/testing-cite/job/2.8-cite-wfs-1.0/33/consoleFull
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 404 NOT_FOUND</title>
</head>
- when did this start? October 21st ...
- funny - the 2.7.x branch actively starts and works?
- Check if each branch uses a different a port?
2.7.x polling port 11010
2.8.x polling port 11010
- Check version of Java used?
- action: check with boundless IT
Java 8
------
Waiting for CITE tests working - so this activity is blocked.
Agreed to move JDK and source+target for master.
Need a champion for this activity, recommend changing CITE, then online tests, then master. And organize response.
Action: call for volunteers.
Travis status:
- https://travis-ci.org/geotools/geotools (good)
- https://travis-ci.org/geoserver/geoserver (dunno)
Code Sprints
------------
There are two code sprints on the radar:
* Feb code sprint in Victoria
* France code sprint a week in Feb:
http://doodle.com/poll/ii5cu9et58vghkts
Approach:
1. make a wiki page (action: jody and ben)
http://wiki.osgeo.org/wiki/Victoria_Code_Sprint_2016
2. put the topic on the next board meeting (action: andrea)
http://wiki.osgeo.org/wiki/Board_Meeting_2015-11-12
Ideas for wiki page:
- Present as a maintenace activity, rather than a community build activity.
Sponsors ideas:
- OSGeo
- Credit GeoSolutions and Boundless for staff time
- Local: BC Government? vivid solutions, etc...
Concerns:
- concerned about cost (see sponsorship)
- time is close to code freeze? Could we do this mid January
- may be a bit of scramble to get sponorship in order
- action: Put January as primary date, mid Feb as fallback plan.
OpenCV Discussion
-----------------
Jeff Bower has a proposal sent out, Andrea has had a quick glance at the proposal.
Discussion:
- possible replacement for native JAI replacment? Ie implement JAI Operators we care about in terms of OpenCV (Scale, Translate, General Affine, Warp, Crop, Lookup) and then give the a higher priority so they are used if OpenCV plugin they are used.
- discussion focused on WMS optimization above, Jeff's customers may be using WPS for "image analyitics" - so they may be using WPS?!
- standard operations may be worse because of latency in calling JAI operations via an accelerator.
- concern about moving data on and off GPU? OpenCV can be configured to stay on CPU
- note: GIS procesing is not normal image processing - requires region of interest (similar to a mask), and 'no data' (some values should not be processed).
- OpenCV has some support for the above
ImageProcessing
---------------
To review - Java Advanced Imaging is "end of life" and we are looking at stratagies to replace.
JAI
- key feature is the tile based processing engine, you set up your processing chain (kind of like functional programming) and the engine will bring in raster data a chunk at a time allowing processing of files larger than memory.
- no_data and region of interest support has been added as additional operations via JAI-EXT for the processing engine.
Alternatives:
1. OpenCV (see above)
- http://opencv.org/
- BSD license, C/C++ codebase with bindings for Java
- Use OpenCL to share work with CPU/GPU
- Does it have the ability to work data larger then memory? Need to check ...
2. ImageJ
- had a look, seems to be comparable to JAI (ie it is an image processing engine)
- Eclipse Science Working Group is starting in on this one (and may have room for collaboration)
- Found the engine here: http://imagej.net/ImgLib2
- Could not see any support for working with raster data larger than memory. Has region of interest (ROI) support, not sure about no_data.
- At least one nD dimensional data format.
- has high level operators (feaure extractions etc...)
3. JAI Replacement
- Need a project name for JAI replacement, then start fund raising
- Interest from Boundless, GeoSolutions, LocationTech, H2Gis too
- would like work though OSGeo and LocationTech
- mostly focused on the technical requirements
- name? JAI-NG, GTAI, GeoAI, JSCIP (Java Scalable Image Processing) JAI-15, OpenJImaging, OpenJI? OpenJAI? JIOpen? GeoNee
- No use of JAI interfaces ... because Oracle
- "Java" is a trademark
- This is a *lot* of work, both in the project, and in migrating GeoTools and GeoServer.
- Q: How well does GeoTools protect downstream projects? Pretty good (except for direct rendering path and some WPS). Remaining code is hidden behind "image worker".
- Note: RenderedImage is a Java class, not PlanarImage which is the JAI subclass.
4. GeoTrellis
- requires data to be broken into tiles before use, making use of sparc to handle concurrent processing.
- Not sure about no_data and ROI support.
--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/>
New Zealand