[Gvsig_english] Export Shapefile behaviour with Joined Tables

Benjamin Ducke benjamin.ducke at oxfordarch.co.uk
Wed Dec 23 13:26:05 CET 2009


May get complex, though.
Because names prefixed with "j_" can still collide with existing
field names (imagine someone importing a Shapefile with fields
that already have that prefix). And then we will have to think
of some really clever ways to avoid name collisions.

My suggestion:

1. When exporting a shapefile, check if the are any duplicates
   in the (truncated) output field names
2. If no:  just export, do not add any prefixes
3. If yes: give the user a choice to Cancel and fix names
   manually or drop the duplicate fields on export

(the same may need to be applied for saving plain DBF tables,
so these logics should go into the DBF table handling, not
the shapefile export functions)

Btw.: if all this DBF mess gets too much, how about migrating
the project to a proper PostGIS DBMS?

Ben


----- Original Message -----
From: "Juan Ignacio Varela García (Nacho Uve)" <nvarela at cartolab.es>
To: "Users and Developers mailing list" <gvsig_internacional at listserv.gva.es>
Sent: Wednesday, December 23, 2009 1:19:36 PM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna
Subject: Re: [Gvsig_english] Export Shapefile behaviour with Joined Tables


+1 


2009/12/22 Simon Cropper (Botanicus Australia Pty Ltd) < scropper at botanicusaustralia.com.au > 


Hi, 

This is another - "it would be better" issues. 

When you join two tables and then export the shapefile to "hard code" 
the information so to speak. Despite having unique names the resulting 
attribute table to the exported shapefile has "j_" in front of all the 
field names. This is frustrating because if you have a field name, like 
I did, Active2005, Active2007 and Active2009 once this prefix is added 
the resulting table has tree fields called "J_ACTIVE20" as the fields 
are truncated to 10 characters. 

I suppose I could understand this behaviour if you have duplicate fields 
in the original joined table (i.e. the use of a prefix) but the creation 
of a table that has duplicate field names is a violation of the rules 
around DBFs (i.e. you can't have two fields the same). 

The export facility should review the output file's attribute table 
names and confirm that duplicate names have not been generated. 

Personally, I think that if you have a joined table and no fields have 
the same name then the exported table should just be a reflection of 
this - i.e. the "J_" should not be inserted. 
-- 

Cheers Simon 

Simon Cropper 
Botanicus Australia Pty Ltd 
PO Box 160, Sunshine, Victoria 3020. 
P: 9311 5822. M: 041 830 3437. 
mailto: scropper at botanicusaustralia.com.au 
<mailto: scropper at botanicusaustralia.com.au > 
web: www.botanicusaustralia.com.au < http://www.botanicusaustralia.com.au > 

_______________________________________________ 
Gvsig_internacional mailing list 
Gvsig_internacional at listserv.gva.es 
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional 



-- 
Juan Ignacio Varela García (Nacho Uve) 
Coordinador Grupo de Desarrollo 
Cartolab - Laboratorio de Ingeniería Cartográfica 
http://www.cartolab.es 

ETS Ingeniería de Caminos, Canales y Puertos 
Universidade da Coruña 
Campus de Elviña - 15071 A Coruña (España) 
(34)981167000 ext. 5493 

_______________________________________________
Gvsig_internacional mailing list
Gvsig_internacional at listserv.gva.es
http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_internacional


------
Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information.



More information about the Gvsig_internacional mailing list