Re: Best way to represent values. - Mailing list pgsql-general

From Brent Wood
Subject Re: Best way to represent values.
Date
Msg-id 20051124111258.Q4229@storm-user.niwa.co.nz
Whole thread Raw
In response to Re: Best way to represent values.  (Dennis Veatch <dveatch@woh.rr.com>)
Responses Re: Best way to represent values.  (Dennis Veatch <dveatch@woh.rr.com>)
List pgsql-general

I suggest you look at PostGIS to store 2D & 3D geometric (spatial) data,
it may solve some of your problems....

You can store a vertical line as a well, and segments of that line which
represent the layers you are describing.

Brent Wood


On Tue, 22 Nov 2005, Dennis Veatch wrote:

> On Tuesday 22 November 2005 11:40, Lincoln Yeoh wrote:
> > At 01:19 PM 11/21/2005 -0500, Dennis Veatch wrote:
> > >I had thought just adding some fields called topsoil_start/topsoil_end,
> > >gravel_start/gravel_end, etc. But them I'm left with how to take those
> > > values and give to total depth for each layer and total depth of the
> > > well.
> > >
> > >But I'm not sure that is the best way to handle this.
> > >
> > >Does anyone have some other suggestions?
> >
> > I'm no DB guru, so I am probably a bit out of my depth here.
> >
> > But how about something like:
> >
> > create table well (
> > id serial,
> > name text,
> > created timestamp default null,
> > -- more fields probably follow - site, location, status etc
> > )
> >
> > create table layers (
> > id serial,
> > well_id int,
> > layertype_id int,
> > end_depth int
> > )
> >
> > create table layertype (
> > id serial,
> > layername text,
> > comment text
> > -- probably more fields
> > )
> >
> > (you probably might want to add the foreign key constraints etc etc).
> >
> > Basically you have table of wells.
> >
> > And then you have lots of rows in layers that are linked to the same well
> > by well_id, and you sort them by the end depth.
> >
> > And then you have a table of layertypes which each layer links to. So you
> > can create types of layers.
> >
> > e.g.
> > select layername,startdepth from well,layers,layertype
> > where
> > well.name='somewell'
> > and
> > well_id=well.id
> > and
> > layertype.id=layertype_id
> > order by end_depth asc
> >
> > I've no experience in wells but you might want an "Unknown" layertype to
> > fill in the gaps ;).
> >
> > You might alternatively want to have "start depth" instead of an "end
> > depth". I'd do end depth, since your data probably ends at the deepest
> > layer (I assume you never reach the core ;) ).
> >
> > You may need both start and end depths if there are multiple layers per
> > depth per well (nonuniform). In that case the queries could be a bit more
> > complex...
> >
> > I might have overlooked a few pitfalls here and there. Oh well...
> >
> > Good luck!
> >
> > Link.
> >
> > *runs and hides*
> >
>
> Thanks everyone for the on-line and off-line suggestions. Now I just need to
> sort through them.
>
> --
> You can tuna piano but you can't tune a fish.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly
>

pgsql-general by date:

Previous
From: "tschak"
Date:
Subject: Re: Set Returning Function (Pipelining)
Next
From: Ledina Hido
Date:
Subject: Delete statement does not work with PostgreSQL 8.0.1