[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [udig-devel] Seeking more direction from the uDIG community | 
Question for Cory;
Can we let the PostGisGeoResource resolve to a the JDBC connection pool? 
That way Mr Richardson can just start coding with JDBC (which he appears 
to be comfortable with).
Jody
Hello Community,
Thanks for previous help you've offered.  I could use a bit more 
direction if possible to determine whether I should carry on with uDIG 
for a small project I am working on.  I'm finding the uDIG development 
learning curve to be a bit steep so far.
I've spent the last few days looking at uDIG (e.g. plugin tutorial and 
all the other online resources) and I am trying to figure out the 
simplest way to make use of powerful postgreSQL/postGIS capabilities. 
Previously I was concerned with constructing spatial queries on 
massive point data sets.  These processes are easy if I use a standard 
postgreSQL interface like psql or pgAdmin.  It seems like it should be 
a fairly simple task to construct plugins within uDIG that make use of 
these and other RDBMS capabilities through JDBC (if they don't already 
exist somewhere).  I read an entry on Cory Horner's community page 
about extending uDIG functionality to incorporate better RDBMS 
capabilities. I am most definitely interested in this because I am 
always faced with problems where this type of capability would be an 
asset.
To give you an idea of the type of functionality I am interested in, 
considering the following two examples:
(1) I am constantly using GIS and RDBMS capabilities separately 
(loosely coupled fashion)for information management in the field of 
hydrology. For example - I need to summarize the joint probability 
distribution of land-use and soil types to determine an average 
(lumped) runoff coefficient for nested watersheds (since runoff is a 
function of landuse and underlying soil properties, among other 
things).  I do this by exporting the polygon intersection of a soils 
layer, land-use layer and watershed layer to a RDBMS.  Then I use 
lookup tables to determine coefficients for individual landuse-soil 
combinations and use an aggregate query to determine the mean value 
To: User-friendly Desktop Internet GIS <udig-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [udig-devel] Seeking more direction from the uDIG community
References: <1034188519.20070110160334@xxxxxxxxxxxxxxxxxxxxx>	<45A52321.7000604@xxxxxxxxxxx>
	<9CAB6176-ED66-4F51-A889-A5D0CDE3E1AE@xxxxxxxxxxxxxxx>
In-Reply-To: <9CAB6176-ED66-4F51-A889-A5D0CDE3E1AE@xxxxxxxxxxxxxxx>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-BeenThere: udig-devel@xxxxxxxxxxxxxxxxxxxxx
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: User-friendly Desktop Internet GIS <udig-devel@xxxxxxxxxxxxxxxxxxxxx>
List-Id: User-friendly Desktop Internet GIS <udig-devel.lists.refractions.net>
List-Unsubscribe: <http://lists.refractions.net/mailman/listinfo/udig-devel>, 
	<mailto:udig-devel-request@xxxxxxxxxxxxxxxxxxxxx?subject=unsubscribe>
List-Archive: <http://lists.refractions.net/pipermail/udig-devel>
List-Post: <mailto:udig-devel@xxxxxxxxxxxxxxxxxxxxx>
List-Help: <mailto:udig-devel-request@xxxxxxxxxxxxxxxxxxxxx?subject=help>
List-Subscribe: <http://lists.refractions.net/mailman/listinfo/udig-devel>,
	<mailto:udig-devel-request@xxxxxxxxxxxxxxxxxxxxx?subject=subscribe>
X-List-Received-Date: Wed, 10 Jan 2007 21:59:03 -0000
Thanks Jesse,
Are there some coded examples on working with geotools?  I don't see 
exactly how I can execute queries on multiple layers using QUERY and 
DATASTORE objects, although it's obviously possible from what you say.
I think getting the database connection and generating custom SQL would 
be most flexible, even if it's not very slick.  Also, in some cases I 
work with massive point files (posted a question about this a couple 
days ago) and I think it would be better to have spatial queries done on 
the server side. Similarly with time-series data it is often necessary 
to add temporary columns, iterate through the table several times and 
perform some calculations.  Given this I would happily take you up on 
some details to go this route, if it isn't too much trouble for you...
On the other hand, I may find this gets over my head fairly quickly and 
just have to implement these ideas without using uDIG for anything 
accept for viewing outputs!
Murray
Jesse Eichar wrote:
Right now a layer is a table in postGIS.  Using the QUERY object and a 
FeatureStore from the layer, it is possible to obtain features from that 
table with the attributes you specify in the query.  The types of 
queries that can be created can be very complex and can use many spatial 
operations.  However the datastore is primarily an Access/Query object 
that allows access to the features in the PostGIS (or more generally the 
data source what ever it may be) for viewing or direct editing.  There 
isn't an API for adding columns but there is one for creating new tables.
There is not yet an OPERATIONS API yet in Geotools, which is likely what 
you are looking for.  There are currently 2 ways to do what you require 
that I can think of:
1. In order to satisfy your requirements on the server side you would 
have to get the Database connection and generate custom SQL queries and 
execute them.
2. You can fetch the features to the client using the Datastore API and 
its queries, and do the calculations on the client and write the result 
back to the PostGIS, also using the Datastore API.
As far as I can tell you can do most of these steps using the second 
method.  As I said Queries (and Filters) can do some very complicated 
work including GeoSpatial and other "normal" queries.  Intersection, 
differences, etc... can all be done server side using Filter and Query.
If you want more details on any of these steps let me know,
Jesse
On 10-Jan-07, at 9:32 AM, Murray Richardson wrote:
Hello Community,
Thanks for previous help you've offered.  I could use a bit more 
direction if possible to determine whether I should carry on with uDIG 
for a small project I am working on.  I'm finding the uDIG development 
learning curve to be a bit steep so far.
I've spent the last few days looking at uDIG (e.g. plugin tutorial and 
all the other online resources) and I am trying to figure out the 
simplest way to make use of powerful postgreSQL/postGIS capabilities. 
Previously I was concerned with constructing spatial queries on 
massive point data sets.  These processes are easy if I use a standard 
postgreSQL interface like psql or pgAdmin.  It seems like it should be 
a fairly simple task to construct plugins within uDIG that make use of 
these and other RDBMS capabilities through JDBC (if they don't already 
exist somewhere).  I read an entry on Cory Horner's community page 
about extending uDIG functionality to incorporate better RDBMS 
capabilities. I am most definitely interested in this because I am 
always faced with problems where this type of capability would be an 
asset.
To give you an idea of the type of functionality I am interested in, 
considering the following two examples:
(1) I am constantly using GIS and RDBMS capabilities separately 
(loosely coupled fashion)for information management in the field of 
hydrology. For example - I need to summarize the joint probability 
distribution of land-use and soil types to determine an average 
(lumped) runoff coefficient for nested watersheds (since runoff is a 
function of landuse and underlying soil properties, among other 
things).  I do this by exporting the polygon intersection of a soils 
layer, land-use layer and watershed layer to a RDBMS.  Then I use 
lookup tables to determine coefficients for individual landuse-soil 
combinations and use an aggregate query to determine the mean value 
for each watershed.  It is nice to then join the mean value back to 
the watershed layer and display this in a map.  I also use the RDBMS 
to do reporting of the individual intersected polygons by watershed.  
This type of analysis and reporting is standard in flood risk 
assessment and could be very easily streamlined with a tool like uDIG 
and postgreSQL.
(2) Storing and accessing spatial-temporal hydrology data is an 
emerging area of interest (consider the ESRI ArcHydro framework if 
you're familiar with it) and an interesting direction for Open Source 
GIS. For example, I would like to be able to store decades worth of 
hourly streamflow data for numerous gauged weirs within a postgreSQL 
DB and have this linked to a uDIG application that allows me to 
extract the streamflow data by (e.g.) clicking on a point station and 
entering a date.  The query result could be just exported to a text 
file for now. This capability would open the door to a whole range of 
interesting spatial-temporal hydrology applications (e.g. recession 
analysis, climate and streamflow data interpolation, hydrologic model 
parameterization).
Based on these two particular examples, could someone perhaps direct 
me on how to proceed to develop a very simple proof of concept for 
enhanced RDBMS capabilities within a GIS environment?  Consider 
example 1 for instance - can I create a uDIG operation that is 
accessed by right-clicking on 3 highlighted layers (like the 
difference operation that is available when two layers are selected).  
For my purposes I would like these to be postGIS layers.  The 
operation could then execute the postGIS intersection procedure, the 
attribute join and the aggregate function all within the postgreSQL 
service, and then map the results back to the watershed layer for 
display in uDIG?
I know this is a fairly specific question, but what it boils down to 
is, how do I access postGIS spatial operations as well as general 
postgreSQL RDBMS functionality and non-spatial tables within the uDIG 
environment?
Thanks in advance for any help.  This project is for a small Open 
Source/Open Access Student Experience program grant I am working on 
through University of Toronto that involves developing a 
proof-of-concept idea and some educational tutorials using 
postgreSQL/postGIS.  I would like to eventually be able to post the 
results on my own uDIG community page if things go well. I think this 
type of work could help open up uDIG capabilites to the slightly less 
technical users like myself (e.g. GIS and basic programming/RDBMS 
skills experience, but still need lots of examples and explicit 
documentation to follow!).
Look forward to hearing back from someone - hope it's not too much to 
ask over a mailing list!
--Murray Richardson, M.Sc
PhD Candidate
University of Toronto
murray.richardson@xxxxxxxxxxx
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel
--No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.8/621 - Release Date: 1/9/2007 
1:37 PM