GeoDB Application for the Palm OS
GeoDB is an application for the Palm OS based handhelds to store Earth location information.
information is available to be imported by all of the geographic oriented programs at the
Bray Palm OS Page, as well as third-party
applications designed to accept data from GeoDB.
GeoDB stores the following data:
- Latitude and longitude of an Earth location.
- The time zone data in the form of time offset from Greenwich.
- The elevation.
- The rules for computing daylight time.
GeoDB allows the locations to be organized into multiple databases.
You can build these databases on your Palm by:
See more about the sources of data and databases below in the section called Memo.
- entering the data directly,
- by importing comma separated value (CSV) memos from the Palm's MemoPad, or
- by installing pre-made database
- that you have already made,
- are supplied in the GeoDBData.zip archive included in the GeoDB archive (geodb??.zip),
- in the GeoDB Tools archive (geodbtools.zip), or
- are obtained from others.
By storing ones favorite locations in GeoDB it is a trivial task to change the reference for Earth & Sun,
GeoMagneticInfo, or any of the three stored location in RiseSet. An additional feature provides the
computation of Daylight Time when a location is imported. GeoDB returns the state of daylight time to the
Its is also easy to compute great circle distances with GreatCircle and GeoDB.
There are other database applications that can store similar information such as in GeoDB. However,
none of these offer sufficient accuracy to take full advantage of the accuracy in RiseSet and Earth &
To allow long location names to be displayed, the main display screen rounds all coordinates to the
nearest whole degree. However, the latitude and longitude values may be entered to an accuracy of
better than 0.1 inches (0.25 cm). This may seem like 'overkill', but it allows for future use of GeoDB
for high precision data applications such as surveying. Each application which imports data from GeoDB
can use as much of the precision as it needs.
We hope you find GeoDB a useful adjunct to your Palm applications.
Installation is simple. Unzip the geodb11.zip file. Use your Palm installer to install
GeoDB will be placed in the 'Unfiled' category. You may move it to any category.
The geodb11.zip archive file includes:
- The executable file to be installed in your Palm.
- This file -- geodb.html
- gdbdls.gif, gdbedit.gif, gdbeditdls.gif, gdbempty.gif, gdbmain.gif, gdbmenu.gif,
gdbmenum, gdbmenud, gdbmenme.gig, gdbnew.gif
- Images for geodb.html
- A zip archive of data and databases to assist making your own GeoDB databases.
Using the Program
When you first open GeoDB the main screen has no data locations defined. You will see the default
database name, GeoDBData, the data headings at the top and five buttons along the bottom.
These button are:
Other controls are available in the menus -- discussed below.
- Select: This bottom makes the highlighted record the item to be imported into other
applications. Pressing this after highlighted a record exits GeoDB.
If you exit GeoDB without selecting a record the previously selected record is retained.
If you exit GeoDB when no locations have defined, or all of them deleted, the entire database
(GeoDBData.pdb) is deleted.
In that case, when other programs try to access a location it will appear that GeoDB has not
been installed. Be assured that it is still installed in your Palm OS.
See the discussion
on database below for much more information.
- Edit: This button opens the highlighted record in a dialog box where each entry can be
Also use Edit to review the information about a location. When done you can use use the
Cancel button to be sure that no information was changed.
- New: This button opens an empty edit dialog box to add a new record to the database.
- Find: This button is used to search the database for a location. Tapping the
Find bottom brings up a dialog box to enter the location for which to search. Find
looks for locations whose name starts with the letters you enter. It is a case insensitive.
The first location found is displayed at the top of the screen.
If no locations is found,
the screen is scrolled such that the top location would preceded the desired location had it
been in the database.
- Scrolling arrows: Use these buttons, or the hardware scroll buttons, to scroll the
records up or down. Note that the scrolling buttons are shown as inactive (grayed out) since
there is nothing to scroll.
You create a location entry by taping the
This pops up a dialog box, as shown to the right, with all of the record fields empty.
The rules for filling the fields are as follows:
- Name: The name can be up to 17 characters long.
- Longitude: The longitude field is filled with up to 13 characters in the following
- Degrees -- e.g. 44.6427
- Degrees:Minutes -- e.g. 44:38.562
- Degrees:Minutes:Seconds -- e.g. 44:38:33.721
The only allowable input characters are: digit, '.' and ':'. That is, digit, period, and colon.
Should you forget this, tap the i in the upper right of this dialog box.
Be sure to set the correct direction for the location -- North or South for latitude, East or West
for longitude -- using the pop-up selection list to the right of the number.
- Latitude: The same rules as longitude apply.
If you do not know location latitudes and longitudes which you would like to put in your GeoDB, you
can the following URL's:
world-wide location server, or
USA only location server.
Also data is provided in the GeoDBData.zip (you have already downloaded with GeoDB) or the use the data
supplied in geodbtools.zip discussed below in Memo.
- Elevation: This field may be used for the elevation of the location (above sea level).
None of the applications at http://davidbray.org/palm currently uses this information. The units are
not defined by GeoDB: the importing application must specify what is to be entered. It is suggested to
enter an "f" after the number for "feet", and an "m" for "meters".
The field will hold up to 13 characters.
- GMT Offset: This is the time zone (hour) difference from that of Greenwich Mean Time (GMT).
This field will hold 5 characters. The input for the GMT Offset normally will be whole numbers. E.g.
5, 10, etc. indicating the correct time zone for the location. However, some locations like New
Foundland, India, and South Australia use half-hour GMT offsets -- such values may also be entered
(e.g. "9.5" or "9:30"). It is a function of the importing application to use this offset properly
(Earth & Sun V2.0 can).
Examples: the East coast of the US is 5 West, central Europe is 1 East. In all cases be sure to
specify East or West of Greenwich by using the pop-up selection list to the right.
Some Examples of GMT Offset are shown below.
- Daylight Time: The last entry is that of daylight time (sometimes called Summer Time).
For each location you should set the correct rule for computing Daylight Time for the location.
Use the pop-up selection list. It is pictured to the right.
The rules are as follows:
- No: Never use daylight time.
- Yes: Always use daylight time.
- Australia: Start: Last Sunday in October -- End: Last Sunday in March
- Europe: Start: Last Sunday in March -- End: Last Sunday in October
- N. America: Start: Second Sunday in March -- End: First Sunday in November (2007 Rules)
- S. America: Start: First Sunday in October -- End: Last Sunday in February
- User defined: See below.
This ends the discussion about the buttons.
Enter Your First Location
To begin entering data into GeoDB tap the New button.
Follow the instruction discussed above.
The completed dialog box when finished entering data should look something like this:
There are three major menus: Command, DataBase, Memo -- they are discussed next.
Actions of the menu items:
- Copy: This menu item causes the highlighted record to be copied and stored in the
database. Once this is done editing the copy allows for simple changes to locations that are
- Delete: This menu item deletes a record from the database. To use it you must highlight the
record to be deleted, bring up the Command menu, then tap Delete. You will be asked to
confirm the deletion.
As discussed above, if you delete all of the locations in the active database and you exit
GeoDB the entire database is deleted.
In that case, when other programs try to access a
location it may appear to the program that GeoDB has not been installed. Be assured it is
still installed in your Palm OS -- just add some locations.
See the discussion on database below for much more information.
- Edit This menu item is the same as the main screen button.
- Define DT: Define Daylight Time -- This menu item bring up a dialog box for defining the
rules for Daylight Time to be used when the 'User defined' entry is selected.
The example to the right is for New Zealand.
The starting and ending month (January is 1, December is 12) must be specified, as well as, the
the week of the month it starts or ends. The day is always Sunday.
Possible week choices are: 1st, 2nd, 3rd and Last. A month could have five Sundays. In that event
the selection "Last" means the fifth Sunday, not the fourth).
- About: About gives you two important details:
- The current build number so that you can stay up-to-date.
- The date when the GeoDB database was last updated.
It is important to understand the rules of GeoDB databases before discussing the controls of the
Because any Palm OS application can make a query of GeoDB to obtain a location. If GeoDB is installed
in a Palm OS memory, there must also be a non-empty GeoDB database in memory. Therefore GeoDB takes
steps to insure that a non-empty one exists. This is done by the following rules:
- If the active database (the one being displayed) is empty when GeoDB is exited the database is
deleted from the Palm OS memory.
- When GeoDB is launched if the database which was active at the time GeoDB was exited cannot be
found in the Palm's memory an empty database whose name is 'GeoDBData' created. It is then
the active database.
Actions of the menu items:
- Find: This is the same as the main screen button 'Find'.
- Selected: This menu item scrolls the screen to the currently selected location.
- Top: This menu item scrolls the screen to the first entry in the database.
- Open: This menu item allows you to open another database currently installed in
Palm OS memory.
Tapping Open pops up a dialog box to cycle through all of GeoDB's installed databases.
Once one is Opened the current database is closed (but not deleted) and the opened one
- Rename: This menu item renames the active data base. This is handy when you are building
a new database.
See the New memu item below for more details.
- Info: This menu item displays the active database's name and the number of records in
- New: This menu item attempts to create a new empty database. As discussed above the
default database name is 'GeoDBData'. When you tap New GeoDB will either create a new
empty database with the name 'GeoDBData' or open the 'GeoDBData' database if it already exists
in the Palm OS memory.
To insure that you have a new empty database, be sure you have no database named 'GeoDBData'
when you tap New.
- Delete: This menu item is used to delete the active database.
Tapping Delete causes the entire active database to be deleted -- not
just from GeoDB but from your Palm OS's memory.
Furthermore more it causes GeoDB to be exited. This ensures that the database is emptied
and that when you re-launch GeoDB you will have an empty GeoDBData database.
This command has two uses:
- It provides a means for you to delete a database from your Palm OS's memory.
- It provides an empty database so that a new one can be built using the Import
command, discussed next.
These menu items are used for creating and storing database via synchronization to/from the Palm
Desktop using the MemoPad.
Included in the geodb??.zip you downloaded is another archive: GeoDBData.zip. This includes CSV
data for locations worldwide. You can use this data with the menus discussed here. Also, more documentation
is in GeoDBData.zip.
There are a number of restriction to the actions of importing and exporting data to the MemoPad.
It is fine for a small number of locations, but a much easier way to put data into GeoDB is to use the
tools in GeoDB Data Tool archive mentioned at the beginning of this page. The GeoDB Data Tools archive
contains over 740 locations in both text, CSV form, and 9 ready to install GeoDB databases.
If you do not have GeoDB Tools you may download it by
Actions of the menu items:
Import/Export, along with examples of usage, are discussed next.
GeoDB Import/Export Limits and Examples
There is a limitation to the import/export size. Palm OS memos are limited to 4000 characters. Therefore
be sure that any memo to be imported/exported meets these limit. This limit is about 110 CSV format
The data to be imported must be in a comma separated values CSV format. There is a problem with this
format because of the European use of ',' for the decimal point, but this format was chosen because it is
easy to create/import to other database software, such as Excel.
Rules for Synchronization, Import, and Export:
- Memos to be constructed in the Palm Desktop are limited to 4000 characters.
- This limit applies to the synchronization process from/to the Palm Desktop to the Palm OS.
- This limit applies to the export from GeoDB to a memo in MemoPad.
- GeoDB can hold an 'unlimited' amount of data. Thus to build a large database in your Palm OS,
synchronize a number of memos to the Palm OS's MemoPad then import them one at a time into GeoDB.
Example of importing the entire US data into the GeoDB database:
- In the Palm Desktop create a new memo. Call it, say, 'us1' on the first line. Save it.
- Edit memo us1. Cut about 1/3 of the us.csv file and paste it into us1 starting on the line
following 'us1'. (us.csv is 321 line so 1/3 is very close to the memo size limit.)
- Repeat this for the other two parts into memos us2, and us3.
- Synchronize the Palm Desktop and the Palm OS device. This will move the three memos us1, us2,
us3, into the Palm's MemoPad. This will also save the current GeoDB database(s) to your Palm Desktop.
- Open GeoDB. Use any or the 'New', Rename', or 'Delete' memu items discussed above to obtain
an empty GeoDBData base.
- Open GeoDB again (if necessaary). The GeoDBData database will active and empty.
- Open the 'Memo' menu. Import the three us1, us2, us3, memos.
- Rename the GeoDBData database to be, say, 'USA'.
Note on Database Backup
When you synchronize your Palm with your desktop the GeoDB database(s) will be backed up. Should you
have to reload your Palm you can install the backed up GeoDB database(s). They will be have an
extension of '.pdb'.
Use of GeoDB by other Palm OS Application
Any Palm application may use GeoDB to hold data for importation to the application.
Contact David W. Bray for a simple C subroutine and instructions to do importing.
GeoDB was created by
David W. Bray, Potsdam, NY;
Copyright © 1999-2004 David W. Bray, All Rights Reserved.
The Bray Palm OS Page can be found at:
GeoDB is freeware no registration is required. We hope you enjoy using it.
This archive may be freely redistributed, provided it is made available only in its complete,
unmodified form with no additional files. It may be distributed for commercial use if it
accompanied by an application that imports its data.
Any other use must have prior written authorization from
David W. Bray.
Unauthorized commercial use includes, but is not limited to:
- GeoDB itself as a product for sale.
- Accompanying a magazine, book or other publication for sale.
- Distribution with 'Media', 'Copying' or other incidental costs.
- Available for download with access or download fees.
This program is provided without warranty and the user accepts full responsibility for
any damages, direct, indirect, incidental, consequential, special or
exemplary damages or lost profit resulting from any use or misuse of this application.
Examples of GMT Offset
GMT Time Zone Offset is the number of hours the Palm's local clocks differ from that
of Greenwich Observatory in England. Set the Time Zone menu to correspond to the following table
according to your location.
|United States||Around the World
|Time Zones||Offset||Time Zones||Offset
|Eastern || 5 West ||British Isles || 0 East
|Central || 6 West ||Western Europe || 1 East
|Mountain || 7 West ||Eastern Europe || 2 East
|Pacific || 8 West ||So. Africa || 2 East
|Alaska || 9 West ||Russia || 3 East
|Hawaii|| 10 West ||Japan || 9 East
| || ||Eastern Australia || 10 East
Back to "GMT Offset"
I wish to thank Michael Kilby for many valuable suggestions for GeoDB.
*Program Changes starting at Version 1.0
Version 1.0 Bld:249 is the original release.
Future releases will change the version number only for major changes. All changes will have an
increasing Bld: (build) number.
- An empty database is completely deleted upon closing GeoDB.
This eliminates requiring at
least one location in the database to prevent access errors. (V1.0 Bld:301)
- Improved error messages. (V1.0 Bld:303)
- Added dummy button for refresh, and other fixes for OS5 (V1.0 Bld:308)
- Fixed a bug in the Daylight Time computation. (V1.1 Bld:315)
- Added commands: 'DataBase/Find', 'DataBase/Selected', 'DataBase/Top', 'DataBase/Open',
'DataBase/Rename', 'DataBase/Info', 'DataBase/New', 'DataBase/Delete', 'Meno/Import', 'Memo/Export'
- An import error message corrected to '9 fields'. (V1.1 Bld:316)
- Changes to improve OS4/OS5 compatibility. (V1.1 Bld:316)
- Changed focus on 'Find'. (V1.1 Bld:402)
- Changed allowed database file name size. (V1.1 Bld:402)
- Changed North American daylight savings rule to 2007. (V1.1 Bld:704)
To be sure that your version is up-to-date a check the Bld: number shown in the 'About'
The current Bld: is 704.