• Italiano
  • English
  • Français

Feed aggregator

GRASS GIS 6.4.0 released

Markus Neteler - Wed, 09/08/2010 - 12:31
The GRASS Development Team announces GRASS GIS 6.4.0 released 3 September 2010
We are pleased to announce the release of GRASS GIS 6.4.0, the first in the new line of 6.4 stable releases. As a stable release 6.4 will enjoy long-term support. The next release (6.4.1) will introduce a few new features which are still undergoing final testing, but after that all further 6.4 releases will be bugfix-only. Due to our highly conservative stabilization policy this is the first official version of GRASS to introduce new features since October 2006 and supersedes the previous stable line of GRASS 6.2. As such the floodgates are open and there are many new features to explore and many new structural improvements to be found in the software. GRASS 6.4 brings a number of exciting enhancements to the GIS. Our new wxPython graphical user interface (wxGUI) is debuted, Python is now a fully supported scripting language, and for the first time since its inception with a port from the VAX 11/780 in 1983, GRASS will now run natively on a non-UNIX based platform: MS-Windows! In addition to bringing the software to a host of new users, the ability to run GRASS on any common computer platform furthers our goal of open access to the software. We hope you will enjoy the ability to use this program on the systems that are most convenient to you and your work.
Due to the freshness of WinGrass there may still be a few rough edges yet to discover, but after more than a year of dedicated testing and quality-assurance review we are very pleased with the results. Users can be confident to use this version for their day to day work, indeed due to the open development model many already do. Existing UNIX and Mac users will be happy to know that these new features do not disrupt the base GIS which remains as solid as ever and fully backwards compatible with earlier GRASS 6.0 and 6.2 releases. The venerable Tcl/Tk GUIs are also still available if you prefer to use them.
The GRASS software including over 400 built-in analysis modules and 100 community supplied add-on modules and toolboxes can be downloaded for free from the main GRASS website at http://grass.osgeo.org, or from many local mirrors worldwide. In addition to the extensive documentation which comes with the software, our Wiki help system contains a wealth of user supplied tips and tricks, tutorials, and guides.
Since 6.4 entered the testing phase work has begun on GRASS 7 and is progressing rapidly, including many new wxGUI improvements and tools which we hope to bring over for the upcoming 6.4.1 release.
About GRASS GISThe Geographic Resources Analysis Support System, commonly referred to as GRASS, is a Geographic Information System (GIS) providing powerful raster, vector, and geospatial processing engines in a single integrated software suite. GRASS includes tools for spatial modeling, visualization of raster and vector data, management and analysis of geospatial data, and the processing of satellite and aerial imagery. It also provides the capability to produce sophisticated presentation graphics and hardcopy maps. GRASS has now been translated into twenty languages and supports a huge array of data formats. GRASS is a founding member of The Open Source Geospatial Foundation (OSGeo), a non-profit legal entity which has enjoyed extraordinary growth. We expect that this formal infrastructure will guarantee that the GRASS community will be well supported and vibrant far into the future.
GRASS is currently used around the world in academic and commercial settings as well as by many governmental agencies and environmental consulting companies. It runs on a variety of popular hardware platforms and is Free open-source software released under the terms of the GNU General Public License.
Users are encouraged to study, customize, extend, improve, and (if necessary) diagnose and repair the inner workings of any part of the program. We believe that scientific progress depends on the reproducibility of results, which in turn depends on the unhindered ability of the user to know, evaluate, double-check, and learn from all algorithms and methodologies used in the process of their work.
ScreenshotsPlatforms supported by GRASSGNU/Linux, Mac OS X/Darwin, Microsoft Windows (native using MinGW or with full UNIX support via Cygwin), Sun Solaris (SPARC/Intel), Silicon Graphics Irix, HP-UX, DEC-Alpha, AIX, the BSD family, iPAQ/Linux and other UNIX compliant platforms. GRASS runs on both 32 and 64 bit systems with large data file (>2GB) support for most key modules.
Software download/CDROMThe new source code is available now and binary packages for major operating systems will be published shortly.
For details on GRASS software capabilities please refer to: http://grass.osgeo.org/intro/general.php, and the Wiki collaborative help system.
What's new in GRASS 6.4.0(selected improvements from the nearly 9,000 updates to the source code)
  • Source code quality/libraries:
    • Many internal adjustments needed for native MS-Windows support, for example safely handling spaces in file names.
    • Programmer's Manual: continued Doxygen integration and automated generation into PDF and HTML formats. Publicly available for download and perusal.
    • Improved policies for code submission specified in the SUBMITTING files for documentation, Python, Tcl/Tk, and shell scripts
    • New Python scripting language library containing many helper functions
    • All modules: --quiet and --verbose message modes
    • All modules: --script flag generates boilerplate for shell scripts with parser and GUI support
    • Batch mode for launching GRASS for non-interactive processing tasks
    • DBMI: SQL parser extended (support for DROP COLUMN, ASC/DESC keyword in ORDER BY clause, etc.)
    • Partial differential equations library with OpenMP multi-processor support
    • Major clean-up of the display architecture (libraries and drivers): the drivers no longer maintain a palette; all colors are now specified directly as R/G/B values
    • The "default" datum transformation parameters are now first in the list instead of last
    • Ability to create new locations using EPSG codes with the g.proj module
    • Message translation (i18N): many new translated messages, new languages including Vietnamese and Arabic
    • Documentation/man pages: various fixes and improvements (more examples added, including graphics, improved style, new introductory pages)
    • Documentation: various terminology issues fixed and terms unified
    • Symbols: A number of new icons, support for symbol rotation
  • Graphical User Interface (GUI):
    • g.gui: New frontend command to launch GUI sessions
    • wxPython GUI:
    • gis.m Tcl/Tk GUI:
      • GIS manager extended with mouse placement of text and scale bars and menu updates
      • Updated Tcl/Tk profile and georectification GUI tools
      • New interactive command console with output window
      • New interfaces for interactive raster reclassification, raster recoding, custom raster color rules, and vector reclassification
      • New animation tool to display raster map series as an animation
    • Improved startup screen and interface, including searchable EPSG codes list and better custom datum support
    • NVIZ: Major revamp of interface; output directly to MPEG or other FFmpeg supported formats
    • QGIS integration: GRASS toolbox extended, available from Quantum GIS
  • Drivers:
    • DBF driver: extended column type support
    • HTMLMAP display driver: NEW - Prepares clickable HTML image map templates (port from GRASS 5)
    • PostScript display driver: NEW - Renders display directly into a PostScript or Encapsulated PostScript file
    • Cairo display driver: NEW - Renders display directly into a number of image formats using the Cairo rendering engine
  • New and major updates for modules and scripts since GRASS 6.2.3:
    • db.dropcol: NEW - Drops a column from selected attribute table
    • db.droptable: NEW - Drops an attribute table
    • db.in.ogr: NEW - Imports attribute tables in various formats
    • db.login: Support for interactive password entry (invisible passwords)
    • db.out.ogr: NEW - Exports attribute tables into various formats
    • d.barscale: North arrow for lat/lon locations
    • d.out.file: Expanded to use the Cairo and PostScript display drivers to allow export to ps, eps, svg, and pdf formats
    • d.path: Support for use from GUI and non-interactive mode
    • d.rast.edit: Rewritten in Tcl/Tk
    • d.shadedmap: NEW - Drapes a semi-transparent raster over a shaded relief map
    • d.text, d.font: Updated to accept TrueType fonts and maintain a database of system fonts
    • g.dirseps: NEW - Internal utility for converting directory characters (MS-Windows)
    • g.extension: NEW - Utility for downloading and installing Add-on modules
    • g.findetc: NEW - Internal utility for locating support files
    • g.gui: NEW - Launches a GRASS graphical user interface (GUI) session
    • g.message: NEW - Internal utility for printing quiet and verbose messages in scripts
    • g.mkfontcap: NEW - Internal utility for generating a list of available system fonts
    • g.mremove: Support for use from GUI
    • i.atcorr: NEW - Performs atmospheric correction using the 6S algorithm
    • i.landsat.rgb: Vast speed improvement
    • ps.map: Various improvements including new map border control, rotated and scaled symbols, and allowing geogrid from lat/lon locations
    • r3.gwflow: NEW - Models transient, confined groundwater flow in three dimensions
    • r3.stats: NEW - Generates volume statistics for raster3d maps
    • r3.univar: NEW - Calculates univariate statistics from the cells of a 3D raster map
    • r.bilinear: This module has been replaced by r.resamp.interp
    • r.category: NEW - Manages raster map category values and labels (replaces r.cats)
    • r.colors: Support for equalized histogram, reversed, logarithmically scaled, rules-from-file, and more
    • r.gwflow: NEW - Models transient, confined groundwater flow in two dimensions
    • r.in.wms: Various fixes and more robust when dealing with flaky WMS servers
    • r.in.xyz: Support for extended statistics
    • r.le suite: Various fixes and modernization
    • r.li suite: NEW - Advanced toolset for multiscale analysis of landscape structure.
      Including single and multi-processor enabled modules: r.li.cwed, r.li.dominance, r.li.edgedensity, r.li.mpa, r.li.mps, r.li.padcv, r.li.padrange, r.li.padsd, r.li.patchdensity, r.li.patchnum, r.li.richness, r.li.setup, r.li.shannon, r.li.shape, and r.li.simpson
    • r.mfilter.fp: NEW - Raster map custom matrix filter (floating point version)
    • r.out.gdal: New C implementation replaces shell script version, region sensitive with color export ability
    • r.out.xyz: NEW - Exports a raster map to a text file as x,y,z values based on cell centers
    • r.profile: Report data outside the current region as invalid
    • r.proj: Replaced with an improved version
    • r.resamp.interp: NEW - Resamples raster map layers to a finer grid using interpolation
    • r.resamp.stats: NEW - Resamples raster map layers to a coarser grid using aggregation
    • r.support: Enhanced control of meta-data
    • r.support.stats: NEW - Support module which updates raster map statistics
    • r.univar: Support for extended statistics
    • r.watershed: Vast speed improvement
    • r.what.color: NEW - Queries colors for a raster map layer
    • v.db.dropcol: NEW - Drops a column from the attribute table connected to a given vector map
    • v.db.join: NEW - Allows to join a table to a vector map table
    • v.db.renamecol: NEW - Renames a column in the attribute table connected to a given vector map
    • v.db.univar: NEW - Calculates univariate statistics on selected table column for a vector map
    • v.digit (Tcl/Tk): Rewritten for use without X11
    • v.digit (wxPython): NEW - All new vector map digitizer rewritten in wxPython
    • v.edit: NEW - Edits a vector map, allows adding, deleting and modifying selected vector features
    • v.generalize: NEW - Generalization of vector features using a number of smoothing techniques
    • v.in.db: More efficient implementation of the where= option
    • v.in.wfs: NEW - Import GetFeatures from WFS format
    • v.net.visibility: NEW - Visibility graph construction
    • v.out.svg: NEW - Exports a vector map to SVG format
    • v.proj: Better handling of z coordinates in 3-D vectors
    • v.support: NEW - Updates vector map metadata
    • v.surf.idw, v.surf.bspline, and v.surf.rst: Work with massive datasets imported without topology (e.g. LIDAR)
    • v.to.3d: NEW - Performs transformation of 2D vector features to 3D
A more detailed description of changes can be found in the previous announcements of the GRASS 6.3 development preview release and the GRASS 6.4.0 release candidate series.
For a comprehensive list of changes see the 6.4 ChangeLog file.
For a complete list of commands available in GRASS 6.4.0 see the online manuals and the GRASS 6.4 module list.

We are always looking for testers, code developers, and technical writers to help us maintain and accelerate the development cycle. The GRASS GIS project is developed under the terms of the GNU General Public License (the GPL) in the open by volunteers the world over. GRASS differs from many other GIS software packages used in the professional world in that it is developed and distributed by users for users, mostly on a volunteer basis, in the open, and is given away for free. Emphasis is placed on interoperability and unlimited access to data as well as on software flexibility and evolution rate.
Release history:
Short version GRASS Development Team
Categories: GIS Open Source

The Waldseemüller World Map

Fuzzy Tolerance - Sun, 09/05/2010 - 14:55

If you’re into cartography, you’ll want to check out Toby Lester’s Google Tech Talk on the Waldseemüller world map, recently purchased by the library of congress for $10 million.

…the map’s main claim to fame is that it gave America its name. But the map also represents a number of other important firsts in the history of cartography, and in the larger history of ideas. It was the first map to show the New World surrounded by water, and thus to suggest the existence of the Pacific Ocean; it was one of the very first maps to lay out a picture of the world in a full 360 degrees of longitude; and it was the first map to present the contours of the world’s continents and oceans largely as we know them today. It was, in many ways, the mother of all modern world maps..


Categories: GIS Open Source

Welcome to our first employee!

Tim Sutton - Thu, 09/02/2010 - 10:22

This week we have taken on our first employee! Samantha Booysen will be working as office manager. She will keep things running smoothly so that the geek in residence can focus on coding. She is all set up with an Ubuntu computer to do her work on and we will include her on our training courses so that she starts to learn about FOSS GIS too. Samantha doesn’t have an IT background but she is very interested in social upliftment which is something close to our hearts here at Linfiniti so we are sure she will fit right in. Welcome Samantha, we hope you enjoy working here!

pixelstats trackingpixel
Categories: GIS Open Source

A week in Tanzania

Tim Sutton - Wed, 09/01/2010 - 23:19

I spent most of last week in Dar es Salaam, Tanzania. A lovely tropical country in the heart of Africa. I was there as part of a project I am working to create tools for Biodiversity Informatics practitioners. Of course the tools are based on Free Software: Quantum GIS and openModeller.

The attendees at the workshop were entertained by my talk about what FOSS is and why it is important, an introduction to QGIS slideshow (superbly presented by Marco Hugentobler), and ending with a tour of openModellerDesktop. We also did some live demonstrations of QGIS and openModeller, before going on to discuss details about how these tools can be used to support their Biodiversity Informatics workflows.

The meeting was funded by the Global Biodiversity Information Facility (GBIF) with Juan Bello as their representitive, and hosted by the Tanzanian Commission for Science and Technology (COSTECH).

In case you are unfamiliar with the aims of GBIF, they are facilitating the digitisation (or digitization for our american readers) of the worlds biodiversity records – herbarium records, museum collections and so on. COSTECH provides the local infrastructure and staff for the ‘TanBif’ node in Tanzania.

The meeting also included ‘in-country’ experts in the fields of GIS, Meteorology, Ecology, IT and so on. I think for all of the attendees, the concept of FOSS was a real eye-opener. African economies can’t compare with those in Europe and the USA and the capital outlay for proprietary software that presents an irritation in the Western world is a major burden in the third world. So just knowing that they could dive in and use QGIS was a great revelation.

We finished our workshop a little early on the Friday so Marco and I offered to go along to the COSTECH offices and geo-enable their PostgreSQL species occurrence database and install QGIS on their desktop PC’s running Windows XP. In the space of a couple of hours we were done – the major part of which was spent showing the TanBif staff members how to bring up the PostGIS layer in QGIS, perform simple queries and make maps. Having spent days in the past trying to get proprietary software like Oracle and Arc*** configured, optimised, licensed and generally usable, I was struck by just how easy and quick it is to get someone up and running with a robust enterprise ready PostGIS geospatial datastore and a user friendly Free Software desktop GIS like QGIS.

Thanks to the friendly Tanzanian folks for their hospitality – I look forward to my next visit! Here are some piccies from the trip…

Juan Bello telling us about the cool things you can do with a good Biodiversity Information repository.

The workshop attendees (Marco and Juan out of shot)


Marco showing Godfrey how to use QGIS to bring up their PostGIS Biodiversity dataset.

Godfrey proudly showing off his first map (made with QGIS)!

Marco killing a mosquito – he became something of an expert!

pixelstats trackingpixel
Categories: GIS Open Source

EU: International team developing open source hospital information system

Open Source Observatory and Repository - Tue, 08/31/2010 - 21:28
An international team of software developers specialising in medical systems is working on a hospital information system. Earlier this month on the OSOR Forge, the project began soliciting others to join the team. "If you are willing to participate in this great community, there are plenty of things to be done, from translation, quality control, adding new functionality to localization."
Categories: Open Source

BE: Political party moving to a complete open source desktop

Open Source Observatory and Repository - Tue, 08/31/2010 - 21:24
Ecolo, a green political party in Belgium, is planning to complete its move to a complete open source desktop system by the end of 2011. On the 220 workstations in its main office, it will gradually replace the underlying operating system to Ubuntu Linux, says Sebastien Bollingh, the party's ICT manager.
Categories: Open Source

EU: Rise in use of EUPL for publishing open source software

Open Source Observatory and Repository - Tue, 08/31/2010 - 21:15
The European Union's open source licence, (European Union Public Licence, EUPL) is being used more and more. A quarter of the projects available on the European Commission's software development site, the OSOR Forge, 47 out of 183 projects, are published using the EUPL. On Sourceforge, a commercial venture for open source software development based in the US, the licence is now selected by 49 projects. One year ago there were none.
Categories: Open Source

News Roundup – GIS Stack Exchange, ESRI Deprecation Plans, Employee Shoots Server

Fuzzy Tolerance - Tue, 08/31/2010 - 13:33

First up is the release of the GIS Stack Exchange Beta. If you’re a developer, you know what Stack Exchange is. If there’s a better resource for getting tech help, I haven’t seen it. Check it out and answer some questions. A high reputation on Stack Exchange can open up job opportunities for developers. Hopefully over time it will do the same for GIS.

Next up is the ever-popular ESRI Deprecation Plan (PDF). Every time ESRI does a major platform releases, it reassesses its software stack and targets the losers for termination. There were no big surprises here, but you can go ahead and give a parting smooch to the following: VBA, Arcinfo Workstation, ArcIMS, the Web ADFs, MXD’s in AGS, ArcGIS Image Server, AGS on 32bit platforms, and just about everything that was running on Solaris.

Canvasdemos, a site dedicated to showing demos of the HTML5 canvas element in action, has a World Map Quiz that’s pretty cool. The author has offered it to the Khan Academy. Also in the HTML5 demo camp is this site created by Google.

While I’m on the subject, as much as saying this makes my head hurt, Internet Explorer 9 is looking pretty good. The latest preview sports an Acid3 score of 95/100, which will go a long ways toward patching up Microsoft’s relationship with web developers. They’re slightly ahead of schedule, with the beta due out in a month or so. The big selling point of IE 9 is hardware (GPU) acceleration, and on that front things aren’t looking so good for Microsoft. Firefox 4 will have hardware acceleration, and the latest Chromium build also has hardware acceleration baked in (need to set –enable-accelerated-compositing flag). By the time IE 9 rolls out, hardware acceleration in browsers may be commonplace.

Via Slashdot:

A drunken mortgage worker at RANLife Home Loans decided for unknown reasons to take out the company’s $100,000 server with a .45-caliber automatic, blaming the damage on an imagined assailant who: mugged him, assaulted him with his own weapon, drugged him, and then broke into his office to shoot said server.

To paraphrase Chris Rock, I’m not saying he did the right thing there. But I understand.

And now for some random bits:

  • Google Earth Blog has a nice write up on the Nagasaki Atomic Bomb Archive, which attempts to capture first-hand stories of the event. It’s a really cool use of Google Earth.
  • Via everywhere, Google Wave is dead. Part of the failure was one of implementation – how do you use a social site when the beta is closed and none of your friends is on it? But even with that set aside, I think it was a product without a market. The technology was good though, and parts of Wave will live in a lot of other projects.
  • MPEG LA decided rather belatedly that H.264 will be free forever, with WebM being the reason. I think that ship has sailed, and Google is driving the ship – whatever YouTube does will be the standard.
  • Via the All Points Blog, Ushahidi now has a hosted service called Crowdmap. Ushahidi is a platform originally developed to collect and map crisis information, but can be used for all kinds of stuff. The software is free and open source.
  • And finally, via Slashdot, the Austrian town of Frauenkirchen has received a patent on being at the geographic center of Europe. Yes, a patent. I think I’m going to apply for a patent on stupid patents and retire.


Categories: GIS Open Source

UK: 'Government use of ODF would help break vendor lock-in'

Open Source Observatory and Repository - Mon, 08/30/2010 - 12:27
A UK government's decicion to use ODF (Open Document Format) for its electronic documents, would help public administrations overcome vendor lock-in for office applications, says Liam Maxwell, councillor for Royal Borough of Windsor & Maidenhead. He says the move will start the process to the billions of savings that British government needs to find in unproductive areas of spending.
Categories: Open Source

EE: Tallin city and college fund poll and referenda application

Open Source Observatory and Repository - Mon, 08/30/2010 - 10:54
Diara, an open source application allowing public administrations to us the Internet to organise polls, referendums, petitions, public inquiries and allowing to record electronic votes using electronic ID cards, is developed with support from the city of Tallin and the College of Technology in Estonia.
Categories: Open Source

FR: Marseille city administration can't get rid of vendor lock-in

Open Source Observatory and Repository - Fri, 08/27/2010 - 13:44
The administration of the French city of Marseille is giving up its plans to decrease it's IT vendor lock-in. The move to OpenOffice is almost completed, but about 35 percent of all workstations are forced to continue to also run a proprietary office suite, because of applications that link exclusively to that suite's spreadsheet and text editor.
Categories: Open Source

ES: Andalusia government studying switch to open source desktop

Open Source Observatory and Repository - Fri, 08/27/2010 - 11:54
The government of Andalusia, one of Spain's autonomous regions, is preparing to use a complete open source desktop environment. The analysis of requirements of such a desktop system is nearly completed, the next step will be a few small scale tests, according to a presentation by José Félix Ontañón, one of the software developers involved.
Categories: Open Source

EU: University publishes Braille extension for OpenOffice

Open Source Observatory and Repository - Tue, 08/24/2010 - 14:37
The Katholieke Universiteit Leuven in Belgium published odt2braille, a Braille extension to OpenOffice, a open source suite of office productivity tools, earlier this month.
Categories: Open Source

IT: Municipality of Modena removing vendor dependency office tools

Open Source Observatory and Repository - Tue, 08/24/2010 - 14:27
The Italian municipality of Modena is well on its way to become independent from a major IT vendor for its office productivity tools, reports Laura Seidenari, instructor at the city's IT department.
Categories: Open Source

QGIS Mapserver – A WMS Server for the masses

Tim Sutton - Mon, 08/23/2010 - 22:18

Marco Hugentobler recently included his QGIS WMS Server work into QGIS trunk. You may have noticed QGIS being mentioned in Paul Ramsey’s post about the WMS Shootout at OSGEO2010 and thought to yourself “huh? whats that?”. Well let me introduce you….

The QGIS mapserver project implements a WMS server on top of the QGIS
libraries (funded by the EU projects Orchestra, Sany and the city of Uster).

– Marco Hugentobler

Building

You need to be using QGIS Trunk (or a nightly build with OSGEO4W for Windows users). On my Linux system I needed to install the fast cgi dev files:

sudo apt-get install libfcgi-dev

Then just recompile and install QGIS. After its built you will find a new item in the bin dir. On my system I build QGIS into ~/apps so my QGIS Server binary was here:

/home/timlinux/apps/bin/qgis_mapserv.fcgi Configuration

Since I build my QGIS into a non system dir, I had to tell apache about the library path for my CGI. Something like this:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all # Next for QGIS Mapserver SetEnv LD_LIBRARY_PATH /home/timlinux/apps/lib </Directory>

Next I went to the cgi bin dir:

cd /usr/lib/cgi-bin/

And then I made a project directory. The rule is: one directory per QGIS project you want to serve.

sudo mkdir world cd world

Next I linked in the qgis cgi:

sudo ln -s /home/timlinux/apps/bin/qgis_mapserv.fcgi .

and then copied in the project file:

sudo cp /home/timlinux/gisdata/QGISProjects/world.qgs .

Symlinking of the project file may work for you – check your apache configs to allow symlinking I guess.

One other thing to do is copy the capabilities document into the world directory. Actually the server still works without it but we want to be neat & tidy right?

sudo cp /home/timlinux/dev/cpp/qgis/src/mapserver/wms_metadata.xml .

Now edit that file and set your details as appopriate.

I guess you are waiting to carry on with the next 25 pages of configuration instructions….right? Wrong! Thats all you need to do!

Testing

First you want to make a nice QGIS project and save the .qgs file in the project directory as outlined above. Here is what my QGIS project looked like:

To test you can point your web browser at your server:

http://localhost/cgi-bin/world/qgis_mapserv.fcgi?SERVICE=WMS& VERSION=1.3.0&REQUEST=GetCapabilities

Which makes a capabilities doc something like this:

And how about a nice map?

http://localhost/cgi-bin/world/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0& REQUEST=GetMap&BBOX=-36.215710,6.817432,-9.700450,58.551008& CRS=EPSG:4326&WIDTH=1077&HEIGHT=552&LAYERS=Continent,Country,Cities& STYLES=,,&FORMAT=image/jpeg&DPI=96

Which produced this:

And just to be really meta, lets load the WMS source back into QGIS from where it started!

You see the map renders exactly the same as our original project – marvelous!

Things to note
  • The project should use relative paths (see project properties dialog)…or better yet load your data into PostGIS and forget shapefiles.
  • Dont forget to copy over your capabilities document and edit it with appropriate details
  • This is not a ‘robotosed’ GUI ala early versions of ArcIMS which took over your desktop application. Its a full ‘headless’ cgi web service.
  • You can use all the nice new symbology and labelling features of QGIS to make top quality maps

Thanks to Marco (and those who sponsored him)!

Addendum to notes added Aug 23, 11:17pm (provided by Andreas Neuman)

* QGIS Mapserver (or however it will be called) implements WMS 1.3 only (not WMS 1.1.1)
* GetFeatureInfo should support: text, html, xml
* GetFeatureInfo honors some of the attribute settings of a QGIS layer: hidden attributes are suppressed, column aliases are used if present.
* When doing the GetCapabilities, the answer can be very slow and big, because for every layer, QGIS will return all available CRS. You can limit this list by using adding the following XML elements to the properties section:

<properties> <WMSEpsgList type="QStringList"> <value>21781</value> <value>4326</value> </WMSEpsgList> </properties>

QGIS will not remove these settings from the .qgs file after saving it from the desktop version, but currently there is no GUI to do the WMS settings.

* By default, QGIS Mapserver will advertise the maximum extent of all involved layers. This can be overridden by the following setting, again in the section of a .qgs file; replace with your own min/max settings:

<properties> <WMSExtent type="QStringList"> <value>692000</value> <value>241500</value> <value>700100</value> <value>249000</value> </WMSExtent> </properties>

* GetLegendGraphics should work, e.g.

http://yourserver/cgi/qgis_mapserv.fcgi?map=/home/qgisprojects/myproject.qgs&SERVICE=WMS& REQUEST=GetLegendGraphics&FORMAT=image/png&LAYERS=hydrology&WIDTH=400

* QGIS Mapserver can handle multiple project files with one fcgi binary. On a first request of a newly started Apache server, the request will be slower, because the .qgs file has to be parsed, later requests are fast, because there is a cache for more .qgs files. You can use the “map=/home/path/to/your/project.qgs” parameter to specify which project you want to access.

It would be nice if we could expose some of the “hidden” WMS properties in a GUI, somewhere in the QGIS project properties. Maybe a Server-Settings tab.

Thanks for the additional comments Andreas!

pixelstats trackingpixel
Categories: GIS Open Source

Overpainting with Mapnik

Tim Sutton - Sat, 08/21/2010 - 23:00
The problem

I’ve been having a little poke around with Mapnik today (awesome software!). One of the things on my todo list has been to sort out rendering issues with roads we have been having. Our last iteration described roads something like this:

A style…

<Style name="Freeway30th_style"> <Rule> <LineSymbolizer> <CssParameter name="stroke">rgb(169,170,153)</CssParameter> <CssParameter name="stroke-width">12.26</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> <CssParameter name="stroke-opacity">1</CssParameter> </LineSymbolizer> <LineSymbolizer> <CssParameter name="stroke">rgb(255,172,88)</CssParameter> <CssParameter name="stroke-width">12.16</CssParameter> <CssParameter name="stroke-linejoin">miter</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> </LineSymbolizer> </Rule> </Style>

…and this layer definition…

<Layer name="Freeway30th" srs="+init=epsg:&srid;" maxzoom="39105.90277777778"> <StyleName>Freeway30th_style</StyleName> <Datasource> <Parameter name="dbname">&dbname;</Parameter> <Parameter name="estimate_extent">0</Parameter> <Parameter name="extent">&extent;</Parameter> <Parameter name="geometry_field">&geometry_field;</Parameter> <Parameter name="host">&host;</Parameter> <Parameter name="password">&password;</Parameter> <Parameter name="port">&port;</Parameter> <Parameter name="srid">&srid;</Parameter> <Parameter name="table">(SELECT * FROM "l_roads" WHERE "type" = \ 'Freeway' ORDER BY LENGTH(&geometry_field;) DESC) as "l_roads"</Parameter> <Parameter name="type">&datasourcetype;</Parameter> <Parameter name="user">&password;</Parameter> </Datasource> </Layer>

With the idea being to render freeways with a gray outline and orange center. Unfortunately, it doesnt produce good results:

The problem being those little line ends you see making gray splodges at the end of each segment.

The solution

Michael Migurski’s blog discusses this issue a little in this article but doesnt directly explain how to achieve the desired effect. So here is what you do:

First the styles are split into two…

<Style name="Freeway30th_style-bottom"> <Rule> <LineSymbolizer> <CssParameter name="stroke">rgb(169,170,153)</CssParameter> <CssParameter name="stroke-width">12.26</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> <CssParameter name="stroke-opacity">1</CssParameter> </LineSymbolizer> </Rule> </Style> <Style name="Freeway30th_style-top"> <Rule> <LineSymbolizer> <CssParameter name="stroke">rgb(255,172,88)</CssParameter> <CssParameter name="stroke-width">12.16</CssParameter> <CssParameter name="stroke-linejoin">miter</CssParameter> <CssParameter name="stroke-linecap">round</CssParameter> </LineSymbolizer> </Rule> </Style>

and then the layer is now rendered as two layers, the bottom layer first, then the top:

<Layer name="Freeway30th-bottom" srs="+init=epsg:&srid;" maxzoom="39105.90277777778"> <StyleName>Freeway30th_style-bottom</StyleName> <Datasource> <Parameter name="dbname">&dbname;</Parameter> <Parameter name="estimate_extent">0</Parameter> <Parameter name="extent">&extent;</Parameter> <Parameter name="geometry_field">&geometry_field;</Parameter> <Parameter name="host">&host;</Parameter> <Parameter name="password">&password;</Parameter> <Parameter name="port">&port;</Parameter> <Parameter name="srid">&srid;</Parameter> <Parameter name="table">(SELECT * FROM "l_roads" WHERE "type" = \ 'Freeway' ORDER BY LENGTH(&geometry_field;) DESC) as "l_roads"</Parameter> <Parameter name="type">&datasourcetype;</Parameter> <Parameter name="user">&password;</Parameter> </Datasource> </Layer> <Layer name="Freeway30th-top" srs="+init=epsg:&srid;" maxzoom="39105.90277777778"> <StyleName>Freeway30th_style-top</StyleName> <Datasource> <Parameter name="dbname">&dbname;</Parameter> <Parameter name="estimate_extent">0</Parameter> <Parameter name="extent">&extent;</Parameter> <Parameter name="geometry_field">&geometry_field;</Parameter> <Parameter name="host">&host;</Parameter> <Parameter name="password">&password;</Parameter> <Parameter name="port">&port;</Parameter> <Parameter name="srid">&srid;</Parameter> <Parameter name="table">(SELECT * FROM "l_roads" WHERE "type" = \ 'Freeway' ORDER BY LENGTH(&geometry_field;) DESC) as "l_roads"</Parameter> <Parameter name="type">&datasourcetype;</Parameter> <Parameter name="user">&password;</Parameter> </Datasource> </Layer>

A much cleaner rendering!

Note

This approach consumes more cpu time and hits your database harder than the ‘messier’ approach shown first.

Also you can see in the example above, I have adopted Michaels approach of rendering long lines first.

Have fun with your mapnik maps!

pixelstats trackingpixel
Categories: GIS Open Source

Gaming foursquare with 9 Lines of Perl

Fuzzy Tolerance - Sat, 08/21/2010 - 21:26

Via Slashdot, a researcher at the University of Illinois at Chicago has figured out how to game foursquare with 9 lines of Perl with standard Perl libraries.

#!/usr/bin/perl -W use IO::Socket; srand; sleep(rand()*600); my $sock = IO::Socket::INET-&gt;new(PeerAddr=&gt;'api.foursquare.com', PeerPort=&gt;80, Proto =&gt;'tcp', Type=&gt;SOCK_STREAM) or die; $ARGV[1] += rand() * 0.0001 - 0.00005; $ARGV[2] += rand() * 0.0001 - 0.00005; my $str = "vid=$ARGV[0]&amp;private=0&amp;geolat=$ARGV[1]&amp;geolong=$ARGV[2]"; print $sock "POST /v1/checkin HTTP/1.1\r\nHost: api.foursquare.com\r\nUser-Agent:" ." Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ " ."(KHTML, like Gecko) Version/3.0 Mobile/1C10 Safari/419.3\r\nContent" ."-Type: application/x-www-form-urlencoded\r\nAuthorization: Basic " ."XXXXXX\r\nContent-length: ", length($str)+2, "\r\n\r\n$str\r\n"; $_=&lt;$sock&gt;;

With XXXXXX being a Base64 encoding of your foursquare email/phone:password. The author makes a convincing case that it would be extremely hard to protect against checking in spoofed locations, and that similar services could be spoofed in much the same way.


Categories: GIS Open Source

EU: Guide on procurement of open source revised

Open Source Observatory and Repository - Sat, 08/21/2010 - 12:14
The Guideline on public procurement of Open Source Software, was revised in June 2010. The latest version includes references to recent procurement policies developed by Spain and Malta and to this year's approval by Italy's constitutional court on the country's Piedmont regional administration procurement law.
Categories: Open Source

ST_Intersects and ST_Buffer: No

Paul Ramsey - Sat, 08/21/2010 - 01:28
If you find yourself writing a query like this:

... WHERE ST_Intersects(ST_Buffer(g1, r), g2)

Stop. Take a cleansing breath. Do this:

... WHERE ST_DWithin(g1, g2, r)

With the carbon emissions you save doing it the efficient way, you can afford to drive to the ice cream store for a well-deserved reward.
 
Categories: GIS Open Source

Exploits of a Mom

Fuzzy Tolerance - Fri, 08/20/2010 - 21:40

XKCD


Categories: GIS Open Source
Syndicate content

PostgreSQL  Debian  Drupal  Valid XHTML 1.0 Transitional  Valid CSS!  Creative Commons