Download the Rmarkdown file that created this page using the Code button above

Here’s how to add new sites to the choptank database.

Make sure you are connected to the database.

The list of current sites on this site is updated manually. To get the most up to date information, read directly from the database. The following code will query the database and make a dataframe called sites

sites <- dbGetQuery(db, "SELECT * FROM odm2.samplingfeatures WHERE samplingfeaturetypecv = 'Site'")
RS-DBI driver warning: (unrecognized PostgreSQL field type uuid (id:2950) in column 1)RS-DBI driver warning: (unrecognized PostgreSQL field type geometry (id:114457131) in column 7)

Add a new site with the db_describe_site function from the lastest updates of the rodm2 package. At minimum you must supply the database connection (db in this case), and a unique site_code (maximum 50 characters). You can also include a longer site_name (up to 255 characters long) and/or site_description (up to 5000 characters long).

devtools::install_github("khondula/rodm2")
Downloading GitHub repo khondula/rodm2@master
from URL https://api.github.com/repos/khondula/rodm2/zipball/master
Installing rodm2
'/Library/Frameworks/R.framework/Resources/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL  \
  '/private/var/folders/d7/5whj815j4n705g96f5pbwpj1mwqk25/T/RtmpYh3Vue/devtoolsdb33baa5028/khondula-rodm2-79a1985'  \
  --library='/Users/khondula/Library/R/3.5/library' --install-tests 

* installing *source* package ‘rodm2’ ...
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (rodm2)
Reloading installed rodm2
library(rodm2)
db_describe_site(db = db, site_code = "New site code", site_name = "New site name", site_description = "New site description")
Site New site code has been entered into the samplingfeatures table.

This information will get added to the samplingfeatures table, along with a unique identier created with the uuid::UUIDgenerate() function and will be recorded as “Site” sampling features from the controlled vocabulary (e.g. instead of “Specimen”).

Additional information about the site’s location (eg. coordinates) will be added separately with the describe_site_geom() function, which should be ready soon.

LS0tCnRpdGxlOiAiQWRkIG5ldyBzaXRlcyB0byB0aGUgZGF0YWJhc2UiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCj4gRG93bmxvYWQgdGhlIFJtYXJrZG93biBmaWxlIHRoYXQgY3JlYXRlZCB0aGlzIHBhZ2UgdXNpbmcgdGhlICoqQ29kZSoqIGJ1dHRvbiBhYm92ZQoKSGVyZSdzIGhvdyB0byBhZGQgbmV3IHNpdGVzIHRvIHRoZSBjaG9wdGFuayBkYXRhYmFzZS4gIAoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKbGlicmFyeShrbml0cikKbGlicmFyeShtYWdyaXR0cikKYGBgCgoKTWFrZSBzdXJlIHlvdSBhcmUgW2Nvbm5lY3RlZF0oaHR0cHM6Ly9wYWxtZXJsYWIudW1kLmVkdS9jaG9wdGFuay1kYi9jb25uZWN0Lm5iLmh0bWwpIHRvIHRoZSBkYXRhYmFzZS4gCgpgYGB7ciwgaW5jbHVkZSA9IEZBTFNFLCBtZXNzYWdlPUZBTFNFfQpsaWJyYXJ5KFJQb3N0Z3JlU1FMKQpwYXNzd29yZCA8LSBzY2FuKCIucGdwYXNzIiwgd2hhdD0iIikKZGIgPC0gZGJDb25uZWN0KFBvc3RncmVTUUwoKSwgCiAgICAgICAgICAgICAgICBob3N0ID0gInNlc3luYy1wb3N0Z2lzMDEucmVzZWFyY2guc2VzeW5jLm9yZyIsCiAgICAgICAgICAgICAgICBkYm5hbWUgPSAiY2hvcHRhbmsiLCAKICAgICAgICAgICAgICAgIHVzZXIgPSAicGFsbWVyZ3JvdXAiLAogICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBwYXNzd29yZCkKYGBgCgpUaGUgbGlzdCBvZiBjdXJyZW50IHNpdGVzIG9uIHRoaXMgc2l0ZSBpcyB1cGRhdGVkIG1hbnVhbGx5LiBUbyBnZXQgdGhlIG1vc3QgdXAgdG8gZGF0ZSBpbmZvcm1hdGlvbiwgcmVhZCBkaXJlY3RseSBmcm9tIHRoZSBkYXRhYmFzZS4gVGhlIGZvbGxvd2luZyBjb2RlIHdpbGwgcXVlcnkgdGhlIGRhdGFiYXNlIGFuZCBtYWtlIGEgZGF0YWZyYW1lIGNhbGxlZCBzaXRlcwoKYGBge3J9CnNpdGVzIDwtIGRiR2V0UXVlcnkoZGIsICJTRUxFQ1QgKiBGUk9NIG9kbTIuc2FtcGxpbmdmZWF0dXJlcyBXSEVSRSBzYW1wbGluZ2ZlYXR1cmV0eXBlY3YgPSAnU2l0ZSciKQpgYGAKCkFkZCBhIG5ldyBzaXRlIHdpdGggdGhlIGBkYl9kZXNjcmliZV9zaXRlYCBmdW5jdGlvbiBmcm9tIHRoZSBsYXN0ZXN0IHVwZGF0ZXMgb2YgdGhlIGByb2RtMmAgcGFja2FnZS4gQXQgbWluaW11bSB5b3UgbXVzdCBzdXBwbHkgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gKGBkYmAgaW4gdGhpcyBjYXNlKSwgYW5kIGEgdW5pcXVlIGBzaXRlX2NvZGVgIChtYXhpbXVtIDUwIGNoYXJhY3RlcnMpLiBZb3UgY2FuIGFsc28gaW5jbHVkZSBhIGxvbmdlciBgc2l0ZV9uYW1lYCAodXAgdG8gMjU1IGNoYXJhY3RlcnMgbG9uZykgYW5kL29yIGBzaXRlX2Rlc2NyaXB0aW9uYCAodXAgdG8gNTAwMCBjaGFyYWN0ZXJzIGxvbmcpLiAKCmBgYHtyfQpkZXZ0b29sczo6aW5zdGFsbF9naXRodWIoImtob25kdWxhL3JvZG0yIikKbGlicmFyeShyb2RtMikKZGJfZGVzY3JpYmVfc2l0ZShkYiA9IGRiLCAKICAgICAgICAgICAgICAgICBzaXRlX2NvZGUgPSAiTmV3IHNpdGUgY29kZSIsIAogICAgICAgICAgICAgICAgIHNpdGVfbmFtZSA9ICJOZXcgc2l0ZSBuYW1lIiwgIyBvcHRpb25hbCBsb25nZXIgbmFtZQogICAgICAgICAgICAgICAgIHNpdGVfZGVzY3JpcHRpb24gPSAiTmV3IHNpdGUgZGVzY3JpcHRpb24iKSAjIG9wdGlvbmFsIGxvbmdlciBkZXNjcmlwdGlvbgpgYGAKClRoaXMgaW5mb3JtYXRpb24gd2lsbCBnZXQgYWRkZWQgdG8gdGhlICoqc2FtcGxpbmdmZWF0dXJlcyoqIHRhYmxlLCBhbG9uZyB3aXRoIGEgdW5pcXVlIGlkZW50aWVyIGNyZWF0ZWQgd2l0aCB0aGUgYHV1aWQ6OlVVSURnZW5lcmF0ZSgpYCBmdW5jdGlvbiBhbmQgd2lsbCBiZSByZWNvcmRlZCBhcyAiU2l0ZSIgc2FtcGxpbmcgZmVhdHVyZXMgZnJvbSB0aGUgY29udHJvbGxlZCB2b2NhYnVsYXJ5IChlLmcuIGluc3RlYWQgb2YgIlNwZWNpbWVuIikuCgpBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzaXRlJ3MgbG9jYXRpb24gKGVnLiBjb29yZGluYXRlcykgd2lsbCBiZSBhZGRlZCBzZXBhcmF0ZWx5IHdpdGggdGhlIGBkZXNjcmliZV9zaXRlX2dlb20oKWAgZnVuY3Rpb24sIHdoaWNoIHNob3VsZCBiZSByZWFkeSBzb29uLiAK