Dbase (DBF): Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
m (formatting)
(added to FAQ category)
Line 39: Line 39:
#* v.db.addcol
#* v.db.addcol
#* v.db.update
#* v.db.update
[[Category:FAQ]]

Revision as of 22:54, 25 February 2008

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