Dbase (DBF)

From GRASS-Wiki
Revision as of 22:53, 25 February 2008 by ⚠️Timmie (talk | contribs) (formatting)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Some ML-Threads

Is there a simple way to join some attribute data in a comma separated text file to an existing GRASS vector map?

The data in the CSV file does not have any coordinates but a primary key field that also exists in the polygon map it needs to be joined to.

  1. Answer 1:
    • use rdbms as data backend (including for the map you want the data to be connected to)
    • db.in.ogr
    • create view combining map attribute table with new table from csv-file (using key)
    • v.db.connect -o map table=NewView
  2. Answer 2:
    • install SQLite (it does not need setup but works out of the box)
    • set the DBMI settings with db.connect (see manual page for copy-paste example)
    • use v.db.join
    • use g.copy or db.copy to easily transform from DBF (or whatever to SQLite).
  3. Answer 3:
    • identify names and types of columns in csv file
    • v.db.addcol the relevant columns
    • for each line in csv file: v.db.update

Is there a tool which can convert a dBase file into a ASCII or CSV file?

  1. Answer 1:
  2. Answer 2:
    • ogr2ogr -f CSV output world.shp world
  3. Answer 3:
    • db.out.ogr
  4. Answer 4:
  5. Answer 4:
  6. Answer 5:
    • OO.org Base instead of Calc

Is it safe to edit the DBF-table outside of GRASS in another program?

For instance in OpenOfficeCalc? Or even as a CSV with Python, IDL, etc.?

  1. Answer:
    • Yes. You can actually create whatever dbf you want, wherever you want as long as it contains a column with the id's of the objects. Then you can connnect your vector map to this dbf with v.db.connect.

I need to do some calculations on my attribute tables. What is the corresponding command in GRASS for this?

  1. Answer:
    • v.db.addcol
    • v.db.update