OSGeo Planet

GeoSolutions: GeoServer workshops and presentations at FOSS4G-NA 2015

OSGeo Planet - Wed, 2015-01-28 14:33


Dear Reader, GeoSolutions is proud to announce that Andrea Aime, our technical lead on GeoServer will attend this year FOSS4G North America in San Francisco to give a workshop and presentation on GeoServer itself. The conference will take place at the Hyatt Regency San Francisco Airport  between 9th and 12th of Marc2015. Specifically the 9th will be dedicated to workshops (here is the workshop schedule) while presentations will be given on 10th, 11th and 12th.

The schedule for our workshop is as follows:
  • GeoServer, an introdutction for beginners with Andre Aime, 9th of March 2015 from 9 to 12 - The workshop will provide the attendees with an in-depth introduction to the GeoServer Open Source server useful for those who are (still??) not familiar with it but also for those who already using it as they will have the chance to ask questions directly to one of the main developers behind the software.
The schedule for our presentation is as follow:
  • Status of GeoServer WPS  with Andrea Aime,  12th of March 2015 from 12 to 12:35 - This presentation will provide the attendee with an introduction to the GeoServer WPS functionalities, and will highlight the recent improvements in the area. The presentation will finally show some real world examples of applications using GeoServer WPS.
Looking forward to seeing you in San Francisco! The GeoSolutions team, 320x100_eng
Categories: OSGeo Planet

Just van den Broecke: 3D Geospatial – Free and Open Source Software v0

OSGeo Planet - Wed, 2015-01-28 11:52

This is my list of FOSS products for 3D Geospatial with a focus on web technology/WebGL and Open Standards. These are notes I keep within Evernote as part of the 3D Geospatial Notebook whose public link is: https://www.evernote.com/pub/justb4ever/3d-geospatial. This is also the first experiment to auto sync Evernote to WordPress using Zapier, so beware of any glitches in formatting! I am sure I have missed many other great products. Let me know!   OSLandia OSLandia from Paris, France  is one of the most active companies contributing to 3D Geospatial FOSS. http://www.oslandia.com/   http://www.oslandia.com/postgis-3d-foss4g-video-and-workshop-en.html   - The latest PostGIS and QGIS 3D enhancements presented at FOSS4G by Oslandia – GIS goes 3D : an OpenSource stack – Olivier Courtin – FOSS4G 2014 http://vimeo.com/106846660   Cesium - General “Cesium is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned for dynamic-data visualization. Cesium is open source under the Apache 2.0 license. It is free for commercial and non-commercial use.”    cesium   http://cesiumjs.org http://cesiumjs.org/presentations/Rendering%20the%20Whole%20Wide%20World%20on%20the%20World%20Wide%20Web.pdf great presentation   - Cesium Terrain Service Preparation https://github.com/giohappy/gdal2cesium https://github.com/kaktus40/Cesium-GeoserverTerrainProvider   - Creating 3D terrains with Cesium –  http://blog.thematicmapping.org/2014/10/3d-terrains-with-cesium.html   - Migrating from Google Earth to Cesium This is a guest post by Greg Angevine, Founder of Cube Cities Inc.. His company has used the Google Earth plugin for years and has recently built impressive work with Cesium (like this).
http://cesiumjs.org/2015/01/27/Migrating-from-Earth-to-Cesium/   - Cesium and OpenLayers3 Cesium has a real focus on (OGC) standards and integrating with software implementing OGC standards. I heard that the Cesium-folks are even proposing additions to OGC 3D standards (CZML? or the very compact terrain tiling using quantized mesh?). That would be great in concert with/as payload for the upcoming 3DPS (3D Portrayal Service) standard.  cesium-ol3   http://openlayers.org/ol3-cesium/
  - My Cesium experiments with Dutch OpenTopo tiles and Top10NL-3D Vector  cesium-just http://app.nlextract.nl/3d/   - My Cesium experiments with Cesium-OpenLayers3 Integration using Dutch Topo Top10NL-3D Vector   cesium-ol3-just http://app.nlextract.nl/3d/
  Tangram From the folks from MapZen who make much more cool stuff: Tangram is a library for rendering 2D & 3D maps with WebGL, using GeoJSON/TopoJSON or binary vector tiles.” tangram https://github.com/tangrams/tangram https://mapzen.com/tangram (demo) D3JS - General  d3js D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.” http://d3js.org -
  - Kind of 3D with D3 – Maps for the Web http://www.web-maps.com/gisblog/?p=1370   - Creating Charts and Legends for 3D Atlas Maps – A Mashup of D3.js, osgEarth, and the Chromium Embedded Framework — Raimu
http://vimeo.com/106234276   PostGIS   PostGIS has many 3D facilities. Check these out.   - Lidar/Pointclouds in PostGIS: https://github.com/pgpointcloud/pointcloud http://workshops.boundlessgeo.com/tutorial-lidar/ (tutorial) http://s3.cleverelephant.ca/foss4gna2013-pointcloud.pdf (paul ramsey slides) http://boundlessgeo.com/2013/11/manage-lidar-postgis   - TIN Support https://smathermather.wordpress.com/2013/12/18/2-5d-tins-in-postgis/ and https://github.com/smathermather/postgis-etc/blob/master/3D/AsTin.sql – create TINs with ST_DelaunayTriangles  http://www.oslandia.com/full-spatial-database-power-in-2-lines-en.html
also check: GRASS: http://grass.osgeo.org/grass70/manuals/addons/v.delaunay3d.html    - X3D Generation http://postgis.net/docs/ST_AsX3D.html   - 3ddb for PostGIS (CityGML) http://www.3dcitydb.org/ https://github.com/3dcitydb GitHub http://www.3dcitydb.org/3dcitydb/fileadmin/downloaddata/3dcitydb-v2_0_6-postgis-tutorial.pdf - A New Dimension To PostGIS : 3D – Olivier Courtin (Oslandia) with Hugo Mercier (Oslandia) http://2013.foss4g.org/conf/programme/presentations/7/index.html http://www.slideshare.net/SimeonNedkov/postgis-3d-implementation https://www.youtube.com/watch?v=tQbE6B8JaHI   - PostGIS and CGAL and CGAL https://www.cgal.org and  https://smathermather.wordpress.com/2013/12/05/postgis-with-sfcgal-videos-how-did-i-miss-these-videos/ SFCGAL http://www.sfcgal.org/ SFCGAL is a C++ wrapper library around CGAL with the aim of supporting ISO 19107:2013 andOGC Simple Features Access 1.2 for 3D operations.”   - Other PostGIS 3D Stuff “This post explains how to setup a powerful spatial data store (PostGIS) with a wide range of features (SFCGAL, PgRouting, PostgreSQL PointCloud, PDAL http://www.oslandia.com/full-spatial-database-power-in-2-lines-en.html    http://postgis3d.blogspot.nl/ (Camp2Camp – 2007 – by Mathieu ..?)   XNavigatorXNavigator is an interactive 3D viewer and integrated client for exploring virtual city and landscape models. Instead of defining its own proprietary communication protocols, open OGC standards are used. The Open Geospatial Consortium (OGC) defines standards for accessing spatial information over the internet.  The main 3D content is downloaded from a Web 3D Service (W3DS). Additional OGC services which can be accessed include:
  • Web Map Service (WMS)
  • Open Location Services (OpenLS) including Route Service, Directory Service, and Geocoder
  • Catalog Service for Web (CSW) ebRIM profile
  • Web Feature Service (WFS) serving GML3 and CityGML content’“



ThreeJSThe aim of the project is to create a lightweight 3D library with a very low level of complexity — in other words, for dummies. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.”  threejs http://threejs.org   W3DS W3DS (Web 3D Service) is a portrayal service for 3D scenes. Early OGC discussion documents. Now superseded by the 3DPS, the 3D Portrayal Service, now (jan 2015) out for public comment in OGC. This is an early W3DS implementation in GeoServer that started from the dissertation work by Nuno Miguel Carvalho Oliveira (professor: Jorge Gustavo Rocha) at the University of Minho (Portugal).  http://mei.di.uminho.pt/sites/default/files/dissertacoes//eeum_di_dissertacao_pg18391.pdf – Dissertation https://github.com/geoserver/geoserver/tree/master/src/community/w3ds (GeoServer community module) http://osgeo-org.1560.x6.nabble.com/W3DS-Implementation-up-and-running-td4665127.html (email on GeoServer list)
  QGIS/Horao By OSLandia. “A simple viewer built around OpenSceneGraph … designed to listen to commands on its standard input. …

The other piece is a Python plugin that is used to connect QGIS signals to the viewer (in another process) to allow loading of QGIS layers with 3D geometries.”

horao    https://github.com/Oslandia/horao http://www.openscenegraph.org/   Cuardo Again By OSLandia, watch these guys! Cuardo is an OpenSource WebGL 3D data viewer, focusing on urban data analysis and visualization.a 3D GIS web framework based on Three.js and WebGL, oriented toward urban visualization.    cuardo   https://github.com/Oslandia/cuardo


Categories: OSGeo Planet

gvSIG Team: Advanced labelling in gvSIG 2.1

OSGeo Planet - Wed, 2015-01-28 10:45

One of the features that can be found in gvSIG 2.1 is advanced labelling, that includes many possibilities and tools to customize label according to user need. The advanced labeling has been migrated from gvSIG 1.x to gvSIG 2.1, keeping all the existing customization options and adding some of the most required options by the user community, like the halo option.

Here are a couple of videos that show some ( of the many ) labelling options .

In this first video we focus on the possibility of labelling with halo or adding a background image for tags.

In the second video we illustrate the possibility to display labels only for selected features.

English translation of Etiquetado avanzado en gvSIG 2.1.

Filed under: gvSIG Desktop, spanish Tagged: etiquetado, etiquetar, gvSIG 2.1, halo
Categories: OSGeo Planet

gvSIG Team: Etiquetado avanzado en gvSIG 2.1

OSGeo Planet - Wed, 2015-01-28 09:21

Otra de las funcionalidades que podemos encontrar en gvSIG 2.1 es la de etiquetado avanzado, que a su vez contiene distintas posibilidades y herramientas para confeccionar un etiquetado al gusto del usuario. El etiquetado avanzado ha sido migrado de gvSIG 1.x a gvSIG 2.1, manteniendo todas las opciones de personalización del etiquetado e incorporando al mismo tiempo alguna novedad de las más solicitadas por la comunidad de usuarios, como es la opción de halo.

A continuación un par de vídeos que muestran algunas (de las muchas) opciones de etiquetado.

En este primer vídeo nos centramos en la posibilidad de etiquetar con halo o añadiendo alguna imagen de fondo que acompañe a las etiquetas.

En el segundo vídeo vemos la posibilidad de que las etiquetas se muestren sólo cuando seleccionemos un elemento.

Filed under: gvSIG Desktop, spanish Tagged: etiquetado, etiquetar, gvSIG 2.1, halo
Categories: OSGeo Planet

gvSIG Team: Exercises of the Scripting Workshop at the 10th International gvSIG Conference

OSGeo Planet - Wed, 2015-01-28 08:32

Hi there,

In this post, you will find the examples made in the workshop for beginners about Programming with Scripting Module in gvSIG 2.1 at the 10th International gvSIG Conference in December at Valencia.

During the workshop, we saw a few examples of geoprocessing, starting with the calculation of a buffer area and little by little, adding functionalities according to our needs.

Here the cartography to follow the scripts.We only need a polygone layer and a point layer. You can use your own layers if you want.S

If you don´t know the Scripting Module, we explain how to load the scripts, step by step, at this video. In the code, you only should change the part as ‘initial data’, writing the path where the new lawyer will be recorded. These scripts will not modify the layers already loaded. For the correct running, we should have the View on and one layer selected.

In the first two examples, we can see first, the creation of a buffer area and secondly, adding a new field showing the distance between those points to a reference point.

Script 1: Buffer

Script 2: Buffer and new field with spatial information


Script 2

Also, in the third example, we add a spatial condition. This condition is just that it creates the buffer in those points intersecting with some polygon from the selected layer. In the example, referred to ‘manzanas’, but it can be replaced for any polygon layer. We can see in the symbology how this variable evolves, thinking that the reference point from the example it would be at the left bottom side. We also see that there are points where the buffer has not been generated.

Script 3: Buffer, distance new field and complying the intersection.


Script 3

Another function is, from a point layer, to create a new line layer containing (in this case, a single entity to help us) a geometry with the union of all the points with all the vertices of the line.

In the first example, passing the vertices using the order of an ID field which would be random, and in the second one, using the buffer layer created in the 3rd script and taking as an order, the distance field to create the vertices of the line geometry.

Script 4: Convert points to line


Script 4


Script 5: Convert buffer layer line


Script 5

Finally, an example not explained during the workshop is the generation of lines projecting to that reference point, taking into account the type of layer: points, lines or polygons.

Script 6: Projected lines

Script 6: Initial line layer

Capa inicial de polígonos

Script 6:Initial polygon layer

You can watch the workshop videos on the following links (Spanish/English):

  • Spanish: 10as Jornadas Internacionales gvSIG: Taller 5, Scripting en gvSIG 2.1:


  • English: 10th Int. gvSIG Conference: Workshop 5, Scripting on gvSIG 2.1:


Any doubt, you can ask here, at gvSIG user list or if it is a more specific one, you can contact me: omartinez@gvsig.com

If you are interested in the rest of the presentations of the Conference, you can check them out at this listing.

I hope these examples were useful.

Greetings to all and thank you,


Filed under: development, english, events, gvSIG Desktop, scripting
Categories: OSGeo Planet

Slashgeo (FOSS Articles): Batch Geonews: QField, IndoorGML Standard, Focus on Google Maps for Work, 30m SRTM-DEM, and much more

OSGeo Planet - Mon, 2015-01-26 16:58

The first 2015 batch-mode edition of the geonews.

On the open source / open data front:

On the Esri front:

On the Google front:

Discussed over Slashdot:

In the miscellaneous category:

In the maps category:

The post Batch Geonews: QField, IndoorGML Standard, Focus on Google Maps for Work, 30m SRTM-DEM, and much more appeared first on Slashgeo.org.

Categories: OSGeo Planet

Jackie Ng: MapGuide on Windows 10

OSGeo Planet - Sun, 2015-01-25 14:49
Since Microsoft released a new preview build of Windows 10, I'd thought I give it a spin on VirtualBox.

My first impressions are simply that I am so happy to see the return of the Start Menu!

The other pleasant surprise was to see that the command prompt was finally resizable!

But my main motivation for giving Windows 10 a spin was to see if MapGuide will run on it. So I downloaded the 3.0 preview release.

I ran the installer and got this.

Okay, this normally means I have to manually "unblock" the executable in the file properties before retrying, so I did exactly that.

Except unblock does nothing! Is this a bug?

So before I chew out Microsoft for their "UAC v2.0" over-zealousness with this SmartScreen feature, I decided to click the "More Information" link on the SmartScreen dialog to see if it does anything and lo and behold, it gives me the options to finally run the thing!

Terrible UX there Microsoft. The "Run Anyway" option should be visible IMO and not concealed in the "More Information" link.

Nevertheless, after negotiating this little obstacle the installer ran after the UAC prompt. I decided to try the IIS/.net install option since:

  • PHP and its MapGuide API bindings is installed regardless (it's why mapguide-rest will/should just work out of the box on any supported version of MapGuide), so we can also verify the PHP bits are working by loading a package through the Site Administrator
  • This is the configuration that we always want to confirm and verify when testing support for newer versions of windows. The Apache/PHP/Java configurations are mostly self contained and can be generally trusted to work on any windows platform where there is a matching Visual C++ runtime library and a working Java SDK/RE for it.
So after waiting the normal amount of time for a MapGuide install to complete.

The Site Administrator runs without issues, allowing me to load my sample data package. Firing up the AJAX viewer (that is bound to the .net implementation due to my installation choice), shows that it is indeed functional

So there you have it. MapGuide 3.0 works on Windows 10. 
Given its current Technical Preview status, we cannot realistically have Windows 10 as a supported platform for MapGuide 3.0, but should you want to try, chances are MapGuide should work as evidenced by this post.
Categories: OSGeo Planet

Sean Gillies: Fiona, Rasterio, Shapely binary wheels for OS X

OSGeo Planet - Sun, 2015-01-25 01:17
Fiona, Rasterio, Shapely binary wheels for OS X

Numpy and SciPy binaries for OS X have been up on PyPI for a few months and I’ve recently figured out how to do the same for Fiona, Rasterio, and Shapely. As the SciPy developers do, I’ve used delocate-wheel to (see its README):

  • find dynamic libraries imported from python extensions
  • copy needed dynamic libraries to directory within package
  • update OSX install_names and rpath to cause code to load from copies of libraries

The new Fiona and Rasterio binaries are beefy (14MB) because they include the non-standard libraries that enable format translation, cartographic projection, and computational geometry operations:

$ delocate-listdeps ~/code/frs-wheel-builds/dist/rasterio-0.17.1-cp27-none-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl @loader_path/.dylibs/libgdal.1.dylib @loader_path/libgeos-3.4.2.dylib @loader_path/libgeos_c.1.dylib @loader_path/libjasper.1.0.0.dylib @loader_path/libjson-c.2.dylib @loader_path/libproj.0.dylib

For the small price of a larger download, Mac users now get batteries-included binaries that work immediately. No XCode required. Just pip install rasterio and start using it.

The new binaries are built on 10.9 using Python 2.7.9 and 3.4.2 downloaded from python.org. These Pythons were compiled using the 10.6 SDK for both i386 and x86_64 architectures and I’ve similarly set MACOSX_DEPLOYMENT_TARGET=10.6 and -arch i386 -arch x86_64 in my own builds. In practice they are intended for 10.9 and 10.10, but will probably work on 10.7 and 10.8. They should work for just about any OS X Python, whether from the system, Homebrew, MacPorts, or python.org.

If you’d rather continue to compile, e.g, Rasterio’s modules using your own GDAL installation, you’ve got an out in pip’s --no-use-wheel option:

$ GDAL_CONFIG=/path/to/gdal-config pip install --no-use-wheel rasterio

To contribute to development of these binaries or report installation bugs, please head over to https://github.com/sgillies/frs-wheel-builds. Most importantly, help me spread the word that installation of Fiona, Rasterio, and Shapely on OS X is easier than ever.

Categories: OSGeo Planet

Paulo van Breugel: Update of r.forestfrag addon for GRASS GIS 7.0

OSGeo Planet - Sun, 2015-01-25 00:04
Riitters et al. (2000) proposed a quick approach to measure the degree of forest fragmentation that could be relatively easily implemented and which only required a map with forest and non-forest. Following their approach, Sylla consult created a shell script for GRASS GIS 6.4 to create a raster layer with six categories (non-forest, patch, transitional, […]
Categories: OSGeo Planet

Darren Cope: Dissolve Shapefiles using OGR

OSGeo Planet - Fri, 2015-01-23 13:44

Quite often, I’ll run across a large or complex shapefile that causes issues (crashing, very poor performance, etc) in QGIS or other desktop GIS.

However, sometimes you have to find a way to deal with these files, and not spend a lot of time worrying about them. Often, the best way is to head back to the mysterious black box that is the command line, and use the ultra-stable suite of tools available there. My favourite for spatial work is GDAL/OGR

I was recently struggling to do a simple dissolve on a large and complex shapefile. I didn’t want to bring it into a database, but QGIS would crash trying to dissolve the shapefile. Of course, OGR had no problem with the file!

Here’s how to turn this (nine features with three different attributes):

Input to dissolve - 3 attributes

Input to dissolve – 3 attributes

Into this (three attributes, three multi-part features!):

Dissolved shapes

Dissolved shapes

Simply use this command (substituting your file names and field names as appropriate) into ogr, and you’re all set!

ogr2ogr outputfile.shp inputfile.shp -dialect sqlite -sql “SELECT dissolvefield,ST_Union(geometry) as geometry FROM inputfile GROUP BY dissolvefield”


Categories: OSGeo Planet

gisky: Two days of geo-goodness at FOSDEM 31/1 - 1/2

OSGeo Planet - Fri, 2015-01-23 09:09

You may already know that there is a great lineup for the geospatial devroom at FOSDEM on synday: yes, we actually have 22 presenters from a large number of different countries (even outside Europe!).

Intro geospatial devroomJohan Van de Wauw09:0009:05Use of OSS in the Lifewatch biodiversity research projectJulien Radoux09:0509:15QGIS Tool for Landslide Hazard AssessmentDarya Golovko09:1509:25Opensource Desktop GIS at Regional and Local goverments in Flanders
Integrating Govermental webservices into QGIS
Kay Warrie09:2509:35Bridging the gap between simulation and GISVincent Mora09:4010:05GRASS GIS 7: Efficiently processing big geospatial dataMarkus Neteler10:1010:30GRASS Development APIs
Lifting the fog on the different ways to develop for GRASS
Moritz Lennert10:3010:45Open Standards for Big Geo DataPeter Baumann10:5011:15Scotty, I need a data in three minutes! (Or we're all dead!!)
Just the right data at just the right time
Andrew Ross11:2011:45Distributed tile processing with GeoTrellis and SparkRob Emanuele11:5012:15GeoTrellis and the GeoTiff File FormatJohan Stenberg12:1512:25Habitat - a programmable personal geospatial datatoreRichard Pope12:3012:40Daybed
spatial backend as a service !
Mathieu Leplatre12:4513:10Taking Web GIS beyond Google Maps with the Geomajas Client and Spatial Application Server
Mapping stuff with Java, GWT and Javascript
Frank Maes13:1513:40Mobile Map Technology
Developing Mobile Multiplatform 3d maps
Manuel de la Calle Alonso13:4514:10Potree - Rendering Large Point Clouds in Web BrowsersMarkus Schütz14:1514:25OpenLayers 3: A unique web-mapping libraryÉric Lemoine14:3014:55Ol3-Cesium : 3D for OpenLayers map
An exciting library for automatically bringing 3D to your map
Guillaume Beraudo14:5515:10Overpass API
A service to query OpenStreetMap data
Roland Olbricht15:1515:40Tempus: a framework for multimodal trip planningHugo Mercier15:4516:10Douglas-Peucker updated
or do you want to reduce your data
Stephane Winnepenninckx16:1516:40PicoTCP on Mobile Ad Hoc networksBrecht Van Cauwenberghe16:4516:55Full schedule here.
But apart from the lineup on Sunday, also Saterday actually has a number of interesting geo-related talks as well:

10:35 - 10:55 (distributions devroom)
 12:00 - 12:50 (hardware track)

14:00 - 14:25 (graph devroom)
15:00 - 15:50 (hardware track)
And I'm sure you will probably find many other interesting presentations in one of the other 550 lectures. So hope to see many of you at FOSDEM!

I noted there is another geo-related talk on Sunday, unfortunately in parallel with the program for the geospatial devroom:

Categories: OSGeo Planet

GeoServer Team: GeoServer 2.7-beta released

OSGeo Planet - Thu, 2015-01-22 16:32

The GeoServer team is excited to announce the release of GeoServer 2.7-beta with some great new features. The download page for 2.7-beta provides links for zipwardmg and exe bundles. As a development release, 2.7-beta is considered experimental and is provided for testing purposes. This release is not recommended for production (even if you are enthusiastic by the new features).

This release is made in conjunction with GeoTools 13-beta.  Thanks Jody (and Boundless Victoria) for making this release, Kevin for GeoWebCache 1.7-beta, and a big thanks to Andrea for gathering up the contents (and pictures) for this blog post.

A complete change log is available from the issue tracker.

Please Download and Test

The committers have a great release for you to look forward to, we would like to ask you to download and test. By trying GeoServer out on a wide range of platforms and datasets we can all help the next release be great.

Testing is a key part of the open source social contract. This is your best chance to identify issues early while we still have time to do something about it. If you make use commercial support ask your vendor about their plans for 2.7-beta testing.

When testing Geoserver 2.7-beta please let us know on the user list how it works for you. We will be sure to thank you in the final release announcement and product presentations.

New Features Color composition and blending

Color composition and blending are two new extensions to SLD allowing the web map styler to control how overlapping layers in a map are merged together. Beyond the simple stacking and translucency control a wide range of effects are now possible by allowing masking and specific color operations for blending layers together in new ways.

A common well known example is a polygon thematic map on top of a DEM, which tends to provide under-par results using only transparency control, but generates very appealing ones when using the “multiply” blending mode:

Alpha masking also allows for neat cartographic tricks, like the one below, where the polygon fill has been cut at the border of the states generating a “inner line” effect:

Check out the documentation for a list of supported operations and some examples. We would like to thank Cleveland Metroparks for sponsoring this improvement.

WPS Clustering

First of, GSIP 119 added support for asynchronous requests over a cluster of GeoServer instances. In WPS an asynchronous request starts by returning the client a URL that can be polled in order to know about the execution progress, and eventually to retrieve the final results.  Previous to 2.7-beta the status information was kept in memory, thus only the GeoServer instance running the process could meaningfully respond to a poll from the client. With GeoServer 2.7-beta a new extension point allows the programmer to create a process status repository that can be shared among the GeoServer instances.

The first default implementation of the shared repository is a Hazelcast based one, leveraging in-memory, replicated and distributed maps to share the state information, while the results (which can be pretty large) are stored in a shared file system. The community is welcomed to develop other variants that could store the information in other places, for example, a relational database, a nosql one, or in the clould (e.g., S3 storage).

WPS Security

GSIP 121 added the ability to provide fine grained access control to processes based on our usual role based authentication system: each process or group of processes can be associated to a list of roles that can access them, while other users will be disallowed seeing or accessing the same processes.


WPS Limits

Integrating with the security, GSIP 123 added support for process execution limits, bringing WPS up to par with the other OGC services in terms of limiting the resources used by a single request. In the main WPS panel one can now configure how much processing time to give synchronous and asynchronous requests:


Also, in the new process security page one can configure a global limit for the size of complex inputs (see above), it is also possible to configure limits on a process by process basis, in order to restrict the size of inputs, the range of numerical values, and the multiplicity of repeatable inputs, to constrain the effort of a WPS process call. All these limits will be dutifully reflected in the DescribeProcess output.


If you’re not satisfied with the above limits and would like to develop new ones, no worries, the current code is setup on a pluggable WPSInputValidator extesion point that will allow you to create new types of input validators.

WPS Dismiss

The final Finally, GSIP 122 added the ability to dismiss an ongoing process from the client that requested the execution, or as an administrator. The new Dismiss operation comes from the WPS 2.0 specification, which GeoServer does not support yet, so it has to be seen as a vendor extension to WPS 1.0, which leverages the executionId parameter returned in the asynch status links to allow execution cancellation, you can read more about it in the user documentation. The administrator instead gets a new user interface panel showing the currently running operations, allowing selection and forceful dismissal of processes that are running:


The user guide contains more details about its usage. We would like to thank NATO STO CMRE for sponsoring all the above WPS improvements.

Refresh of the CSS module

The initial CSS extension (responsible for using CSS to generate SLD styles) was written in Scala. Although wildly popular, and featured up until GeoServer 2.6, the module has not been maintained to the level expected of a GeoServer extension.

Andrea has taken it unto himself to address this gap, rewriting the functionality in Java and making the result available to the GeoTools library.

The new CSS engine performs the same function as the Scala original and has managed to make a few key improvements. In particular the Java implementation can efficiently handle large CSS files without bogging down with minutes of translation time.

The user interface for the CSS editor has also been revamped a bit, making better usage of available screen space, and sporting syntax highlighting and formatting thanks to CodeMirror. This change addresses a common gripes correctly supporting relative images (the generated SLD preserves the relative path) and polygon with strokes are now translated to a single polygon symbolizer (to the benefit of GetLegendGraphic calls). Finally, you’ll notice that the download size have been significantly trimmed, as we don’t need anymore the Scala runtime.

The new translator has been tested against a few hundreds CSS styles already, but of course it’s new, so it’s of paramount importance that you test your own styles, and let us know if you notice any regression.

We take the occasion to thank David Window for creating the initial CSS module, and Andrea Aime for porting it to java and acting as the new maintainer.

Relative time support in WMS/WCS

As you probably knows GeoServer supports time based filtering in both WMS (aka WMS-T) and WCS (as part of WCS-EO). Up until now you had to specify the desired time either as an absolute value, e.g. &time=2011-05-02, or as an absolute range of values, e.g. &time=2011-05-02/2011-05-05.

The work done in GSIP 124 adds support for a vendor specific extension to the time syntax which allows the specification of relative times, e.g., the last 36 hours, “PT36H/PRESENT”, or the day after Decembre 25 2012, “2010-12-25T00:00:00.0Z/P1D”.

This allows for more compact requests, but more importantly, it allows to generate stable, publishable links to instants or intervals relative to the present server time, e.g., the wheather forecast for tomorrow, two days and three days in the future, or the temperature maps for the last three days, maybe in a KML document generated with animations over time.


In addition a wide range of improvements have been made:

  • For those into printed-maps, we added a new vendor parameter forcing GeoServer to ignore the WMS simple scale computation algorithm, and run a local and accurate one instead, resulting in better integration between printing requirements and maps with scale dependencies.
  • The flow-control module now also supports rate based rules, with the ability to slow down, or simply reject, requests that are incoming from a specific client at an excessive rate.
  • For those working at the dateline, you’ll be pleased to know that the WCS 2.0 GetCoverage requests can now handle bounding boxes crossing the dateline, and they will take the two halves of your coverage from the antipodes, merge them together in a single output file that will be returned to you (much like the same support for WMS, introduced in 2.6.0).
  • For people playing with configuration in the database, the JDBCConfig module and core modules have seen a number of changes to increase scalability and push down into the database as much filtering as possible in a larger number of commonly used code paths.
  • The DDS module, allowing extraction of DEM portions using the WMS protocol in order to feed Nasa Worldwind, has seen a number of fixes and now allows the specification of a texture compression format.
  • Finally, the map preview has been switched to OpenLayers 3, although the nostalgic can get back the OL2 based one by adding the “-DENABLE_OL3=false” parameter to the JVM startup options. Thanks to Bart for helping add this to GeoServer.

This concludes the most visible changes, if you are missing some please check the full changelog for details, there is quite a bit more stuff in there.

Community modules

In addition to the core GeoServer and extensions we have an active community area for experiments and new volunteers. This release comes with a number of new community modules that you might find useful.

Clustering modules

The community section now holds two clustering modules allowing a cluster of GeoServer instances to work against a shared vision of the data directory.

The first one, contributed by GeoSolutions, works using J2EE JMS messages to share the state against the various nodes, and allows the usage of the normal file based configuration, either in a shared data dir mode, or data dir per node mode. This is know as the “JMS clustering”, see the documentation for more details. The module is ready for testing as it’s part of the nightly builds.

The second one, contributed by Boundless, works by using Hazelcast distributed messages, and it’s designed to work best against the JDBConfig module. At this time there are no released artifacts or documentation, but the adventurous user will find it pretty easy to figure out.


The GeoFence advanced security subsystem has been donated to the GeoServer project by GeoSolutions earlier this year, this module is the plugin connecting a GeoServer instance to the GeoFence rule engine.

GeoFence allows to setup complex security rules and leverage the full power of the underlying GeoServer security subsystem, for example, it’s possible to establish security rules mixing in the same condition data and service being used, limit attributes available to certain users/operations, filter data so that certain records are not visible to the public, force certain default style to given user roles, and so on. The GeoFence wiki contains documentation on how to use and configure the system.

SOLR data store

The SOLR data store makes GeoServer connect to a SOLR server and publish its spatial document via the OGC protocols, efficiently making maps, serving them via the WFS service, and allowing spatial analysis via WPS. The user interface allows to classify sets of documents as layers, and map the document variable structure into the fixed structure of simple feature types served by GeoServer.

You can read an introduction in this blog post, and delve into details in the user documentation.

New WPS output formats

The gs-gpx and gs-kml modules offer two new PPIO to translate feature collection resulting off WPS processes in the respective formats. The KML one, in particular, also supports limited input parsing, allowing to send KML documents as inputs to the WPS services.

The WPS download process

The wps-download community module forms the basis of an “advanced clip and ship” tool that allows a client to ask for data in a specific area, eventually reprojecting it, estimate the download size, and allow the preparazion of a zip package with the desired data, all via asynchronous calls, providing a good replacement for WFS/WCS when the amount of data to be extracted is too large to be delivered via synchronous HTTP calls.

About GeoServer 2.7

Articles and resources for GeoServer 2.7 series:


Categories: OSGeo Planet

gvSIG Team: gvSIG aplicado a Arquitectura

OSGeo Planet - Wed, 2015-01-21 08:32

Hace unas semanas se celebraron las 10as Jornadas Internacionales gvSIG en Valencia (España), en las que se presentaron una gran cantidad de ponencias de temáticas distintas. En ellas hubo una sesión dedicada especialmente a arquitectura, en la que se presentaron varias ponencias con temas distintos como Sistemas de Información Geográfica en un despacho de arquitectura, licencias urbanísticas, o certificados de eficiencia energética, todos ellos proyectos muy interesantes.

Están disponibles tanto las presentaciones como la grabación de las mismas. Las ponencias que se presentaron relativas a arquitectura fueron concretamente:

- Los SIG aplicados a la gestión de proyectos en un despacho de arquitectura (PDF: 8.0 MB); VICENTE J. VALERO (Grado en Arquitectura Técnica)

- Sistemas de Información Geográfica para el Control de Licencias Urbanísticas (PDF: 4.7 MB); PABLO PERUCHO (Grado en Arquitectura Técnica)

- Aplicación de los SIG a los certificados de eficiencia energética en la localidad de Llíria (PDF: 5.4 MB); MIGUEL ÁNGEL SIMEÓ (Grado en Arquitectura Técnica)

- Metodología Multicriterio Para La Búsqueda De La Ubicación Óptima De Un Emplazamiento Público (ODP: 10.7 MB; PDF: 4.1 MB); RUBÉN HERNÁNDEZ (Grado en Arquitectura Técnica)

- Ruegos y preguntas de dicha sesión:

¡Esperamos que os sea útil esta información!


Filed under: events, gvSIG Desktop, spanish
Categories: OSGeo Planet

GeoSolutions: Protecting GeoServer with CAS in an Enterprise envronment

OSGeo Planet - Tue, 2015-01-20 14:14


Dear Readers, in this post we will show a practical use case taking advantages from the GeoServer CAS authentication provider extension. A small introduction first. As you may already know, GeoServer ships with an highly configurable security subsystem based on Spring Security. This has been completely re-engineered, providing a more secure and flexible authentication framework. We are not going to provide techincal details of the security framework in this blog, but it is worth to highlight few features which are quite interesting. Multiple authentication mechanisms can be active within GeoServer at a given time. The following figure illustrates the flow of a generic request. [caption id="attachment_1932" align="aligncenter" width="578"]1 Authentication Chain in GeoServer[/caption] Each GeoServer request is filtered through the authentication chain. The request is processed by each mechanism in the chain in order. If one of the mechanisms in the chain is able to successfully authenticate, the request moves to normal processing, otherwise the request is not routed any further and an authorization error (usually a HTTP 401) is returned to the user. In the case of GeoServer , the authentication chain is actually made up of two chains: a filter chain, which determines if further authentication of a request is required, and a provider chain, which performs the actual authentication. [caption id="attachment_1933" align="aligncenter" width="529"]2 Authentication Chain in detail: filters and providers[/caption] The filter chain performs a variety of tasks, including:
  • Gathering user credentials from a request, for example from Basic and Digest Authentication headers
  • Handling events such as ending the session (logging out), or setting the “Remember Me” browser cookie
  • Performing session integration, detecting existing sessions and creating new sessions if necessary
  • Invoking the authentication provider chain to perform actual authentication
The filter chain is actually processed twice, before and after the request is handled. The provider chain is concerned solely with performing the underlying authentication of a request. It is invoked by the filter chain when a filter determines that authentication is required. What is really important, is that the Authentication Providers are pluggable in GeoServer. It is possible to add/create extensions to the security framework, allowing GeoServer to authenticate against a wide variety of security protocols and systems. We are going to see how to configure and use the CAS Authentication Provider in GeoServer, in a real-world use case where GeoSolutions helped his client NATO STO CMRE with devleoping a distributed geospatial processing infrastructure for MetOc data First of all, let us introduce CAS, which stands for Central Authentication Service, is an enterprise Single Sign-On solution for web services. Single Sign-On (SSO) means a better user experience when running a multitude of web services, each with its own means of authentication. With a SSO solution, different web services may authenticate to one authorative source of trust, that the user needs to log in to, instead of requiring the end-user to log in into each separate service. The objectives of this work was to allow CMRE users to
  1. run complex geoprocessing algorithms on demand
  2. store the results on a cluster of GeoServer instance with a complete lifecycle management
  3. manage the outcomes with the ability to visualize them on a map.
It is also worth to point that cluster of GeoServer instances is responsible for providing MetOC data and layers both as input for the algorithms (via WCS 2.0) as well as for the maps (via WMS with multiple dimensions). A crucial requirement was that all the exposed web services were protected and not accessible by unauthenticated users by relying on the existing A&A infrastructure deployed at CMRE which is based on LDAP and CAS. This basically meant protecting  the GeoServer endpoints via integration with the available CAS and LDAP services.. The following simplified diagram depicts the services exposed to the users and protected by CAS. [caption id="attachment_1934" align="aligncenter" width="1000"]3 Complete Deployment Diagram of implemented solution[/caption] As said before, both MapStore and GeoServer have been protected by the CMRE CAS server. Thanks to that configuration, a user authenticated and authorized from the CMRE Portal, can now access the MapStore front-end or GeoServer data and services without any further authentication. On the other side, an unauthored user which tries to connect directly to MapStore or to GeoServer, will be immediately redirected to the CAS Login page, of the CMRE Portal. In the following sections, we are going to see how we configured and setup the CAS Authentication Providers on GeoServer. First of all the CAS server must be available and running. The first step is to import the server certificates into the GeoServer java virtual machine. The following command line can be used from and administrator to export the certificates (CRT) from the CAS server: [caption id="attachment_1942" align="aligncenter" width="628"]11 Configuring certificates: step 1[/caption] Once the server.crt is available, the procedure to import the certificate into the java virtual machine is the following one: [caption id="attachment_1943" align="aligncenter" width="628"]12 Configuring certificates: step 2[/caption] Enter the keystore password and confirm the certificate to be trustable. GeoServer should have been deployed with the CAS extension installed (check this page on how to intall an extension). Once the GeoServer is up and running, in order to configure the CAS Authentication Provider, you must click on the  “Authentication” link of the GeoServer GUI, Security section, as shown in the picture below: [caption id="attachment_1935" align="aligncenter" width="370"]4 Configuring the CAS Authentication provider: step 1[/caption] Scroll down to the “Authentication Filters” [caption id="attachment_1936" align="aligncenter" width="494"]5 Configuring the CAS Authentication provider: step 2[/caption] and add a new “CAS” auth filter [caption id="attachment_1937" align="aligncenter" width="426"]6 Configuring the CAS Authentication provider: step 3[/caption] Fill in the CAS auth filter fields with the CAS server information and remember that the Single Sign On works only on HTTPS secured channels [caption id="attachment_1938" align="aligncenter" width="445"]7 Configuring the CAS Authentication provider: step 4[/caption] finally update the “Filter Chains” accordingly [caption id="attachment_1939" align="aligncenter" width="515"]8 Configuring the CAS Authentication provider: step 5[/caption] Once everything is correctly configures, GeoServer will be protected by CAS. Everytime an unauthorized user tries to access to the GeoServer GUI or to a layer or dataset, he will be redirected to the CAS server login page. [caption id="attachment_1941" align="aligncenter" width="373"] step 5 Configuring the CAS Authentication provider: step 6[/caption] On a successfull login, the CAS server assigns a token to the user which must be provided as a request parameter on all the subsequent requests to GeoServer. The same token can be used to successully login into the others web services protected by the CAS without passing through the login form again. We would like to thank NATO STO CMRE for funding this work which was carried out as part of GeoSolutions Enterprise Support Services Plan. The GeoSolutions team, http://www.geo-solutions.it
Categories: OSGeo Planet

Nathan Woodrow: New addition

OSGeo Planet - Tue, 2015-01-20 14:00

Stace and I would like to welcome Matilda Anne Woodrow, born 5/1/15 at 10:36am.


She is a nice way to start 2015.

After the pretty crappy year that was 2014 it was finally nice to see Matilda in the flesh. The relief of seeing her alive and well is hard to put in words after losing Ellie in 2013.

People always ask about the lack of sleep, but it feels like we have more energy now then we did before. The emotional and physical toll that the pregancy took on our family had pretty much run us into the ground and it felt like it was never ending.

The toll of the pregancy had lead me to massive lack of motivation towards QGIS and pretty much everything else in life, which isn't healthy when you have a family to look after. Pro Tip: Get help if you find yourself in this spot, it be hard to recover if you go over the edge.

Anyway. Here is to a new year. A better year.

Categories: OSGeo Planet

gvSIG Team: Cursos de usuario de gvSIG gratuitos

OSGeo Planet - Tue, 2015-01-20 12:42

A partir del 16 de febrero comienzan unos cursos online gratuitos de gvSIG Desktop, ofrecidos por la Fundación Fessia en colaboración con la Asociación gvSIG.

Con dichos cursos se obtiene la certificación de usuario y la certificación usuario experto en gvSIG Desktop de manera gratuita. El colectivo al que va dirigido es únicamente a trabajadores en activo del sector agrario, forestal y pecuario.

Para este curso hay disponibles 175 plazas para la certificación de usuario y 50 plazas para la certificación de usuario experto. ¡No dejéis pasar la oportunidad!

Para más información se puede consultar la web www.gvsig-fessia.com o remitid las dudas vía email a informacion@gvsig-fessia.com o a través del teléfono 644979959 (en horario de 09.00 h. a 14.00 h.).

Más información sobre fechas, en http://www.gvsig-fessia.com/wordpress/wp-content/uploads/2015/01/NOTA-DE-PRENSA.pdf

Filed under: gvSIG Desktop, spanish, training
Categories: OSGeo Planet

GeoTools Team: GeoTools 12.2 released

OSGeo Planet - Tue, 2015-01-20 10:58
GeoTools 12.1 releasedThe GeoTools community is happy to announce the latest  GeoTools 12.2 download:This release is also available from our maven repository. This release is made in conjunction with GeoServer 2.6.2.
This is a release of the GeoTools 12 Stable series recommended for production systems. The release schedule now offers 6 months of stable releases followed by six months of maintenance releases.

A few highlights from the GeoTools 12.2-Release Notes:
  • A new process, FootprintExtractionProcess, uses the marching squares algorithm to extract the footprint of an image (the non black portion of it)
  • Allow disabling advanced projection handling support in grid covearge renderer
  • XML date parsing now allows some slightly off ISO standard dates too (as in, with the time non fully specified)
  • Minor fixes in SLD 1.1 parsing to support the Priority GeoTools extension in labelling
  • Some GeoPackage module fixes
  • Some improvements in reprojection handling, providing better results when reprojecting data towards north polar stereographic, or Lambert azimuthal equal area over polar areas
  • Improved robustness of the Decimator class against locations where the math transform return NaN values (improves map rendering in difficult areas while reprojecting)
  • A number of other fixes, check the release notes for full details
Thanks to Andrea (GeoSolutions) and Jody for this release (Boundless).
About GeoTools 12
Categories: OSGeo Planet

GeoServer Team: GeoServer 2.6.2 released

OSGeo Planet - Tue, 2015-01-20 10:48

The GeoServer team is happy to announce the release of GeoServer 2.6.2. Download bundles are provided (zipwardmg and exe)  along with documentation and extensions.

GeoServer 2.6.2 is the next the stable release of GeoServer and is recommended for production deployment. Thanks to everyone taking part, submitting fixes and new functionality:

  • The issue with GZIP encoding breaking CSS download in some browsers has been fixed
  • Have the pre-generalized store use again the simplified geometries against the PostGIS store (regressed in 2.6.0)
  • Relative paths in SLD using a “file://image.png” syntax are supported again (regressed in 2.6.0)
  • Removing also layer groups and styles contained in the workspace when the workspace is deleted
  • Make WCS 2.0 / WCS EO more lenient when the workspace is not specified in requests, or when a single mosaic granule is requested in EO requests
  • Allow disabling “advanced projection handling” for raster data via a system variable (for the few cases in which it misbehaves, fixes are underway, please do report if you see issues)
  • A number of minor fixes to WCS capabilities and GetCoverage handling
  • Added icelandic language support in the INSPIRE plugin
  • Check the release notes for more details
  • This release is made in conjunction with GeoTools 12.2

Thanks to Andrea (GeoSolutions), Jody and Kevin (Boundless) for this release

About GeoServer 2.6

Articles and resources for GeoServer 2.6 series:



Categories: OSGeo Planet

gvSIG Team: Compiling and debugging an example plugin for gvSIG 2.1.0 from an IDE (NetBeans)

OSGeo Planet - Tue, 2015-01-20 09:51

English translation of the article by Joaquin del Cerro.

Hi everyone,

I´m back to explain to you, how download the sources of one of the gvSIG project´s example and how compile it and debug it.

In this article, I will use as IDE Netbeans 8, which is the IDE that normally I use for developing with gvSIG long time ago. In the future, I will install an Eclipse and in another post I will tell you how to work with it. Anyway, if you are a developer used to Eclipse, it would not be difficult to take the explained ideas.

Keep in mind that this post doesn´t want to be a NetBeans tutorial, just to explain the steps to follow for being able to download and compile gvSIG plugin with it.

Once you have already followed the steps described in the post  “Como descargar y compilar gvSIG 2.1.0 en Linux y Windows“ and we have all the basic tools installed and set up, we can carry on.

To follow this post, we need internet access. In general, for compiling gvSIG we need internet access. And also:

  • An Installable of gvSIG, in my case “gvSIG-desktop-2.1.0-2262-testing-win-x86-standard-withjre.exe”
  • An Installable of NetBeans

First of all, we install IDE, NetBeans.

I´ve downloaded it from the NetBeans official website, in downloads:


We will find a few distributions availables for downloading:

  • Java SE
  • Java EE
  • C/C++
  • HTML5 & PHP
  • All

With the distribution “Java SE” will be enough for compiling the majority of gvSIG projects (excluding the ones requiring natives, because they are out of this post´s scope)

Simply we will download it and proceed to install it.

Through the initial set up, it will ask us for two things, where are we going to install it and where is the JDK to use. In this case, we will choose the JDK which we have already installed like it was explained in “Como descargar y compilar gvSIG 2.1.0 en Linux y Windows“.

Once we have installed NetBeans, we will install gvSIG. It will be a standard setup but we will not install it in “Program Files”;, I advise you to install it inside c:/devel, folder, where we have already downloaded the gvSIG sources. I have installed in :


The reason of installing it out of “Program Files” is because in my Windows installation, the user doesn´t have administrator privileges and if I do it in there, I will have problems later when I try to deploy the plugin binaries over that installation. Writing on c:/devel folder (created by me), I will not have any privilege problems at all.

Once we have these two things installed, we change the pathfile on “.gvsig-devel.properties” for pointing to the installation of gvSIG which we have just done in “c:/devel”.

Well, one more thing to do. The actual distribution for Windows of gvSIG-desktop doesn´t include a launcher in gvSIG.sh of gvSIG. The launcher is only included in Linux distribution( in future distributions we will include it as well for Windows). Well, for the moment is not present, so we have two options, if we have alredy compiled “org.gvsig.desktop”, we can take it from “org.gvsig.desktop/target/product” folder or if we don´t have it on hand, we can download it from:


We will leave it in the folder where we have installed gvSIG, along with the “gvsig-desktop.exe”.

Once we have these three things, we will boot NetBeans, then, downwnload the project “org.gvsig.landregistryviewer” and we will compile it. We will download it from the url:


To do it, we will go to menu:


netbeans-checkout1 It will show us the following screen:


Then, we will write in the field “Repository url” the value of the url (previously indicated) in where is the example project “org.gvsig.landregistryviewer”. We click on “Next”. It will show us the next page of the assistant, in which we should introduce the folder where we want to download the project. In our case, we will introduce “c:/devel”, and click on “Finish”.


When the project´s download finish, it will tell us about the maven projects presents in the donloaded project and it will ask us if we want to open any of them. The screen dialogue will be something like:

netbeans-checkout4 We click on “Open project…” to indicate which of the projects we want to open and it will show us:

netbeans-checkout5 We will select the project “org.gvsig.landregistryviewer” and click on “Open”.

When we try to load the project for the first time, probably some error will appear due to the fact that some dependencies are not downloaded, showing us a message like:

netbeans-checkout6 We only clik on “Close”.

Now, we will compile the downloaded project. To do that, we select it in the “proyectos” view and click on “Build project” of the toolbar.

netbeans-checkout7 The bottom console will be showing the compiling messages and once the process finishes, we will have our plugin compiled and deployed over the gvSIG installation.


So far, we have seen how to prepare our work environment, download and compile the plugin. If we want to see our plugin in action, simply we will boot Console2, go to gvSIG installation folder, c:/devel/gvsig/2.1.0-2262, and run gvSIG.sh.

$ cd c:/devel/gvsig/2.1.0-2262
$ ./gvSIG.sh

Let´s see how to debug our plugin.

We will open the subproject “org.gvsig.landregistryviewer.app.mainplugin”.

netbeans-abrir-proyecto1 It could happen that the plugin doesn´t realise that there are all the dependencies needed, already downloades when the project has been compiled.If this happens, iw will show us:

netbeans-abrir-proyecto2 In this case, we click on “Resolve Problems…” for updating the dependencies. It will show us:

netbeans-abrir-proyecto3 We click on “Resolve…” and wait until the project update. When the update is finished, the atención signal should dissapear and we will close the dialog clicking on “Close”.

Now, we will load the class LandRegistryViewerExtension and put a breaking point at method´s start CreateViewWindow. To do this, we click twice in the line´s number.

netbeans-debug1 Once done the breaking point, we will go to Console2 and we will go to boot gvSIG, but passing before the parameters “–debug –pause”.

netbeans-debug4 This boots the JVM activating the debug for being able to connect with it.

netbeans-debug5 It is possible that depending of the firewall setting, it will show us a message or even that doesn´t work. We need to make sure that we allow the app java.exe to access to 8765 port.

Then, we will back to NetBeans, and connect to gvSIG in debug mode.

netbeans-debug2 It will ask us for connection data…..

netbeans-debug3 When click on “OK”, it will carry on with the running of gvSIG in debug. As we have put a breaking point, it will stop on it and we will be able to debug our plugin.

netbeans-debug7 If we need to see the code of gvSIG, we click on Ctrl-O and type the class name which we want to locate.For instance, if wew want to put a breaking point in the proect creation, we will type Ctrl-O y “DefaultProject”

netbeans-debug8 And click on “OK”.

netbeans-debug9 If it doesn´t show us the source code (automatically downloaded, well, depending of our NetBeans setting), we can click on “Attach Sources…” and then “Download”.

netbeans-debug10 Once all the sources needed have been downloaded, we close the window clicking on “OK”. It will show us the code for the class “DefaultProject” and we can put a breaking point in its builder.

netbeans-debug11 Well, that´s it for today…..

All I have talked about is related to Windows 7. For Linux developers, it´s quite easy to follow and you just need to change the path c:/devel for the one that you use to leave the sources.

For Eclipse developers, the steps to follow are similars, the most complicated issue could be the support setting of maven which has already NetBeans.

It´s a post quite long (a lot of screenshots), but I think that they could be helpful to follow up the article.

I hope it was useful,
Greetings to all and thank you!

Filed under: development, english, gvSIG Desktop, gvSIG development
Categories: OSGeo Planet
Syndicate content