Show us why the public should always call a land surveyor

Where are you surveying?

Government Professional

HP48 for surveyingJust curious about how many surveyors still prefer their own old programs instead what is available now.

I am one of those, and I have only one problem: the calculator memory space.

Nothing replaces my hp48 programs to work with a total station.

You need to be a member of Land Surveyors United - Global Surveying Community to add thoughts!

Join Land Surveyors United - Global Surveying Community

ā˜…
ā˜…
ā˜…
ā˜…
ā˜…
Votes: 0
Email me when people reply –

Replies

  • I have a 48GX and SX as well as the 42s. IMO the 42s is much easier to use in terms of programs. You can actually label the programs instead of relying on memory.

    My 48's have the cogo card in them. IMO the 48 should be released with updated features(USB for example). It is a very powerful tool. The calculators found on DC's are a headache IMO.

    Great discussion. I will load pics of the calcs I have sometime in the future.

  • Land Surveyor

    Started out with a 11c. Kurt Webb (later my college instructor)Ā had written some codeĀ you could load manually. Coordinate pairs could not be stored so you wrote down the solutions and kept track of them. The 41 was a huge leap and I purchased a survey pac and a thermal printer to go with it. I could kill small dogs at 100 yards with that thing. Used them for many years in both the field and office. Kurt and some of us began writing code to modify the survey pac functions to do what we needed them to do. By the time the 48s came out I no longer worked in the field enough to get interested in fooling around with them. Great hand held devices ahead of their time.

    Ā 

    As a side note, at the time the survey pac came out I had been taught to perform area cut off problems by trialĀ and error. In fact the program CEAL at the time (loaded on the main frame) also used this method for solving this type of problem. The survey pac did not utilize this method so I examined the code in the survey pac and figured out it was using a quadratic equation for the solution. Needless to say I never went back. It is amazing how far math has come since those days.

  • GEO Ambassador

    sounds like a good group to start! Ā I found this cool HP Calculator EmulatorĀ http://www.palminfocenter.com/view_Story.asp?MODE=FLAT&ID=5209

    Ā 

    here is a history of HP Calculators MuseumĀ http://www.hpmuseum.org/rpl.htm

    Ā 

    see if what you are looking for is within these manuals I dug up:


    HP48 PROGRAMMING PRINCIPLES

    Ā 

    Ā 

    An HP48 program, like any other program consists of a few basic components:

    Ā 

    CHECK SETTINGS

    INPUT DATA

    COMPUTE RESULTS

    OUTPUT AND DISPLAY RESULTS

    Ā 

    The HP48Ā Ā program is a series of commands within << >> delimiters. A program

    is itself an object as described above and is stored as a global variable.

    Ā 

    Other programs (or sub-programs) can be called from the main program (as with the HP41/42) by typing the name of the program in the program code. If the program to be called is resident in another directory, the path to that program must also be typed in.

    Ā 

    CHECKING SETTINGS

    Ā 

    Settings such as angle format and vector type must be confirmed before the main body of the program is started. These have been already described above. Failure to confirm these settings will result in incorrect output (e.g. if the calculator is in RADIANS mode).

    Ā 

    Ā 

    Ā 

    Ā 

    INPUTTING DATA

    Ā 

    Data can be entered into a program in several ways. The simplest way to input data is to leave values on the stack that are required for the program. To make a program user friendly it is recommended to prompt for data. This can be done in several ways:

    Ā 

    INPUT (Single prompt)

    Ā 

    << ........

    "Prompt name"Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā This is what is displayed when the program runs

    ""Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā This is the string where the data is entered

    INPUT OBJ\->Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā These are the commands to display the prompt

    .........>>

    Ā 

    INPUT (Multiple prompt)

    Ā 

    <<.........

    "Input title"

    {":Prompt 1:

    :Prompt 2:

    :Prompt 3:"

    { 1 0 } }

    INPUT OBJ\->

    ...............>>

    Ā 

    Other input forms such as PROMPT, INFORM & CHOOSE are described more fully in the User guide.

    Ā 

    Ā 

    USING LOCAL VARIABLES IN A PROGRAM

    Ā 

    Local variables differ from global variables in that they only exist for the duration of the running of the program and so must be declared before they are used. Local variables have the advantage of not using up permanent memory space and are accessed much faster than global variables, ensuring much quicker program operation.

    Ā 

    To create a local variable in a program, values (or objects) must first be placed on the stack which are to be stored in the local variables.Ā Ā The process is best described with a simple example:

    Ā 

    A slope distance is on level 2 of the stack

    A zenith angle is on level 1 of the stack

    Ā 

    << ........

    \-> sd za <<Ā Ā program code >>

    Ā ....... >>

    Ā 

    The \-> starts the local variable declaration sequence

    sd and za are the declared local variables where the values on level 2 and level 1 respectively are stored.

    Ā 

    sd and zaĀ only existĀ in the part of the program << program code >>

    Ā 

    It is recommended to use lower-case variable names to distinguish local variables from global variables, though this not essential.Ā Ā The \->Ā removesĀ values off the stack and stores them in the local variable list after the \->.Ā Ā << delimitersĀ MUSTĀ come immediately after the sequence of local variable names.

    Ā 

    If a local variable is to be used outside the << program code >> it must be "compiled". A compiled local variable must start with aĀ Ā¬Ā Ā Ā e.g.Ā Ā¬a .

    Ā 

    Ā 

    DEBUGGING A PROGRAM

    Ā 

    A program can be single stepped through, displaying the stack at the completion of each command in the program.Ā Ā To SST through a program put the name of the program on level one i.e. `PROGRAMĀ“

    Press [PRG] [NXT] |RUN| |DBUG|

    Press |SST| to single step through the program code

    Press |SSTĀÆ| to single step through a sub-program

    Press |NEXT| to preview the next two program commands

    Press [ON] to alter the stack if necessary.

    Ā 

    Ā 

    HALTING PROGRAMS

    Ā 

    A program can be suspended at a certain point with the insertion of a HALT command. To continue program operation press [L-S] [ON] (CONT) or type CONT on the command line.

    Ā 

    Any halted programs can be cancelled by typing KILL.

    Ā 

    USEFUL PROGRAMMING COMMANDS

    Ā 

    MATHEMATICAL

    Ā 

    Trigonometry functions:Ā Ā Ā Ā Ā SIN, ASIN, COS, ACOS, TAN, ATAN

    Ā 

    Time and Angle functions:

    DATEĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Puts Date in DD.MMYYYY format on level 1

    TIMEĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Puts the Time in HH.MMSSS format on level 1

    \->DATEĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Takes level one in DD.MMYYYY format and sets date.

    \->TIMEĀ Takes level one in HH.MMSSS format and sets the time.

    DATE+Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Adds two dates

    DDAYSĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Gives the number of days between two dates

    HMS+Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Adds two times/angles in HH.MMSS format

    HMS-Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Difference between two times/angles in HH.MMSS format

    \->HMSĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Converts a time/angle in decimal to HH.MMSSSS format

    HMS\->Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Converts a time/angle in HH.MMSSSS format to decimal

    D\->RĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Converts an angle in decimal degrees to radians

    R\->DĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Converts an angle in radians to decimal degrees

    Ā 

    Number manipulation commands:

    IPĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Returns the Integer part of a number

    FPĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Returns the Fractional part of a number

    RNDĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Takes a number on level 2 and rounds it off to level 1 decimal places

    ABSĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Returns the absolute value of a number (always positive)

    NEGĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Changes the sign of level 1

    INVĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā returns the inverse ( 1/x) of level one

    ^Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Takes a number on level 2 and raises it to the power of level 1

    360 MODĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Takes an angle on level 1 and returns in the range (0-360)

    Ā 

    Program control commands

    Ā 

    OFFĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Turns the HP48 off !

    CHRĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Returns the character from the code number on level 1

    LASTARGĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Displays the last command argument

    ->STRĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Converts level 1 to a text string " "

    STR->Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā The opposite

    Ā 

    Ā 

    Ā 

    DISPLAYING OUTPUT

    Ā 

    Results can be left on the stackĀ Ā (and tagged with a prefix title) (\->TAG)

    or built up into a text string to be displayed in a presentable format

    If values are tagged they can be untagged by the command TAG\->

    Ā 

    DISPLAYING RESULTS AT END OF PROGRAM

    Ā 

    << ........

    "Output title"Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Starts the display string

    Value +Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā adds the value to the string

    CLLCD 1 DISP 3 FREEZEĀ Ā Ā Displays the string

    .........>>Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā (CLLCD clears the LCD display)

    Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā (1 DISP displays from the top of the screen)

    Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā 

    Ā 

    DISPLAYING INTERMEDIATE RESULTS

    Ā 

    If results are to be displayed in the middle of the program (i.e. suspended)

    the following commands have to be added after the FREEZE command:

    Ā 

    0 WAIT DROPĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā to freeze the display until another key is pressed

    n WAITĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā to freeze the display for n seconds before continuing

    Ā 

    OTHER INPUT AND OUTPUT FORMS

    Ā 

    INFORM, CHOOSE , MSGBOXĀ Ā Ā are displayed in more depth in the USER Guide

    Ā 

    AN EXAMPLE OF A SIMPLE PROGRAM

    Ā 

    Program comments are after the @ character

    Ā 

    <<

    @Ā Ā Program to reduce a slope distance to horizontal

    Ā 

    @Ā Ā Set HP 48 modes

    DEGĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā @ Ensures degrees mode is set

    Ā 

    @Ā Ā prompt for input

    "SLOPE REDUCTION"Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā @Ā Ā Title of input / program

    {":Zenith <) :

    :Slope Dist:"

    { 1 0 } }

    INPUT OBJ\->

    Ā 

    @ Store input data as local variables

    ->Ā Ā zaĀ Ā sd

    <<

    Ā 

    @ Compute horizontal distance

    za HMS\-> SIN sd *

    Ā 

    @ Display result

    3 FIXĀ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā @ set decimal places to 3

    "HD = " SWAP + " m" +

    CLLCD 1 DISP 3 FREEZE

    >>Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā 

    >>

    VECTORS

    Ā 

    The HP48 handles both 2D and 3D vectors to define lines or points in space. As the principles for manipulating 3D vectors are similar to 2D, only 2D will be described here in detail.

    Ā 

    A Vector in 2D plane surveying terms can be described in two ways:

    In RECT mode as [DNĀ Ā DE ]

    In CYLIN (POLAR) mode as [ DistanceĀ Ā Ā Bearing ]

    Ā 

    Ā 

    TO BUILD A RECTANGULAR VECTOR FROM THE STACK:

    Ā 

    Enter the difference in Northings onto the stack

    Enter the difference in Eastings onto the stack

    Press [MTH] |VECTR| [NXT] |RECT| to ensure the HP48 is in RECT mode

    Press [NXT] |->V2| To convert the 2 levels of the stack into a RECT vector

    Ā 

    Ā 

    TO BUILD A CYLIN (POLAR) VECTOR FROM THE STACK:

    Ā 

    Ā 

    Enter the distance onto the stack

    Enter the bearing (in decimal degrees) onto the stack, ensuring the HP48 is in degrees mode.

    Press [MTH] |VECTR| [NXT] |CYLIN| to ensure the HP48 is in CYLIN mode

    Press [NXT] |->V2| to convert the 2 levels of the stack into a CYLIN vector

    Ā 

    Ā 

    PROGRAM COMMANDS TO CONVERT FROM RECTANGULAR TO POLAR (DEGREES)

    Ā 

    Difference in Northings is on level 2 of the stack

    Difference in Eastings is on level 1 of the stack

    << DEG RECT \->V2 CYLIN V\-> RECT >>

    Distance is returned on level 2 of the stack

    Bearing is returned on level 1 of the stack

    Ā 

    Ā 

    PROGRAM COMMANDS TO CONVERT FROM POLAR TO RECTANGULAR (DEGREES)

    Ā 

    Distance is on level 2 of the stack

    Bearing is on level 1 of the stack

    << DEG CYLIN \->V2 RECT V\-> >>

    Difference in Northings is returned on level 2 of the stack

    Difference in Eastings is returned on level 1 of the stack

    Ā 

    ADDINGĀ Ā AND SUBTRACTING VECTORS

    Ā 

    Vectors can be added and subtracted in the same manner as real numbers, but the HP48 should be in RECT mode.

    Ā 

    Ā 

    MATRIX OPERATIONS

    Ā 

    A Matrix is delimited as follows:

    [ [ row 1 ]

    [ row 2 ]

    .

    .

    [ row n ] ]

    TO ASSEMBLE A MATRIX BY ROWS FROM A SERIES OF VECTORS

    Ā 

    Enter each vector (representing rows of the matrix) onto the stack in the order you want them to

    appear in the matrix. Enter the number of rows of the matrix onto level one. Press [MTH] |MATR| |ROW| |ROW->|

    Ā 

    Ā 

    TO ASSEMBLE A MATRIX BY COLUMNS FROM A SERIES OF VECTORS

    Ā 

    Enter each vector (representing columns of the matrix) onto the stack in the order you want them to

    appear in the matrix. Enter the number of columns of the matrix onto level one. Press [MTH] |MATR| |COL| |COL->|

    Ā 

    Ā 

    TO ASSEMBLE A DIAGONAL MATRIX (ZEROS ELSEWHERE)

    Ā 

    Enter the vector containing the diagonal elements. Enter the dimension of the matrix (No. of rows/columns).

    Press [MTH] |MATR| [NXT] |DIAG->|

    Ā 

    Ā 

    TO ASSEMBLE AN MATRIX FROM ELEMENTS

    Ā 

    Enter all the elements of the matrix onto the stack in row order (like a book). Enter a list of { rows columns } onto level one of the stack to define the matrix. Press [PRG] |TYPE| |->ARR|

    Ā 

    Ā 

    USEFUL MATRIX AND VECTOR COMMANDS

    Ā 

    DET returns the determinant of a square matrix on level one

    INV returns the inverse of a square matrix on level one

    TRN transposes a matrix on level one

    * + - all perform arithmetric operations on matrices (if compatible)

    Ā 

    Ā 

    HP Power 48 Calculator Emulator
    A Hewlett-Packard 48SX, 48GX, and now 49G calculator application has been released for high resolution devices. Power48 is a free, full featured Palm…
    • Government Professional

      Thank you Justin, but I wasnĀ“t looking for any manuals, just curious about how many...

      It could be a nice group, by the way I think IĀ“ll change to the palm emulator...

      Now at least we are two

      greetings

      • Land Surveyor

        jujstin likes to do that....elaborate on a subject that is. someone in the future will find this discussion and be very thankful for this information..i think that was what he was going for. Ā i dunno where he finds all of this stuff but truly helpful

      • Fortunately my boss made me use the hp 41 without the survey PAC to compute triangle inverses etc, before allowing me to use the survey PAC/module

        Ā 

        i am grateful for this as it let me skip the "button pushing" age it forced me to learn what the program was actually doing.

        Ā 

        once i fully understood alot of the basics behind the scenes of a data collector, i was aloud to start using them.

        Ā 

        my ranger broke down one day, and my party chief, said "well i guess we have to call it a day"... i had an old hp 48sx without the cogo software, we went to the store and bought some batteries and was able to finish the job.

        Ā 

        I must say it also helped me tremendously on the exams!

        Ā 

        The HP 35s and the HP 33 NCEES friendly, were powerful tools especially with the programs i had by Ted Madson. They reminded me alot of the old HP 41 CX and cogo chip/card with the prompts.

        Ā 

        Thanks Bill Knight!

        Ā 

        It will be interesting to see, how many are still using these nostalgic tools, the oldies but goodies :)

        Ā 

        Ā 

        Ty

This reply was deleted.

Answer As your Facebook Page

Global Surveyor Forum

Latest Discussions by Category

How to Utilize Surveyor Forums

How to use Forums
Our forums on Land Surveyors United are here to be used as much for finding help with problems in the field as the are for you to express your opinions on anything that has to do with land surveying in general. Feel free to share anything that is on your mind, as long as it isn't meant to damage another member's reputation. Please keep it clean and help insure that everyone has the opportunity to enjoy the benefits of being part of a community that grows together.

We are committed to allowing freedom of expression for all of our members, and that includes maintaining a safe space for people with opposing views to express themselves. We get posts from all over the country and even the globe, so needless to say, people come with different viewpoints on lad surveying practices and processes. We see this diversity and variety as a real strength-- dialogue and debate are an integral part of the educational process, as well as an important tool in exploring different sides of complex issues.

All Community Hubs inside the community have their own forum for asking specific questions to other surveyors, by location, equipment type, etc.

Topics by Tags

Monthly Archives

Global Forums

Add Your Expertise

šŸŒ Explore Forums Based on Location

Blog Topics by Tags

Monthly Archives