Edited Jan.24 2025 Finally correcting some errors in this readme.
NOTE: The readme in the program zip folder is not corrected.
contact:donchurch@tutanota.com
http://landsurveytools.sourceforge.net
the non corrected version of
This readme.txt file is also contained in the program package.
*************************************************************************
*Please, if anyone writes a post to the forum, please send me a note at *
*the email address above. This project has slowed down a lot since it's*
*doing what I want and what I am willing create for now. *
*************************************************************************
Note: This project is hosted on SourceForge.net which means that the
latest files can always be found at the address above.
I'm using wxGlade and Wing IDE as dev.tools to create LAnd Survey Tools
(LAST). It consists of basic construction and topographic field solution
routines with data manipulation, export and cutsheet creation.
(Update 12-28-2013) Total Station interface has been implemented since
June 2011 so I suppose I should replace the outdated info. Currently
I have basic data comm with Geodimeter and Topcon.
I doubt it will work with the latest models but it should work with a
descent range of models. The Geodimeter interface is less refined in that
if it's not connected and a shot is started in the program, it will hang,
waiting for data and the program must be restarted. The Topcon interface
has a timer built in as I haven't evolved to a cancel button yet but both
of them can also load the calculated azimuth to the instruments in order
to establish a backsight and also send the turn angle command.
There are a number of powerful apps out there but I find they are like
the very powerful but generic calculators, the functionality is buried
under option after option.
I must have an efficiency hangup and having to repeat the same round-
about, slow, cumbersome methodology day after day, let alone year after
year, even thought "It all pays the same" drives me nuts.
The std. version is formatted to fit about 75% of a 1366x768 res. screen.
BTW I am a recreational programmer and this is a learning project as
was the C++ projects years ago so...I end up leaving a bit of my initial,
less efficient methods if it's "doin the job".
########################################################################
Feb.16, 2025 LAST5 beta for windows uploaded.
I know this readme is a spagetti mess, sorry, it's historical now.
I have been messing around with GameMapPlotter, my latest diversion, using
the code here to get some map functionality in the open world video game
Pantheon that has no maps yet and so I remembered that Windows uses "\n"
for newline AND carriage return and Linux uses "\n\r" and so I'm not only
posting the issue but fixing the files. I tried to create an EXE for
both projects using py2exe without success on either and I also had to
comment out the call for bluetooth and serial here because the modules
weren't easily available so if anyone wants those functions, the modules
should be available with a little effort.
As with the linux package I went ahead and created the two projects and
imported and placed files in order to perform some immediate tasks for
examples.
I also squashed a couple bugs.
########################################################################
(2025 corrections in this section)
Greetings again now in October on the 27th, 2024
I'm retired and have been prepping for hard times and for my tinkering
pleasure I've been debugging and tweaking a little bit using the latest
Python3 environment. I'm still running the Debian fork "Devuan Linux"
and in order to have full functionality the following Python3 packages
need to be installed along with their dependancies that are automatically
included. I haven't done any Windows work or testing for a long time.
wxpython, sqlite, serial, bluetooth, matplotlib, reportlab
If there is no interest in an instrument connection then serial and
bluetooth can be left out but calls within the code need to be hashed out
to avoid program running errors. Staking can still be performed without an
instrument connected with varying degrees of detail. Vertical difference
only can be entered in the "stake" tab and the cutsheet will show zeros for
the staked coordinates but one can select "Az and Dist" from the "Misc" tab
allowing measured variables to be keyed in at the "topo" tab which will be
used when hitting the "shot" ('stake' tab) button which will treat things like
an instrument is connected thus saving as staked data and thus showing up on
the cutsheet.
Generating cutsheet PDFs needs reportlab and plotting points needs
matplotlib but these too can be left out like the two above.
I've got things running pretty well as far as sample testing while
sitting at a desk since I don't survey anymore. I do have a Leica with
serial connection working too as far as I can tell since the vertical
motion crapped out recently so I'm not 100% confident there. I'm only
working on the "hdw" version which has a wider layout than the sample images
shown for the project.
The latest package, LAST5-beta-1 has a couple sample projects created
and ready to test. In the Speedway project, the default variables allow for
immediate functionality for example select Racetrack in the "Task" box then
go to the "Road" tab, hit "Task" to load the task named alignment and profile
file names then hit "Load" for each. You can see and even edit these. Then
go to the "Calc" tab and things are ready to calc. Tooltips seem to work even
without being selected in the "Misc" tab so read those by hovering over a
widget for info. Calc, stake, topo, view data, plot, edit cutsheet, all
ready for trying out. In the Sycuan project it's ready to go to the "Data"
tab, select the .ctl table, hit "Retrieve" then "Plot Data" to view a plot
of the control points. Or in the Speedway project retrieve the .hc1 data
and plot them on the Racetrack alignment drawing that I made.
I thought it cool that I can run LAST on my Pinephone albeit no serial
connection seems possible but maybe bluetooth but I don't have a Leica
with bluetooth connection to try it out. And so in order to easily
reformat the interface layout I created a WxGlade mass widget resizer
that I have included in the latest package. The README there will give
some directions
Beware that multiple tables allows duplicate point numbers which can be good
and bad, plus the fact that topo shot values and coordinate values can be
edited and the daily .csv of the shot's stored can have differing and
duplicates in the same file. All of this freedom and versatility can be
powerful AND dangerous to data integrity so it is up to the user to some
degree and not tightly controlled by the program like the commercial offerings
which can be a pain in the ass. Point numbers are displayed with a decimal
value indicating that they were retrieved from a non current table.
***********Added 1/24/25
Leica has been supported and used by me as the main instrument and the
bluetooth worked well. And I forgot that I added a routine that replaces
values in the daily generated .csv of the topo/stake points so the above
warning isn't quite so bad.
Also I did update the sample images and it's from the 1920X1200 res tablet
that I have but the font is left a little small due to the Linux OS font
enlargement option that was implemented. The Mass Widget Resizer scales
the fonts independantly. Some colors are harder to read with the dark
format options as well but everthing can be tweaked pretty easy using
WXGlade.
I haven't done any testing with the printer functionality for LAST5 and
not even sure if the "send to default printer" is enabled since I hadn't
used it for quite some time.
The Pinephone used has Postmarket OS and SXMO and runs pretty well but the
the phone display resolution needs to be maximum and the widgets resized
to about 80% if I remember correctly.
I don't remember all the details but each day the cutsheets need to be
generated and/or a new task started because if you continue staking in the
same task from one day to the next the dates within the cutsheet
of when points were staked will be incorrect.
########################################################################
Greetings,
It's May 30, 2020
Recently I got a hankering to get things working with the new versions of
things being that I may have use for this project.
I'm still running my Panasonic tablet but abandoned my Debian Linux
install. It was working well but when it became desirable to upgrade,
due to the "systemd" fiasco and me being the freedom advocate that I
guess I am, I jumped ship and began running Slackware Linux.
Several years have gone by since then and I've been keeping tabs on the
Debian fork "Devuan" waiting for enough refinement do what I need.
Slack is great but it doesn't have near the following as Debian and
getting my wireless printer/scanner to work, let alone third party apps,
things can get difficult.
So I'm jazzed that with Devuan 3.0 Beowulf(BETA) with the Mate desktop
I've been able to get my bluetooth keyboard, Florence virtual keyboard,
my wifi direct Brother DCP-L2550dw printer/scanner and all of the new
Python things that I need working.
Here's my Python 3.7 pep3 list:
Package Version
------------------- -------
asn1crypto 0.24.0
Brlapi 0.6.7
cryptography 2.6.1
cycler 0.10.0
distro 1.3.0
distro-info 0.21
entrypoints 0.3
keyring 17.1.1
keyrings.alt 3.1.1
kiwisolver 1.2.0
louis 3.8.0
matplotlib 3.2.1 *
numpy 1.18.4 *
olefile 0.46
Pillow 7.1.2
pip 18.1
PyBluez 0.23 *
pycairo 1.16.2
pycrypto 2.6.1
PyGObject 3.30.4
pyparsing 2.4.7
pyserial 3.4 *
pysqlite3 0.4.2 *
python-apt 1.8.4.1
python-dateutil 2.8.1
pyxdg 0.25
reportlab 3.5.42 *
SecretStorage 2.3.1
setuptools 40.8.0
six 1.12.0
unattended-upgrades 0.1
wheel 0.32.3
wxPython 4.1.0 *
I put an asterisk(*) by the required modules needed to run LAST and
the others are depencies or maybe just defaults.
wxGlade 0.8.3 comes with my Linux install as well and Wing Personal 7.2
is a free download nowadays.
LAST-5-testing-1 is the Python3 version. It's been running fine with
the basic functionality tests that I've performed but have not used it
in the field. I figured that I would put it up just to share it and
if anyone wants to give it a try and finds an issue I'll be happy to
try and resolve the issues.
Note the new email address and please include the error messages given.
I have not tried any serial comm nor bluetooth being that my currrent
total station is not compatible but I plan on picking up an older non
bluetooth Leica for my personal pleasure :)
BTW the formatting is a little rough and for now I only have the HDW
version working so I'm leaving out the STD version.
########################################################################
Update 12-28-2013 effective as of ver. 2.0 *********************
I have found a nice field tablet, the Panasonic FZ-G1, which has a much
higher resolution (1920x1200) and so I have done a major overhaul of the
layout in order to have a usable touch interface on it. I will have the
original layout (labelled -std and the new one -hdw) included in the same
pkg and updated at least for now but not sure how long I will keep it up
to date.
This tablet also runs Linux fairly well and I am currently using
Linux Mint 16 with what I consider an unbeatable virtual keyboard called
Florence.
Update 12-28-2015 ***************************
I have been using Debian for a while now and have found it more stable.
I did have to make a custom kernel to support the touchscreen though.
**************************
This means that the fine tuning of the layout and field testing is now
being done on Linux which means it will look best on my stuff :-D and
I will likely miss (if any) new minor differences on Windows as I see
there were some I missed on Linux when I was only using Win7.
There are two base files:
1. LAndSurveyTools-std.py (original format, fits 1366x768 nicely)
2. LAndSurveyTools-hdw.py (enlarged for HD display plus full width
to fit 1920x1200 screen res. and
Florence virtual keyboard zoomed)
Added note
(6-14-14): I have left the font size a few point small on the
hdw version because on my tablet, in order to make the
interface easier to use, I have enable the large text
option, which compensates for my settings.
Also fyi Window users, the colored dividing lines used
under Linus show up as grey rectangles under Windows.
Different versions of the OS's will prolly vary :)
It is easy to use WxGlade to tweak things to ones liking.
All that is needed is one of the base files (listed above) and the
"program_files" folder placed in ones desired working folder. Running
the base file will generate all of the needed files and folders.
As of now, each time the program is started, a search is performed for
the required folders and those missing will be created, plus Linux users
can now place a symbolic link on the desktop to the base file and have
everything generated within the working folder.
The two .wxg files are from the WxGlade application that I use.
They are very handy for anyone wanting to modify the two interfaces
that are incorporated in the two base files listed above.
And as a note: If anyone finds a bug or an output error and is willing
to email me with the precise details needed to reproduce
the error, I am interested in fixing it.(address at top)
Hopefully my junk filter will let it through. I will
look into this websites possible tools to use.
I am actually using the the hdw version and only under
Linux plus only sporadically since we use gps most of
the time. Finding bugs is a slow process these days
and soon I hope to stop finding them :)
******************************************************************
For those not familiar with Python:
Updated 6-9-13 effective as of ver. 1.1 **************************
One must install Python(2.7 works), WxPython(2.8.11 works), pyserial,
pysqlite and reportlab(for PDF cutsheet creation). Windows users need
to use pyserial-2.4.win32 (or try 2.6 or later) because of a bug in
pyserial-2.5.win32 and need pywin32 (package) for printing. Windows
users double-click the "LAndSurveyTools.py" file and Linux users from
command line enter "python LAndSurveyTools.py" (without quotes)
Printer functionality between Windows and Linux is no longer an issue
and therefore no text editing is needed before use. Although In order
to automatically print the pdf cutsheets, one must have pdf file
support installed.
*****************************************************************
10-12-14 Version 3.x
As of 3.x there is plotting functionality, therefore the module
matplotlib is required. I read that I also need the numpy module
but have not confirmed it but rather just installed it.
Linux package management allowed LAST to work without a hitch but
my Win7 64 has dependency issues but winXP 32 at work is fine. I
haven't needed Win7 so have not resolved it.
*****************************************************************
06-11-16 LAST 4.1
Until now, the 'Turn' function in the Stake tab would always turn
the vertical angle to the previously collected angle from the
'SHOT' button. A checkbox now exists next to the 'Turn' button
to enable the vertical angle to be turned to the theoretical
location of the reflector if it were placed on the stake pt at
design elevation.
As stated elsewhere, I have placed meticulous control of where
the cursor moves, depending on the options selected in the stake,
calc and curve tabs. That being the case, I have tweaked this
a little in the stake tab. :)
Lastly, now when a cutsheet is printed, the variables in the
stake tab are saved as if the exit button were pushed.
As a note, the bluetooth function can use a tweak because if
the instrument is turned off, the program doesn't know it
and the connections doesn't work until the instrument conn.
checkbox is unchecked and rechecked. I have yet to address
this.
04-07-16 LAST 4
I think it's worthy of a 4. There are some nice upgrades here
including:
In the 'calc' tab one can now insert points within the list by
selecting a point in the list, then the next point calculated
will follow that point.
I have a blue-tooth Leica 1200 series and am stoked that I was
able to get connected wireless. To keep things simple (for me)
I left out the list devices function so one must get the address
by using a phone or the like and key it in. I imagine port 1
will work on all similar Leica total stations. BTW the only
instrument settings that have any effect here are the port
and blue-tooth address variables.
I modified the Topcon instrument to have two modes by just adding
a 'Topcon Fine' instrument selection for fine mode.
The 'angle to natural' function and 'zenith angle' function will
now collect the values if a Topcon or Leica supported gun is
connected.
In the 'data' tab I have added to the filter options with the
ability to list all points within a given distance range from
any reference point given. This will also list the azimuth and
distance to each of the points listed and then it can be toggled
to display the standard point values.
Hidden functions have been added. Just a couple since available
space is nearly non existent in many areas.
One is the ability increment or decrement the current point number
in the stake point and the RP/Pt.A fields by hitting the '+' or
the '-' keys respectively.
When I calculate an intersection at a given offset using the stake
line function I like to check it by entering pt.A and pt.B of the
intersecting line into the stake line pt.A and pt.B fields and then
entering the clc pt# into the RP/Pt.A field and then hit the LocPt.A
button. This juggling can be done by hitting the 'c' key while the
cursor is in the RP/Pt.A field and then can be put back by hitting
the 'b' button (with the cursor in that same field).
There are also some minor tweaks and refinements and fixes, some
I don't remember as months pass with my lack of note keeping.
I hope you all enjoy running LAST as much as I do.
11-30-14 LAST-3.1.0
The ability to calculate a curve including the radius point using
only the begin, end, and a poc is now available along with fine
tuning the related option automation in the curve tab.
Resolved is the issue of importing a text file containing commas
in the descriptions. Previously all such points would be rejected
as malformed or duplicate.
Now in the stake tab when the 'adv' box is checked, a note is placed
in the '+Plan El' window as a warning that it is not available so as
to keep me from having to reshoot a point in order to get an added
grade on the cutsheet.
11-09-14 LAST-3.0.1
I placed an error catcher in the curve tab calc radius point option.
If the Reference Radius, which is used as the radius dist
for the curve to be calculated is too short, it will no longer
cause an exception error but will now display a math error note.
Two bugs squashed in the profile creator that were introduced from
work done not too long ago. Hopefully it's clean now :)
10-12-14 LAST-3.0.0
Being that I have broken default compatibility with this update I
decided to move to version 3.
The big items are a new plotting function and an overhauled cutsheet
layout.
The new cutsheet doesn't have room (imho) for the point number
referencing the calculated values saved in the "clc" table and so
(this is where the compatibility breaks) I have added a hidden
reference to these points in the field value "tpo" table.
In order to keep using the "tpo" points in a project created using
version 2.x (or 1.x) one must export only the "tpo" points BEFORE
upgrading to 3.x then import and replace the "tpo" table after
the upgrade.
So now when restaking a calculated point using the design values
one needs only to list and select the desired "tpo" point in the
"data" tab, which will display the "clc" table point number, then
click stake (new button), and that number will be sent to the
"stake" tab.
Plotting (with some cool functions) of all points listed in the
"data" tab only if one takes the time to create an appropriate .png
file of a project along with a text file contain the coordinates of
the .png plot. The tool tips has more info and a sample is provided.
A new function to make quick use of "naturals" is now in the "misc"
tab. After a good backsite is made, one can then turn to an antenna,
power pole or edge of building etc, then type the horizontal and
vertical (zenith) angles along with a short description and click
save. Then when using a supported instrument, turning to and
adjusting the reference azimuth is quick and easy.
The .RD5 file creator is now fixed. I didn't test it before because
when I compared the file to a sample it appeared identical but I
forgot that Windows will display a text file differently than Linux.
"LocShot" in the stake tab will now allow for immediate "save" when
using a connected instrument rather than needing to recalculate a
point on a line and then reshooting it to get the correct field
values.
Few misc. tweaks and fixes.
07-12-2014 LAST-2.1.2
Obviously my testing of new features is a little lacking at times.
Bugs fixed:
When I changed the file date format to force 2 digits for the day
and month 07-01-2014 instead of 7-1-2014, I missed one of the
routines which caused an added file to be generated.
I went ahead and refined the editing of previously created profiles
(previously mentioned issue) and have tested it fairly well but time
will tell for sure if it's fool proof. :)
07-01-2014 LAST-2.1.0
Bugs fixed:
Only in the 'hdw' version the radio buttons in the data tab for
selecting comma or space separated values were not working because
I swapped their location without changing the setting that keeps them
working as a pair.
In the curve tab, the 'calc rp' function link was broken when I split
up the files.
The cutsheet page count showed "page 3 of 2" when having just over
2 pages. Predicting points per page before actually printing them
gets complicated when added grades on points only increases page
count sometimes. It seems fine now but time will tell :)
Previously in the Alignment creation routine, the intended design
was that if a radius point was found to be with one degree of the
tangent bearing from the PC, the 'Left Option' would kick in to
allow a curve left rather than the default curve right in this
situation. Well I found a bug that kept this option open.
And so I have squashed that bug and also increased the deflection
angle for the 'Left Option' availability to five degrees.
There were some long standing issues with stake tab messages being
inaccurate or worthless and I have hopefully addressed them all. :)
Additions and refinements:
Added an Exit button on the start tab that will save variables in
the stake tab, then close the program.
Now an "Added Archive Path" options is available in the Misc tab
that serves two purposes:
1: When the Archive function is used, if there is a working path
entered in the 'Added Archive Path' box, a copy of any .pdf or .csv
files in the main folder, plus a copy of the daily .txt file export
will written into such path.
There is now an archive folder inside the Export folder. This makes
it easier to manage this function.
2: When the program is started or when the update button is clicked,
not only is the import folder searched, but now the 'Added Archive
Path' is searched for .txt files to import. If a text file is
imported from this path, a copy of it is placed in the import folder
to allow the previous archiving of the file.
The motivation for this added path is to make files transfers to and
from a usb thumb drive sweet :)
The path for my usb stick on my Linux Mint is /media/don/B1B4-5C8D
And windows is H:
I have added the ability to create .RD5 alignments to be used with
a popular proprietary survey application. :) Plus, any .RD5 files
will be copied the optional added path.
The Resection routine has been refined for more precise button
enabling and disabling reflecting available options.
Now if ANY of the replace check boxes used to overwrite an exist .tpo
point are clicked to uncheck the box, the displayed point number
representing the next .tpo point number to be used will be updated
to the next available. (Previously only two of them worked)
A new Topcon QS instrument is in the list. It turns out that the
old Topcon selection should work with the new gun if the gun is
set to course mode, being the fine mode sends more characters.
The task list will now list any topo files (.csv) in the main folder
since previously I have an automatically created file containing
only points saved in the topo routine
The added cut/fill button is now enabled only when the function is
available.
Also misc tweaks on the interface have been made. (font size etc)
Bugs:
And finally I have discovered that when trying to edit the end of
a profile that has been created (not still in memory), I could
not get the program to work correctly. It might be that I used
end segment elevations and it only had vertical curves in it.
I'm going to have to address it at another time.
12-28-2013 LAST-2.0.0 Removed from Beta Status
With this release there are no reproducible bugs (that I am aware of)
and so LAST will be removed from beta status.
I have enabled the option to ADD TO existing alignments and profiles
by loading them and selecting delete last, which then allows for
continuation. I had it before but unknowingly disabled it when I
was working out kinks. The functionality isn't flawless due to the
input options but works pretty well.
Also now when a station is selected from the
output list of the alignment entry routine, the station is placed in
the station field of the profile routine which is handy when a lot of
your alignment points have grades on them.
The data display and "Export List" function now allows control of
decimal precision, comma or space delimiters, and the toggling of
elevation and description fields. I did this to export coords to my
calculator :D
The "replace" (point) option in the Stake and Topo tabs previously
replaced the saved point in the tpo table only. Now it additionally
searches the daily text output file that is automatically generated in
the export folder, plus the .cut file containing cutsheet info, and
replaces the duplicate point rather than just appending the file.
There remains an issue here with the "Add cut/fill" function because
(for now) they (the added cut/fills) are not accessible for
replacement along with the point for which they are added, but they
can be edited or deleted with a new function mentioned below.
This also applies to the new .csv file (Announcing now :)) that
is automatically created in the root folder which contains only the
Topo points saved.
A print quantity option has been added and now when a cutsheet is
printed, a separated .csv file is generated containing a coordinate
list of each point within the cutsheet as a supplement.
Due to the new .csv files generated, the "Archive" function now moves
these files to the newly renamed pdf_csv folder previously just pdf.
I found and fixed another broken link for the calc radius pt function
in the curve tab caused when I split up the files.
Now when one of the "replace" checkboxes (located in the start and
stake tabs) is unchecked, the tpo point number displayed (all locations)
will be updated to the next one available. This just adds to the last
new point numbers saved rather than searching the tpo table for any
available gap. So it's not foolproof.
I added a toggle (checkbox) so staking a list (from Curve or Calc tab)
can be smoother by way of incrementing through it automatically. I
had this function before, but without a toggle, which caused the "Add
cut/fill" option to be inaccessible, thus the toggle is necessary.
I removed the erroneous displaying of staking error (line and distance)
when a point is saved while the instrument toggle is unchecked.
Fixed a bug that would undesirably change the staking reflector height
to that from the topo tab when using the "Locate Shot" function of the
stake line routine or of the "Calc" (points on alignment) tab.
Ordinarily the two numbers stayed synchronized and now they should w/o
fail.
I have added a new "Edit" tab which contains edit cutsheet file (.cut)
functionality. Essentially one can edit the description, design elev.
and/or the "cutto" label. Changing the design elev will in turn
change the cut/fill when the cutsheet is printed. The original .cut
file is saved as an appropriate name (<task>_orig.cut) leaving the
currently named .cut file available for immediate use. No protection
is given the renamed file and so editing the same named .cut file
again under Linux will likely clobber the file and Windows will cause
an exception error. Of course the "Archive" function will save these
with the current date so we are safe to edit (and of course write the
new .cut) once each day for the same named task without intervention.
Plus a likely few misc. tweaks and refinements.
8-1-13 Last-1.1.0-10
Fixed broken error notification when selecting set az while instrument
comm. is off and broken intersect option when staking a line using
Pt.A with the Az option.
My apologies (again) I just discovered that I failed to sufficiently
test the ZA function in the Topo tab and when using anything but even
degrees, the output is wrong since I didn't implement the to decimal
degrees. Well now it is fixed.
I see that I should make the enter key step through the variables in
the triangle solutions routine but haven't since I don't use it much.
7-16-13 Last-1.1.0-7
All I've done is remove a line I used for debugging and changed this
readme making note to emphasize where the latest files can be found as
I noticed several other websites having older versions.
7-13-13 Last-1.1.0-6
My apologies! Lack of testing a quick fix and the load profile caused
an error. Also I just noticed that sample alignment included requires
the overwrite option to be selected using Linux. Probably due to case
sensitivity since newer alignments use lower case 'end'. I also changed
the intro of this readme a tad.
7-13-13 Last-1.1.0-5
Fixed bug causing added cuts to be left off the cutsheet when they
exist on the last point of a page. Added more input error traps. Added
versatility to intersections in the stake line routine. Fixed bug in
the Curve tab curve offset calc routine causing a minor stationing
error due to HMS to HR step not implemented. Another bug also fixed
in the station advance function where the radius information line
interfered with the stationing. Also fine tuned the load function in
the profile entry routine. Maybe one or two other minor tweaks.
6-15-13 Last-1.1.0
After a period testing I was prepared to (after a few cosmetic and
interface tweaks) call it version 1.0 and take if off of Beta status.
Well...since the program has grown to an unwieldy size for one file
(the IDE won't list all of the functions in the drop down list), I
decided to break it up into several files. With all of the different
references needed and the fact that I have overhauled the cutsheet
routine to now use reportlab in order to refine and open up a wealth of
cutsheet design options, it's Beta status for the time being. So far,
all I've done is shrink and reformat the cutsheet contents to allow 29
points per page rather than the 9 it had. Since reportlab is a PDF
creator, the pdf cutsheet files are now archived to the new pdf folder
instead of creating a text file for each page of the cutsheet, and the
deleting them with the archive/delete button. Now it's just an archive
button.
In addition to that I have fixed:
The blatant bug I failed to notice before that skips the first point
in the cutsheets printout.
An issue with stepping through the calc tab variables using the enter
key. BTW I have gone through great lengths to have the cursor step
logically, controlled by the options, through many of the variables,
using the enter key.
An issue with exporting a displayed list after having used the
"Export Project" function.
A cutsheet description error in which the distance from cl and the
offset were run together.
Some other interface related quirks.
Other small things I can't remember.
This readme. I finally performed a spell check. It's not on auto.
It's quite probable that I still have a broken function that I missed
and therefore have to revert to a previous version but retesting all
of the functionality is time consuming. I'm compelled to post a new
version considering the work done.
2-12-13 Last-0.9.9-8
Only three things (I believe). I fixed the Curve Solutions routine
in which an error would arise when attempting to use the radius and
the chord variables to solve the curve. I got rid of the long standing
annoyance of losing one second due to rounding in the decimal degrees to
degrees, minutes and seconds conversion. Finally I implemented the
"Adv" button (which I forgot was even there) in the Calc tab used to
advance the current station to the next significant one listed in the
currently loaded alignment and profile from in the Road tab.
1-25-13 LAST-0.9.9-7
Previously I added a tweak in the Curve tab to make 7.00/fc into a
7/fc just to simplify things. It worked fine as long as the offset
was positive. Obviously my debugging is light at times but I fixed
that and made some minor tweaks to the self generated descriptions
for the .clc and .tpo points. Not a real important update but
enough to not put it off any longer.
12-09-12 LAST-0.9.9-6
Some more fine tuning, of which could go on and on. I did find and
fix a calculation bug in the intersect function of the stake line
routine where keeping track of decimal degrees and degrees-minutes
and seconds was an issue. I added a few tool tips and moved the
checkboxes to use keyed in el's closer to the functions themselves.
11-09-12 LAST-0.9.9-4
More refinements.
11-04-12 LAST-0.9.9-2
A few more tweaks and bugs squashed in Align and Curve, and Resect.
routines mainly.
10-21-12 LAST-0.9.9-0
Implemented Triangle and Circular Vertical Curve solution routines
and did numerous tweaks and fine tuning. The new items have not
been debugged much but they are pretty basic. Except for minor
tweaks for fine tuning and debugging, this is pretty much it
for the version 1.0 target.
10-8-12 LAST-0.8.2-0
Finally got to use it again in the field and found a couple blatant
bugs so those fixes and more tweaks.
10-7-12 LAST-0.8.1-2
Implemented the Curve Solutions routine and an archive/delete button
which moves the cutsheet data files (.cut) and the import files (.txt)
to an archive folder found in their respective folders.
If this version is used with existing files from a previous version,
an archive folder must be manually created in each project folder
and in the import folder.
The Archive/Delete button also deletes all of the cutsheet pages
generated by the print cutsheet routine which uses the data in the
.cut files. Since the .cut files are archived, cutsheets can be
printed again for future reference. Each point staked has the date
staked and also the alignment used (if applicable) saved within the
.cut file.
I have also done some rearranging and renaming and a few other tweaks
and fixes. I also renamed this file to readme.txt1 to prevent it from
being deleted with the cutsheet pages.
9-30-12 LAST-0.8.0-1
After some doubt as to any continuation of my project I am back in the
saddle and have done a bit of work connecting to Topcon-810A series
instruments and with this one I have a timer so as not to cause an
endless loop if it's not connected like the Geodimeter does. :\
I have also fixed up the Rets (returns) tab which is good for any
circular curve layout. It needs more testing but passed the quick
tests. The tweaks were to expand the grade calcs and to control input
a bit better so the horizontal work should be unaffected.
I also scanned a pdf that shows info for the test alignment and profile
along with setting the default start up values so the functions
mostly (you do have to select or enter a task and also an alignment and
profile, but they already exist) work without having to create or enter
information just to play with things to make it easier for everyone out
there.
11-20-2011 LAST-0.7.1-6
Tweaks and bug fixes.
10-17-2011 LAST-0.7.1-3
Fined tuning for topo and resection, plus fixed a few bugs and misc.
10-09-2011 LAST-0.7.1-1
I've been tweaking the layout to fit my 1366x768 screen along with a
custom size and layout virtual keyboard called Touch-IT that I keep
on the left approximate 25% of the screen.
I've done a bit of work on the resection routine allowing shots to be
taken without having entered point numbers instrument or reflector
heights and in turn allowing those variables to be adjusted without
having to re shoot points. I also fixed the error I had in the adjust
calculations so it seems good to go as far as resecting.
I added a project backup button which exports all points from each
table in the current project to a text file.
And as usual numerous tweaks and fixes.
9-17-2011 LAST-0.7.0-13
Well I got the tablet and it's pretty nice but it's so new I can't get
Linux to get more that a few seconds into booting from a Live CD before
it locks up sooo... Windows 7 pro is what I am using since it came
that way. I tweaked the formatting, found out cPickle works after
a minor tweak:
wfile = open(text, 'wb') instead of:
wfile = open(text, 'w')
Numerous other bug fixes and tweaks.
8-21-2011 LAST-0.6.1-6
OK...forget about the rc2 stuff. I couldn't keep from adding functions.
I found a slate pc that looks like it's gonna do the trick in the
field, direct sun and all. It's called a Motion CL900 and I should
receive it tomorrow so I have been adding, tweaking, testing and
debugging for a week now getting prepped for use. I'm pretty happy
with the functionality and am ready for more field testing.
6-23-2011 LAST-0.6.0-4-rc2
I was a bit premature on rc1. Part of the problem is I'm not currently
using the program due to hardware issues, but am still trying to work
out the bugs and fine tuning and not expand any, although I did add some
functionality to the test read and test write/read functions to help
create additional instrument support.
6-17-2011 LAST-0.6.0-0-rc1
After a bit of refining and cleaning up I'm content enough with the
functionality to focus on testing/debugging for awhile. I have
organized the file management which also allows common task names
without conflict, inserted a sort function so points retrieved and
exported in the data tab will be sequential, entered more tool tips, and
some other things I can't remember atm.
6-08-2011 LAST-0.5.3-1-beta
I tried a quick tweak for the cutsheet format without testing it and
so...an exception error occurs if it can't find a point when staking a
line. So that and maybe another tweak or two is here.
6-07-2011 LAST-0.5.3-beta
Let's see...I'm not sure exactly where I was 2 days ago but lately I have
gotten resection going, added grades to the "Rets" tab, majorly changed
the cutsheet format, added some buttons to add current description to
the drop down lists on the 4 primary description combo boxes, put an
auto add function on the "cutto" combo boxes, implemented merge/replace
combination to replace duplicate points when merging import coords (only
the point number is looked at, not the values), plus numerous other
tweaks and bug fixes besides what I did weeks ago.
6-05-2011 LAST-0.5.2-beta
A lot has happened and I've been too busy to update. I worked like crazy
to get it functional enough to use at work and used it for a week or so
using 2 different netbooks, one non touchscreen a bit difficult to read
in direct sun and one touchscreen very difficult in direct sun. So I've
shelved it for now at work and am doing more programming while I wait for
satisfactory hardware due to the production demand at work.
2-20-2011 LAST-0.4.2-alpha
I implemented the topo shot adjustment functions and the serial framework
for instrument data communication. Just the specific routines for
different types of instruments is needed. For the time being the port
is setup for Linux and the use of a USB to serial converter (/dev/ttyUSB0)
with a few settings options. And of course a few tweaks here and there.
Oh yeah...I added 3 single button push topo shot options to allow easy
cross sectioning without having to change the description and press save
for every shot.
2-14-2011 LAST-0.4.0-alpha
Implemented calculate return routine which can be used with any curve
that needs to be divided into equal segments or "deltas" such as for
a cul-de-sac or even for grading. Grades are entered in the staking
routine.
I set up an area for Resection calcs but no worky yet :) plus a few
more tweaks here and there.
1-13-2011
Tweaked a couple and fixed a couple items. Need more testing.
1-10-2011
Added 2nd intersect option for curve ints, added append option to data
exports, got replace table going for sqlite and got the printer command
for Linux in place for the cutsheet creator that I missed, oops. Added
some error catching for the Import function to handle duplicate point
numbers and malformed lines for the .csv (pt#,n,e,el,desc)files. Need
to test for awhile and think about going for beta stage.
1-8-2011
Squashed another bug or two and worked on tool tips. The next thing I do
is implement a way to allow the intersecting of the second possible
solution that would be available under certain circumstances.
1-7-2011
After a bit more testing I have discovered that my statement about this
application failing to run on Windows due to the side tabs is outdated or
the initial info I found was in error.
I have found two problems when running this LAndSurveyTools python app.
under windows. One is that I just get a blank window (pre-0.2.2-6) and
two is that the app crashes after a split second (0.2.2-6 and after).
cPickle is the crash culprit, and when I place it in the start-up
section, it won't start. The blank window, I discovered actually fills
in once it is re-sized albeit the format is trashed due to Windows
implementation of the fine tuning I've made under Linux.
So...anyone stuck on Window must (hopefully with an automated editor):
1:replace all "cPickle" words with "pickle".
2:remove the ",2" in some of the pickle commands.
example: cPickle.dump(c.vrt,wfile,2)
must be: pickle.dump(c.vrt,wfile)
(update 9-17-2011) It turns out cPickle works fine after the changes
below are made so ignore steps above. Instead, when opening a file
in binary mode in Windows, the letter 'b' must be used along with
the 'w', 'r' and 'a' variables.
Example: wfile = open(text, 'wb')
Then proceed to beautify the layout to your liking. I'm sure there are
a few other minor glitches to address but it 'seemed' to function after
cPickle was addressed. Also remember to delete all the included files
created by cPickle.
I'd say take the LAndSurveyTools.py file, the Common_Vars.py file and the
cal7.csv file (if you want a sample coordinate file to import) and put
them in a new folder to run them.
1-6-2011
Fixed some angle point back and ahead calculating issues and added a
delete all button to the calc tab.
1-4-2011
I've done a lot of debugging. There ended up being several critical
bugs but it's working pretty smoothly now and I added a simple (for
the time being) traverse entry routine to help test things. I've decided
I lied about keeping a windows version up to date. It was more work than
is worth it to me for the time being. I'd say it's close to beta material
but there are several items disabled but I need a break. :)
1-1-2011
I found under Windows XP/7, it immediately crashes due to my much loved
notebook widget having tabs on the side. After tweaking the tabs to the
top I see there are also some format differences. I tweaked on them for
awhile to get it to look "bearable" and had to make the window size taller
which hoses the 10.1" desired screen target. I'm leaving the 2 tabs with
non-working functions active just to see what I want to get working soon.
So...I'm going to include the Windows version and try to keep the workings
up to date just in case someone out there wants to tune the UI cosmetics.
Actually there are some critical issues with it being that pickle.load is
failing. Ah well, the Linux version is doing quite well, but I'll look
into the Windows version issue eventually...I hope :)
I'm going to move it to alpha stage and hope there are no dumb critical
bugs that I missed because I have gotten some basic functionality going on
all but 2 tabs.
11-19-2010:
Spent a chunk of the day reformatting layout for 10.1" netbook and hope to
begin doing more work soon so I can use it in the field. I've been laid
off for almost 2 years now and wasn't sure when/if I would have a use for
this project.
Earlier I set up some more solution framework with any code actually
solving anything yet. :)