class with join
Zolla Michalak
michalak at hwr.arizona.edu
Mon Feb 19 11:48:02 PST 2001
We ending up doing this by taking the existing dbf file, converting it to
text, combining it in a new text file with the new data, then converting
the whole thing back into a dbf file, and it works with the original shape
file! All this was with a perl script and using an open source text to dbf
converter we found on the web
(http://www.usf.uni-osnabrueck.de/~fkoorman/software/dbftools.en.html)
-zolla
On Tue, 13 Feb 2001, Stephen Lime wrote:
> I assuming you're refering to the part:
>
> 1) open sites shapefile and taxa dbf file
> 2) create a new taxa shapefile (type=point)
> 3) for each taxa record
> - find the appropriate shape in sites
> - read it from sites
> - write it to taxa
>
> It's just a way to build a shapefile around an existing dbf file. If I remember
> right each site maps to multiple records in the taxa file, and the taxa records
> are unique to a particular point. My suggestion was to create a point file (based
> on sites) for the taxa dbf file. So, the taxa file would end up containing the
> same site point many times. Does this make sense?
>
> Steve
>
> Stephen Lime
> Internet Applications Analyst
>
> Minnesota DNR
> 500 Lafayette Road
> St. Paul, MN 55155
> 651-297-2937
>
> >>> Zolla Michalak <michalak at hwr.arizona.edu> 02/07/01 06:45PM >>>
>
> We are using JOIN to bring in new attributes to a layer, and need to make
> classes based on the joined attributes, but just discovered by reading the
> archives that this is not possible, directly.
>
> I'm trying to figure out what our options are. One option would be to edit
> the dbf file of the shape file, adding our new attributes directly, rather
> than using JOIN. But I wanted to see if there is an easier way before I go
> that route.
>
> Here is a copy of resonse to a previous question about class with join
> that we found in the archives. Steve, could you explain in more detail the
> options listed here in the following message?
>
>
> >>Um, nope. No joins are supported for classification purposes. You can
> only use directly attached attributes. This was done for performance
> reasons. It's technically feasible though.
>
> There are a couple of work arounds. The most straight forward would be
> assign a shape to each record in the taxa dataset. You'll have duplicate
> shapes (shapefile spec allows it) but with the maps you want to make that
> won't be an issue. You can use mapscript to build the shapefile using your
> taxa .dbf file as the new attribute table. Here's the approach
>
> 1) open sites shapefile and taxa dbf file
> 2) create a new taxa shapefile (type=point)
> 3) for each taxa record
> - find the appropriate shape in sites
> - read it from sites
> - write it to taxa
>
> It's redundant but space it cheap and it will certainly be a lot faster.
> You may also
> want to add some metrics to sites.dbf as you go like number of taxa, date
> range
> or whatever.
>
> Steve
>
> Stephen Lime
> Internet Applications Analyst
> ---------------------------------------------------------------------------
>
>
> -Thanks!
>
> ***************************************************
> Zolla Michalak
> Support Systems Analyst
> Hydrology, University of Arizona
> (520) 626-8746 http://hydis.hwr.arizona.edu
> ***************************************************
>
>
>
>
More information about the MapServer-users
mailing list