Willem QGIS can do all these things as Martin has explained above. You
can also see the qgis blog where I have posted various short tutorials
on embedding QGIS canvas controls into your vertical application.

One more thing that you should keep in mind when doing your
evaluations is that QGIS is released under the GPL and uses the GPL
version of Qt4 so you would be expected to to develop your software
under the same license.



On 12/29/06, Martin Dobias <[EMAIL PROTECTED]> wrote:
On 12/29/06, Willem Jenniskens <[EMAIL PROTECTED]> wrote:
> Hello,
>  The company I work for wants to develop certain GIS functionality on top of
> an existing GIS product. I would like to do a small comparison between the
> various GIS programs so that we can make a motivated decision. The
> application must enable us to develop the following:

Hi Willem,

when developping applications with QGIS, there are basically two options:
- create a plugin for QGIS
- create an application based on QGIS libraries - you can start a new
application and use only some functionality from QGIS - e.g. postgis
data provider, map renderer or map canvas etc.

Applications have to be written with C++ and Qt as QGIS is based on
them. In 0.9 release you will have also possibility to use Python
instead of C++.

> - create functionality where a user can place symbols, lines or polygons in
> the map by drawing in the map. Next, a dialogbox must appear where he can
> enter some attribute information. The coordinates and the entered attribute
> data must be stored in a spatial database (postgis).

Yes, you can use map canvas API for this or just directly use
digitizing functionality of QGIS. Postgis backend is well supported.

> - One can have multiple views (windows) that are linked together; so when
> you pan in one view, the other views will pan along automatically. (there
> are different layers in each view)

This could be done in case you would develop a new application - there
you could create multiple map canvases and connect them together.

> - Create short-cut keys for various functions; for example to make layers
> visible / invisible and to zoom in to a certain scale.

Should be easy - actions in Qt allow settings shortcuts.

> - It must be fast with raster and vector data

Well, this is for your own consideration whether it's fast enough.

> - Make use of global variables that we can use in the entire application

Why not...

> - Create buttons, menu bars, etc that execute our developed scripts

A piece of cake :)

Check out developer's corner on QGIS wiki, you'll find some tutorials
on how to develop plugins and/or custom applcations with QGIS:

Qgis-user mailing list

Tim Sutton

Visit http://qgis.org for a great Open Source GIS
Home Page: http://linfiniti.com
Skype: timlinux
Jabber: timlinux
Irc: timlinux on #qgis at freenode.net
Qgis-user mailing list

Reply via email to