Pages

Showing posts with label geotools. Show all posts
Showing posts with label geotools. Show all posts

Thursday, 1 November 2018

FOSS4G 2018

Finally had a time to upload slides, photos, and thoughts! What an event!

FOSS4G in Photos and Stories

There was an army of photographers and video coverage at the event, so I only went around with my camera a couple of times. That said there were some wonderful moments to capture and share.

Flicker:

All the wonderful people!

In keeping with conference theme of leave no-one behind the highlight of the event for me was going around the main auditorium asking and taking photos of so many wonderful beautiful people. Everyone was tired, cheerful, and overflowing with ideas and inspiration.





Social and Sol Katz Award

Speaking of beautiful and inspirational people - Astrid Emde was recognized by her peers with a Sol Katz award (which is one of the highest honours our community can extend.)



The social was out over looking the ocean allowing everyone to enjoy the sunset, the ocean waves and a whole lot of dancing.


OSGeo Booth

The OSGeo booth which was setup as a hangout area with sofas and tables and a bit of calm in a busy conference. Jeff McKenna was ever present greeting people, welcoming them to OSGeo, and setting up local chapters.




Conference Committee
The conference committee was as you would expect almost impossible to photograph in the same place. Thank you to everyone who helped make this event near and far.


FOSS4G Telegram Channel

There were several lines of communication during the event, twitter as we have come to expect, and also a telegram channel. This was simply amazing to take part in and it is still ongoing!
In the lead up to the conference you could tune in and hear about the progress of the overland bus gathering attendees to the event, during the event the social activities provided updates (and directions), and after the conference the channel is still active with people making connections and plans to attend next year.


FOSS4G Presentations and Outreach

This was a busy conference for me personally. Sometime during the Bonn code sprint I decided I really wanted to go and submitted a bunch of talks.

Open Source Geospatial Foundation

The AGM took place on Thursday morning, bright and early, and once again shows all the amazing our community can do. This is one of your best chances to learn what the local chapters are doing around the world.



It can be a little intimidating to know where to start with OSGeo, each group has a different way they like to communicate. This presentation is not nearly as much fun as the AGM but does introduce you to who is where and how you can take part.


Open Source Developer Outreach

This talk gives a look at what OSGeo offers projects and how they can take part, and hopes to answer a few questions along the way.


Open Source Practice and Passion at OSGeo from Jody Garnett

There is a lot of help available to open source projects; this presentation turned into good chat about how LocationTech and OSGeo (and Apache and Free Software Foundation) are available to help.


Projects and Technology

Thanks to Andrea and Ian for a great State of GeoServer presentation - done very quickly with a short time slot!


GeoServer Ecosystem was a chance to look at what the project is actually used for, rather than just the new features added this year. Andrea provided a series of impressive case studies showing how organizations "succeed with geoserver". I was able to follow this up showing how geoserver is used in as a component in products like Boundless Server, GeoNetwork and GeoNode.


Rob had a bit of trouble finding me (sorry Rob) for our State of JTS presentation.  Rob had a look at how JTS is evolving under pressure from the cloud projects at LocationTech, and we explored the recent addition of XYZM support and plans for the future.

State of JAI was by far the most important talk I was privileged to take part in, it was also with the help of Eugene and Andrea one of the most entertaining and funny.

Workshops and Community Sprint

Away from the hustle and bustle of the conference there were a couple of opportunities for teamwork and hands-on open source goodness.

Ian Turton and myself led a rather challenging GeoServer Developers Workshop, offering a visual and a helping hand for those building GeoServer for the first time and wondering where all the good stuff is hiding.

The Community Sprint ended up being focused almost exclusively on the OSGeo website and communication. The website (and especially wiki) is confusing at the best of times, and there was an opportunity to learn how much more challenging it is across language and cultural barriers.


Sunday, 20 September 2015

FOSS4G 2015

FOSS4G has just finished up in fabulous in Seoul Korea. Online I see the occasional calls for "what is going on?" and "are they recording video?" Yes, videos will be available on the conference website at a later date. As for what is going on let me gather up my blog posts on the topic.

Click on each link for a write up of the day in question:
External Links:
The conference was a great success with 562 attendees. Thanks to everyone who made this event happen.

Saturday, 19 September 2015

FOSS4G 2015 Code Sprint

Navigation: FOSS4G 2015 | Workshops | Day 1 | Day 2 | Day 3 | CodeSprint

The code sprint was in the fascinating heart of Gangnam, full of colour and life - in a small room containing approximately 40 developers you know and love:
  • Andrea and myself focused on outreach with the ISA Server team working with ISO 19107 and Complex Features. I really hope this relationship grows into more members for our community.
  • Ian Turton and Andrea wrestled with drawing GeoTools DirectLayers (think scalebar) and labels as the same time. Eventually they blamed me, so I have some API work to do on the flight home.
  • After an inspiring conversation with OpenLayers developers Andrea started looking into checking coverage as part of pull request evaluation (with the idea being that a pull request that reduces test coverage is not acceptable).
  • Andrea and Tom worked on raster performance resulting in some amazing visuals of 8K images and the point of the exercise ... a pull request!

Wednesday, 25 February 2015

CSS Workshop is Live on GeoServer User Manual

Quick thanks to Travis and Mike for porting my FOSS4G CSS Workshop into the GeoServer User Guide (and to Eva Shon who helped with the initial workshop).

Here is the direct links to the latest user guide:


The GeoServer community would love a hand testing GeoServer 2.7-RC1. It has an all new GeoTools based css extension and we need your feedback!

Tuesday, 2 September 2014

Attend a workshop at FOSS4G

I am having a great time going over workshop material for FOSS4G.  I have two workshops on the go and am totally looking forward to seeing everyone next week in Portland.

FOSS4G workshops - sign up now!

Time and time again workshops are listed as the highlight of the foss4g experience. One of the key advantages of open source is a chance to follow up that key hands-on experience with the opportunity  to take the software home to show your friends.
There has been some experimentation with offering lightweight labs (read: no additional cost) in parallel with the main program. While a fun idea, it is kinder to all involved to keep the number of conference tracks to a minimum to avoid that feeling of "missing out" no matter what room you are in.

Why not make workshops the highlight of your foss4g?
  • If you have not signed up for FOSS4G what are you waiting for! The workshops on offer are incredible and represents some of the best value in open source training available. The registration page appears to still be open :)
  • If you already made your plans and were skipping the workshops to save some money - don't! The workshops are cheap-as-chips. Come a day early as there is no substitute for the hands-on goodness of a workshop.
As a final plea: you are going to come back (bruised and battered) from a week of the most amazing geospatial software, friendly community, and buzz of ideas and enthusiasm. As you crawl into work on Monday and are asked "how was it?" - make sure to attend a workshop so you have something to show.
If you cannot make the trip I would be remiss if I did not mention the online training/certification offered by Boundless. The material is extensive and Mike and Ben have done a great job introducing each section with videos.

GeoServer Cartography and Styling

I have had the privilege of teaching GeoServer previously - and the one consistent request is for more on mapping and styling! One day introduction course - more mapping and styling. Two day intensive course for web developers - more mapping and styling. Five day course with a day devoted to Styling? More mapping and styling please ...
With this workshop I can finally answer this request! The use of the CSS extension (to generate SLD files) finally allows a workshop to cover enough ground!
Dynamic Symbology Example
For everyone attending this workshop you are in for a real treat.  Thanks to David Winslow for the CSS extension, and thanks to Boundless for the time and inspiration to pull this course together.
As indicated in the course description lab machines are provided, show up, have fun and learn a ton.

GeoTools DataStore Workshop

I am thankful for the opportunity to teach a GeoTools workshop (programming workshops are occasionally a hard sell next to running applications like GeoServer). And this is not any GeoTools workshop, it is an intermediate workshop on how to create a DataStore from scratch.
ContentDataStore and Friends
A lot of work has gone into ContentDataStore (shown above). This really is the underpinnings of the "next-generation" database, shapefile and the recently announced wfs-ng client.
This workshop marked as BYOD, meaning you can relax in the comfort of your own development environment.

Wednesday, 17 July 2013

Counting Features

Had a bit of fun explaining FeatureSource.getCount( Query ) on IRC.

Here is the code example:
    Query query = new Query("countries", CQL.toFilter("REGION = 3") );
    int count = featureSource.getCount( query );
    if( count == -1 ){
        count = featureSource.getFeatures( query ).size();
    }

Why the difference? The first one checks the header (or index) if such a thing exists. The second one checks the content.

Docs harmed in the making of this post:

Monday, 8 July 2013

weekly update

Fairly quiet week on the documentation front -- for now.

GeoTools 10 beta Incoming

The GeoTools 6 month release cycle is coming to a close - with a beta due out towards the middle of this month. As such large contributions of code are coming out of the wood work and landing on the master branch.
Since this is a documentation blog I am going to limit my enthusiasm to the excellent documentation Andrea has including with each pull request - thanks!


For the full details of some pretty cutting edge work you will need to wait for Andrea to write a blog post.

uDig LocationTech Migration

I have been busy working away on the uDig project, backed by some excellent help from the Eclipse Foundation, and encouragement from the uDig community.
uDig Progress
For more information check out my entry on the LISAsoft company blog: uDig Project LocationTech Migration Update

OSGeo Incubation

The OSGeo Incubation Committee has transitioned from IRC meetings every couple of months to being an email-only affair. As such I have struggled as committee chair with a way to keep committee activities visible, public and motivated.
It turns out one of my responsibilities as chair is to report to the board periodically. Perfect!
With that in mind I am going to issue a report each quarter, and have started the draft for 2013 Q3.
Also a tip of the Landon who has used this as an opportunity to check in with OSGeo Lab projects. Thanks!

Tuesday, 2 April 2013

GeoTools Maven Quickstart vs Build Instructions

Frank Warmerdam has a good write up of Getting Started with GeoTools - that makes for painful reading (for me at least). Looks like this is going to result in a few fixes to the documentation.

In the mean time:

  • Quickstart (including Maven Quickstart) shows a simple hello world program illustrating how you can use GeoTools in your own application (to load a shapefile and display a map).
  • Building (including the use of the Maven Eclipse Plugin) documents how to build GeoTools from source, and use the maven eclipse plugin to generate the .project and .classpath files required to import the projects into the Eclipse IDE.
Thanks to Frank for taking the effort to get involved with the project, and I am happy to see his first pull request come through.

Wednesday, 13 March 2013

Documentation Updates

Primary purpose of this blog is capturing the ebb and flow of the projects I am involved in ... and remind myself to update the documentation.

GeoTools

In response to the OSGeo board approving a Contribution License agreement for the foundation an update to the GeoTools developers guide was in order:


Thanks to Frank and Andrea for the review of these pages. It is my hope that having a contribution license available at the foundation level will help projects going through incubation. The documents themselves are a straight up port of the Apache Contribution licenses.

I also found "yet another page" predating our move to github:


GeoServer

The recent publication of GeoServer Beginner's Guide made for a great read, and a few links:

  • GeoServer (Website): updated to show off the book cover and link to the publishers website
  • GeoServer Beginner's Guide (LISAsoft): my review is published on the Company website.
Thank's Packt Publishing for promoting open source and Stefano Iacovella, Brian Youngblood for a handy intro.

Friday, 26 October 2012

State of GeoTools 2012

Here is the State of GeoTools 2012 talk presented at Latinoware 2012. My first speaking slot was devoted to a "State of Geoserver" and "State of GeoTools status update. The slides are CC by Attribution and build on earlier talks.


The talk was well received, it is however pretty brutal to start off your conference engagement with a set of technical talks. I got the feedback that all my jokes were funny which is always nice and hopefully softened the content a bit for those present.


The big status news for GeoTools is of course the release of GeoTools 8 with all its headline features.

It is worth pointing out a few recent developments covered by the presentation:
  • Process, Process, ProcessWeb Processing Service is finally attracting funding, with it comes a lot of new process ideas, implementations and directions. Hold on it is going to be a wild ride!
  • Prep for Java 7 try-with-resource Update our API to mark which items are “Closable”
  • FeatureCollection as a Result Set For Java 5 we needed to prevent FeatureCollection extending java.util.Collections - so that iterators could be closed.
    We are completing this work by removing the deprecated method names (add, remove, etc...)
    This will allow FeatureCollection to be a simple result set.

And the change that is likely to have the most lasting effect: switching to predictable release cycles. This is already being noticed with GeoTools 8.1 and 8.2 being released in September.

From Latinoware 2012

Friday, 19 October 2012

Latinoware 2012

I have put up a set of Latinoware 2012 Photos up (and a few more covering a trip to the Itaipu Dam).

I am so impressed with the organisation and sheer scale of Latinoware 2012. Over morning coffee I was introduced to the idea that they try and grow a little each year in order to be the biggest open source conference.

At over 4000 people they must be getting close! The organisers have pressed a legion of buses (drawn from the local tourist trade) to facilitate. There are people everywhere, and all very happy, this place is humming along!

I am scheduled for a couple of talks tomorrow afternoon on GeoServer/GeoTools, OSGeo Live DVD and OSGeo Incubation. Wish me luck.

Aside: I have been asked to encourage others to attend, apparently because the large number of beautiful women working in IT here. So while I will pass that on at face value, anything we can do to help balance out our industry is sorely needed, consider setting up a Girl Geek Coffee in your area.



Latinoware 2012

Dam Trip

Friday, 20 April 2012

Generated Function Reference

Last year I had the pleasure of working with Justin on filling in the WFS 2.0 "FunctionName" information. The WFS 2.0 was just the excuse for me - what I really wanted was a data structure I could ask at runtime about functions, their parameters and any restrictions you would need to know when entering them.

While was able to put this information to use and generate a function list for the GeoTools documentation, it is only today that I got a chance to hook the information into uDig.

Update: Finished up this "FilterViewer" code allowing you to smoothly change between a couple of options.

Out of the box I just had time for a couple of options - ranging from a bit of content assist through to the enable / disable radio buttons shown above.

I also managed to get warning and error reporting working (using cute little icons which you can click to see the message).

If you would like to try this Download a sneak peak of uDig 1.3-SNAPSHOT (a tech preview is available for all the platforms).

Monday, 14 November 2011

OSDC 2011 Geospatial for Java Workshop

The slides are available:

The download materials are available here:

Thank you to everyone who attended.

Friday, 28 October 2011

FeatureId

Small improvement coming out of some recent work on ResourceId.
BEFORE
    Set selected = new HashSet();
    selected.add(ff.featureId("CITY.98734597823459687235"));
    selected.add(ff.featureId("CITY.98734592345235823474"));
    
    filter = ff.id(selected);
AFTER:
    filter = ff.id(ff.featureId("CITY.98734597823459687235"),
                   ff.featureId("CITY.98734592345235823474"));
Documentation harmed in the making of this post:

Tuesday, 18 October 2011

Nothing to see here

A couple new abilities for the GeoTools filter system.
WFS2 includes two ways to check if an attribute does not have a value.
  • PropertyIsNull can be used to check that a property exists; and that the value is empty.
  • PropertyIsNil is used to check if a property exists at all
A quick example makes this difference easier to see:
    // test if "approval" equals "null"
    filter = ff.isNull(ff.property("approved"));
    // this example checks if approved exists at all
    filter = ff.isNil(ff.property("approved"),"no approval available");

I also found that I had missed documenting how FeatureId can be used to look up a feature by name; or at least identifier.
The example makes use of a Set of FeatureId to construct the appropriate Filter:

    Set selected = new HashSet();
    selected.add(ff.featureId("CITY.98734597823459687235"));
    selected.add(ff.featureId("CITY.98734592345235823474"));
    filter = ff.id(selected);

Documentation harmed in the making of this post:

Saturday, 24 September 2011

Status of GeoTools

GeoTools had a strong showing at the FOSS4G conference last week; mostly in the form of presentations from downstream projects. I was pleased to put together a quick talk directly on the Status of GeoTools with Andrea providing much of the content; and Justin filling in for him during the talk.

The talk was a record 88 slides in 20 minuets (really it was a casual discussion about all the amazing work; with the slides providing more details for anyone interested). I encourage you to explore and learn of the fascinating capabilities; new developers who have joined the community; and active areas of research and development. If you download the presentation; or view the slides on slideshare; you can review the speaker notes which contain roughly the same story as was presented at FOSS4G.

I would like to thank Andrea (GeoSolutions) and Justin (OpenGeo) for their amazing contributions and for making this FOSS4G presentation a entertaining success.

Sunday, 4 September 2011

jpeg vs geotiff speed

A really common question is with respect to jpeg performance being slow.

JPEG is a compression format based on how the human eye works; the eye is very good at seeing a color on one side of a "sky" and another color on the other side of the sky and filling in a nice smooth gradient in your mind. Even when the actual data shown on the monitor does not actually have a smooth gradient.

The jpeg standard uses other silly human tricks about how the eye works in order to throw out information that is not needed because your mind will fill in the gaps giving you the same experience.

To do this it needs the *entire* image; and it also needs the entire image show to your eye.

So it is really not very suitable for GIS use where we expect the image to reflect measurements.

Formats like geotiff and ecw are organised to be read off disk; so depending on where in the image you are they can calculate what area of the file to read; and thus display part of the image without having to read the whole thing.

Even when zoomed out; because the file structure is organised the readers can sample the pixels to pull out just enough information for what is on screen and no more.

For GeoTiff they can even go beyond this and have an overlay of the file which we can display when JMapPane is zoomed out, or internally structure the file with "tiles" for even better performance (less disk seeking) when zoomed in.


There is some good background information on these kinds of topics  from the LISAsoft 2009 making maps fast workshop:
- http://download.osgeo.org/osgeo/foss4g/2009/SPREP/0Tue/Parkside%20GO2/0900/

Tips on Building

Found another one ...
I have recently converted the GeoTools build instructions guide to sphinx: I mostly focused on just porting the content that was there. ;There are a couple interesting observations to be made when picking up a long running document on the Internet.

That was Then

Back when that document was written (say 2003) the internet was a less consistently useful place. ;GeoTools with its habit of using new tools (maven!) new techniques (refactoring!) and new ideas (factory pattern) was often needed to serve as an initial orientation for developers in addition to documenting the running of the project.

This is now

These days we would not bother to explain, after all stack overflow is a click away:
Never the less I picked up a few build tips which you may find useful next time your build GeoTools.

Revised Blogger (was GeoTools 8.0-M1 Released with Docs)

Hey wait google changed blogger - to look like a Google application! While they describe it as "clean" it looks more like the colour vampire that struck OSX Lion has attacked blogger draining all the life out of it. We will see how it goes on the usability front shortly...

As a result of checking out revised Blogger - I turned up the following post that was still lurking in draft (I often write notes about what is cool in a release while I wait for the build / deploy / test cycle - and it took so long to get the GeoTools 8.0-M1 release out that I never returned to publish it).



Earlier this morning I got to announce the GeoTools 8.0-M1 release. Because this is a Milestone release you will notice a lot more activity than usual. By the time stable releases are made the party is over and the whole point is to change as little as possible).

So much of what has gone into this release deserves its own blog post. In keeping with the theme of this blog here are the documentation links where you can learn more:

Related News

As noted above there is a big push to get the OSGeo Live project out next week; kudos to Cameron Shorter for communicating directly with project leads in order to get the word out. I don't know how many things I have missed because they were sent to the OSGeo discussion email list.

Although this blog does list documentation updates as they happen; I have found it easier to use twitter to ask for reviews as they are written; or if you are brave jody+.

Monday, 8 August 2011

GeoTools Build Instructions

I have spent a bit of time dragging the build instructions out of the developers guide and into the GeoTools "User Guide" under a newly created "advanced" section. It is not that building from source difficult; it is more that is not interesting. Although perhaps that is only true if you already have it working.

So for the proper perspective I tried out the build in Maven 3; updating the instructions with a few tips as I went.

The most interesting is a tip on how to make the build faster using maven 3; surprisingly out of the box the maven 3 builder was slower on my machine. Fiddling with the command line options for parallel build support did eventually result in a pretty interesting speed increase.

The fastest build I managed was:

mvn install -DskipTests -o -T 2C
The above instructions roughly translate as: only build the core library, skip the tests, don't check external servers for new jars, and use two threads per core.

Which has been added the the Building FAQ.

A tip of the hat to Micheal Bedward for reviewing the above pages - Thanks!