This is what I ended up using: R: library(Hmisc) # Read all tables in the Microsoft Access database blabla.mdb # perhaps better change to Locale in which the .mdb file was # generated to avoid that accented table column names are # getting lost.file first Sys.setlocale('LC_ALL','C') Sys.setenv(PATH=paste(Sys.getenv('PATH'),'/sw/bin',sep=':')) d <- mdb.get('/Users/sefick/Desktop/FtBragg_GeoDataBase_AuburnUNV.mdb') #create database sqlite3 library(RSQLite) drv <- dbDriver("SQLite") con <- dbConnect(drv, dbname = '/Users/sefick/Desktop/GISbragg.db') for(z in 1:length(d)) dbWriteTable(con, names[z], d[[z]]) dbDisconnect(con)
GRASS: now I have a database called GISbragg.db and db.in.ogr successfully imported a table. I need to make a vector out of this. Is there a way to import the entire database and have them all come in as vectors? Stephen Sefick On Sun, Aug 9, 2009 at 1:35 AM, Markus Neteler<nete...@osgeo.org> wrote: > On Sun, Aug 9, 2009 at 3:23 AM, stephen sefick<ssef...@gmail.com> wrote: >> I have a GIS database that is in .mdb format (microsoft access). I >> have found mdb tools through my debian package manager, but now I >> don't know how to get the data out of the the database and into GRASS. >> There are x and y coordinates and other things in the database. Is >> there a tutorial on how to get the data into GRASS from this database? > > I see two ways: > > 1) via unixODBC > For Linux, you need "unixODBC" to be installed (your preferred distribution > most likely contains this package). As done, get also the MDB Tools, > compile it with unixodbc support enabled if not already done. > Then follow instructions at http://www.gdal.org/ogr/drv_pgeo.html > > 2) via R > > R > install.packages('Hmisc', dependencies=TRUE) > library(Hmisc) > # Read all tables in the Microsoft Access database blabla.mdb > # perhaps better change to Locale in which the .mdb file was > # generated to avoid that accented table column names are > # getting lost.file first > d <- mdb.get('/path/to/blabla.mdb') > contents(d) > for(z in 1:length(d)) print(attributes(d)$names[z]) > > > There you are. Now write out to something else with the "foreign" > package: > > install.packages('RSQLite', dependencies=TRUE) > library(RSQLite) > drv <- dbDriver("SQLite") > con <- dbConnect(drv, dbname = '/tmp/blabla.db') > dbWriteTable(con, "mynewtable", d) > dbDisconnect(con) > > Now you can open '/tmp/blabla.db' with 'sqlite3' or > other software, e.g. GRASS (import with db.in.ogr). > > Cheers > Markus > -- Stephen Sefick Let's not spend our time and resources thinking about things that are so little or so large that all they really do for us is puff us up and make us feel like gods. We are mammals, and have not exhausted the annoying little problems of being mammals. -K. Mullis _______________________________________________ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user