Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#737 closed enhancement (fixed)

SHP provider: Allow ':' characters in property name

Reported by: danstoica Owned by: Dan Stoica
Priority: major Milestone: 3.6.0
Component: SHP Provider Version: 3.5.0
Severity: 2 Keywords:
Cc: External ID:

Description

http://downloads.cloudmade.com/

Download the Victoria, Australia OSM SHP data from:

http://downloads.cloudmade.com/oceania/australia/victoria/victoria.shapefiles.zip

Extract the SHP files and attempt to load the Location data from victoria_location.shp

Expected result: File is loadable in Map Actual Result: Failure with the following error message.

Error: An exception occurred in FDO component.

Invalid Feature schema element name 'ADDR:CITY'; must not contain ':'

This is because the underlying SHP table has a column that uses ":" as a character in its column name.

As OSM data is pretty common and getting more and more popular, it may be necessary to remap those : characters to something else ie "_" rather than just throwing an error and failing,

Change History (7)

comment:1 by danstoica, 13 years ago

Resolution: fixed
Status: newclosed

comment:2 by jng, 13 years ago

changeset for this fix?

comment:3 by danstoica, 13 years ago

Resolution: fixed
Status: closedreopened

comment:4 by danstoica, 13 years ago

Resolution: fixed
Status: reopenedclosed

comment:5 by danstoica, 13 years ago

Resolution: fixed
Status: closedreopened

comment:6 by danstoica, 13 years ago

Resolution: fixed
Status: reopenedclosed

comment:7 by gregboone, 13 years ago

The following change sets illustrate the changes made in the SHP provider to allow DBF files that have columns containing ":" and "." to be read and processed by FDO

http://trac.osgeo.org/fdo/changeset/5858

http://trac.osgeo.org/fdo/changeset/5859

If ":" or "." are found, these characters are replaced by "_" when the DBF Physical schema is read and exposed as logical FDO Schema. Thus columns that are physically defined as a:b will be exposed logically as a_b.

Note: See TracTickets for help on using tickets.