|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| Davis/ | H | 03-May-2022 | - | 2,576 | 2,055 |
| LaCrosse/ | H | 03-May-2022 | - | 2,296 | 1,747 |
| callpass/ | H | 17-Oct-2021 | - | 151 | 81 |
| config/ | H | 07-May-2022 | - | 15,913 | 15,360 |
| help/ | H | 07-May-2022 | - | 11,435 | 9,043 |
| scripts/ | H | 03-May-2022 | - | 14,460 | 8,351 |
| src/ | H | 17-Oct-2021 | - | 178,081 | 118,538 |
| symbols/ | H | 03-May-2022 | - | 5,158 | 5,130 |
| .dir-locals.el | H A D | 17-Oct-2021 | 99 | 5 | 4 |
| .travis.yml | H A D | 17-Oct-2021 | 8 KiB | 310 | 276 |
| .vimrc | H A D | 17-Oct-2021 | 795 | 38 | 27 |
| AUTHORS | H A D | 17-Oct-2021 | 1.9 KiB | 59 | 46 |
| CONTRIBUTING.md | H A D | 17-Oct-2021 | 20.7 KiB | 556 | 404 |
| COPYING | H A D | 17-Oct-2021 | 17.6 KiB | 341 | 281 |
| COPYING.LIB.LESSTIF | H A D | 17-Oct-2021 | 24.7 KiB | 482 | 399 |
| ChangeLog | H A D | 17-Oct-2021 | 919.2 KiB | 30,065 | 19,800 |
| DEBUG_LEVELS | H A D | 17-Oct-2021 | 4 KiB | 123 | 88 |
| FAQ | H A D | 17-Oct-2021 | 56 KiB | 1,252 | 946 |
| INSTALL | H A D | 17-Oct-2021 | 61.2 KiB | 1,540 | 1,170 |
| LICENSE | H A D | 17-Oct-2021 | 89.3 KiB | 1,801 | 1,454 |
| Makefile.am | H A D | 03-May-2022 | 3.3 KiB | 104 | 67 |
| NEWS | H A D | 17-Oct-2021 | 1,018 | 38 | 22 |
| National.geo | H A D | 17-Oct-2021 | 179 | 4 | 2 |
| OSM_template | H A D | 17-Oct-2021 | 1.5 KiB | 52 | 45 |
| README | H A D | 17-Oct-2021 | 10 KiB | 276 | 203 |
| README.CYGWIN | H A D | 17-Oct-2021 | 17.8 KiB | 497 | 370 |
| README.GIT | H A D | 17-Oct-2021 | 12 KiB | 333 | 233 |
| README.Getting-Started | H A D | 17-Oct-2021 | 34.3 KiB | 944 | 715 |
| README.MAPS | H A D | 17-Oct-2021 | 62.3 KiB | 1,402 | 1,097 |
| README.OSM_maps | H A D | 17-Oct-2021 | 8.5 KiB | 215 | 164 |
| README.developers.md | H A D | 17-Oct-2021 | 8.2 KiB | 230 | 168 |
| README.md | H A D | 17-Oct-2021 | 10 KiB | 276 | 203 |
| README.qt | H A D | 17-Oct-2021 | 5.9 KiB | 178 | 132 |
| README.sudo | H A D | 17-Oct-2021 | 3.4 KiB | 87 | 62 |
| REGRESSION_TESTS | H A D | 17-Oct-2021 | 28.9 KiB | 1,105 | 736 |
| Regional.geo | H A D | 17-Oct-2021 | 179 | 4 | 2 |
| Sub_national.geo | H A D | 17-Oct-2021 | 183 | 4 | 2 |
| Sub_regional.geo | H A D | 17-Oct-2021 | 183 | 4 | 2 |
| UPGRADE | H A D | 17-Oct-2021 | 3.7 KiB | 95 | 70 |
| USTigermap.geo | H A D | 17-Oct-2021 | 660 | 8 | 4 |
| USTigermapBorders.geo | H A D | 17-Oct-2021 | 341 | 8 | 4 |
| WMS_USGS_Hydrography.geo | H A D | 17-Oct-2021 | 228 | 5 | 2 |
| WMS_USGS_ImageryOnly.geo | H A D | 17-Oct-2021 | 227 | 4 | 2 |
| WMS_USGS_ImageryTopo.geo | H A D | 17-Oct-2021 | 227 | 4 | 2 |
| WMS_USGS_ShadedReliefOnly.geo | H A D | 17-Oct-2021 | 232 | 4 | 2 |
| WMS_USGS_Topo.geo | H A D | 17-Oct-2021 | 222 | 5 | 3 |
| acinclude.m4 | H A D | 03-May-2022 | 35.3 KiB | 1,078 | 954 |
| bootstrap.sh | H A D | 17-Oct-2021 | 1.1 KiB | 43 | 22 |
| callpass.1 | H A D | 17-Oct-2021 | 765 | 30 | 23 |
| configure.ac | H A D | 17-Oct-2021 | 29.4 KiB | 947 | 792 |
| git_commit_message_template | H A D | 17-Oct-2021 | 147 | 8 | 3 |
| placeholder | H A D | 17-Oct-2021 | 85 | 6 | 2 |
| stamp-h.in | H A D | 17-Oct-2021 | 10 | 2 | 1 |
| testdbfawk.1 | H A D | 17-Oct-2021 | 1.3 KiB | 49 | 41 |
| update-xastir | H A D | 17-Oct-2021 | 2.8 KiB | 80 | 53 |
| xastir-lsb.spec.in | H A D | 17-Oct-2021 | 3.2 KiB | 109 | 98 |
| xastir-min.spec.in | H A D | 17-Oct-2021 | 2.3 KiB | 79 | 65 |
| xastir.1 | H A D | 17-Oct-2021 | 2.2 KiB | 109 | 108 |
| xastir.spec.in | H A D | 17-Oct-2021 | 2.7 KiB | 87 | 73 |
| xastir_udp_client.1 | H A D | 17-Oct-2021 | 1.4 KiB | 44 | 31 |
README
1# README
2------------------------------------------------------------------------
3
4 Please at least SKIM this document before asking questions. In fact,
5 READ IT if you've never successfully set up Xastir before. PLEASE!
6 READ IT! If you haven't read this file, and ask for help
7 expect to be told to READ the README file first! or RTFM :)
8
9 Contents:
10
11 0. Important notice
12 1. What is Xastir?
13 2. How do I get Xastir & Git usage
14 3. Quick startup
15 4. Upgrading
16 5. Identification notes
17 6. OS-specific notes
18 7. Gating weather alerts
19 8. Boring legal stuff
20 9. Mailing list
21 10. Documentation
22 11. Obtaining help
23
24------------------------------------------------------------------------
25
260. NOTICE
27
28 Please read this file carefully before trying to set up Xastir.
29 This software was developed to be used by licensed amateur radio
30 operators. You are responsible for any information transmitted
31 or propagated on any network.
32
331. WHAT IS XASTIR?
34
35 Xastir is an open-source project to create a free X11 graphical
36 APRS(tm) client. APRS(tm) use amateur radio and Internet services to
37 convey GPS mapping, weather, and positional data in a graphical
38 application. It has been developed by and for amateur radio
39 enthusiasts to provide real-time data in an easy to use package.
40
41 Xastir currently runs under several flavors of Linux and BSD Unix.
42 A few people are running Xastir on Solaris Unix, FreeBSD, Lindows
43 and Mac OS X, but there may be small changes necessary in order to
44 get Xastir to configure/compile on some systems. There are a few
45 notes below which may help in this task. Most of the developers use
46 Linux which makes it the best supported platform at the moment.
47
48 Xastir is an open-source project: Most sources, documentation, and
49 binaries are available under the GPL license, with a few modules
50 available under other open-source or public domain licenses.
51
52 More information on Xastir can be found here:
53
54 * http://xastir.org
55 * http://github.com/Xastir
56
57 including the latest releases, Git access (lets you
58 download the latest developers' code), and information on how to join
59 Xastir mailing lists. Note that you must be subscribed in order to
60 post to the mailing lists.
61
62 SmartBeaconing(tm) was invented by Tony Arnerich (KD7TA) and Steve
63 Bragg (KA9MVA) for the HamHUD project. They offer the algorithm to
64 other authors as long as proper credit is given and the term
65 SmartBeaconing(tm) is used. Thanks to Tony and Steve for that
66 contribution!
67
68 -- The Xastir Group.
69
702. HOW TO GET XASTIR
71
72 Xastir is currently developed at
73 <http://github.com/Xastir/Xastir>
74 You can get the latest version of Xastir from there.
75
76 You might try <http://xastir.org> for help and information,
77 particularly the Xastir mailing list (listed near the bottom
78 of the page).
79
80 * Git USAGE
81
82 Obtain the *very latest* version of Xastir under development by
83 using Git.
84
85 See the file README.GIT for more details.
86
87 * Release version tarballs
88
89 You can get the latest packaged release source code without git
90 at https://github.com/Xastir/Xastir/releases. Be warned that packaged
91 source tarballs may be quite old and not representative of the current
92 state of the project. We highly recommend not using this method unless
93 you have a specific reason to stick to official releases.
94
953. QUICK STARTUP
96
97 See README.Getting-Started for a relatively quick overview of how
98 to build and use Xastir.
99
100 Check the Xastir wiki (http://xastir.org) for OS-specific guidance
101 for building Xastir on your system.
102
103 WINDOWS USERS: Please refer to the "README.CYGWIN" file for
104 specific instructions.
105
106 See the 'INSTALL' file in the Xastir source tree for detailed
107 information about configure.
108
1094. UPGRADING
110
111 Upgrading Xastir that has been built from a recent Git clone
112 is as simple as running "git pull" in the source tree and
113 recompiling.
114
1155. IDENTIFICATION NOTES
116
117 Packet radio modes, by their very nature, typically identify
118 themselves with every transmission. Xastir has a few features
119 targeted to people who used Xastir in demonstrations and other
120 broadcasts where Xastir itself is used over radio.
121
122 Xastir can auto-ID via voice if Festival is compiled in and/or via a
123 message splashed across the screen. It does this identification
124 every 9.5 minutes if enabled. These identification modes were
125 designed for broadcasting Xastir across fast-scan television (for
126 events perhaps). Set the "ATV_SCREEN_ID" variable to 1 to enable the
127 screen message, and "SPEAK_ID" variable to 1 to enable festival to
128 speak the message. These variables are in the
129 ~/.xastir/config/xastir.cnf file.
130
1316. OS SPECIFIC NOTES
132
133 [The OS-specific notes that were here were horribly outdated
134 and not maintained. That text has been removed. Please
135 see the Xastir wiki at http://xastir.org in the "Installation Notes"
136 section for OS-specific build guidance.]
137
1387. GATING WEATHER ALERTS, STATIONS, OBJECTS/ITEMS TO RF
139
140 ## Gating NWS Weather Alerts to RF:
141
142 If you wish to gate NWS weather alerts from the Internet onto RF, you'll
143 need to create a text file in the users directory as
144 ~/.xastir/data/nws-stations.txt
145 List each NWS station that you would like to transmit via RF. Wildcards
146 are implied for lengths of 3 or greater. Here's what an example file
147 looks like:
148
149 #
150 # Seattle, WA
151 SEANPW
152 #
153 # Portland, OR (any alert type)
154 PDX
155 #
156 # Pendleton, OR
157 PDTNPW
158 #
159 # Medford, OR
160 MFRNPW
161 #
162
163 All text should start at the beginning of the line.
164
165 Once that file is in place, you'll need to hook up to at least one
166 Internet server that is feeding you the weather alerts. You'll also need
167 to have at least one RF interface up and running with transmit enabled on
168 that interface. Make sure that "Interfaces->Disable Transmit: All" is not
169 selected. You should now be gating NWS weather messages to RF.
170
171 Turn on igate logging and look at that log file to view what you're
172 sending out via RF. Don't forget to turn off logging or set up
173 auto-rollover of the log files, else your hard drive might fill up with
174 logging info. Auto-rollover of log files is typically accomplished via
175 CRON.
176
177 ## Gating Stations, Objects/Items to RF:
178
179 The latest code also allows gating packets from specific stations to RF
180 using the above method (except object/item packets). You can also gate
181 objects/items to RF by name. The same wildcarding rules apply as listed
182 above. Callsigns or object/item names listed in this file are
183 case-insensitive, so they'll match any case in received packets.
184
185 Bob Bruninga, WB4APR, recommends gating these calls to RF:
186
187 SCOUTS, SATERN, KIDS, REDCROSS, FOUR-H, YOUTH, GUARD, MARS, JOTA
188
189 See his link: "Generic Callsigns for National Events" off this web page
190 for his current list of recommended callsigns:
191
192 http://www.aprs.org/aprs-jota.txt
193
194
1958. BORING LEGAL STUFF
196
197 Xastir is Copyright � by Frank Giannandrea. Xastir is
198 distributed according to the GNU General Public
199 License. There should be a copy of this license in the
200 file COPYING. If not, write to the Free Software
201 Foundation, Inc., 675 Mass Ave, Cambridge, MA
202 02139, USA.
203
204 As of Xastir 0.4.0 all changes made by the Xastir
205 development team to the Xastir source code and any related
206 files are Copyright (C) 2000-2019 The Xastir Group. The source
207 code will still be distributed according to the GNU General
208 Public License as Frank Giannandrea did in the past.
209
210 There is no warranty, implied or whatever. You use this
211 software at your own risk, no matter what purpose you put
212 it to.
213
214 You didn't pay for it, so don't expect magic.
215
216
2179. MAILING LIST
218
219 There are currently a couple of mailing lists about Xastir.
220 xastir@xastir.org is the one relevant for most users.
221
222 The xastir@xastir.org mail-list is dedicated to Bug
223 reports, technical questions, your thoughts or
224 suggestions on new features being added to Xastir, things
225 that should be removed or fixed, amazing problems that even
226 stump the guru's, etc... are what we want to see here. You
227 must be subscribed to the list in order to post messages.
228
229 To subscribe to the Xastir mailing list, send email to:
230 xastir-request@xastir.org In the body of the message,
231 put "subscribe xastir"; or go to
232 http://xastir.org and click on "XASTIR MAILING LISTS" (in the
233 "Resources" section near the bottom) to subscribe.
234
235 ### DO NOT SEND FRANK EMAIL ABOUT XASTIR ###
236
237 Frank is no longer developing the Xastir code (although
238 he does put a word in every now and then) so don't bother
239 e-mailing him. If you have a serious problem, email the
240 Xastir mailing list and it will get to the coders.
241
242 Please, before posting to this list, see what things are
243 like, and when you do post, read over your post for
244 readability, spelling, and grammar mistakes. Obviously,
245 we're all human (or are we?) and we all make mistakes (heck,
246 look at this document! ;).
247
248 Open discussion and debate is integral to change and
249 progress. Don't flame others over mere form (grammar and
250 spelling), or even substantive issues either for that
251 matter. Please read and follow the mailing list rules.
252
253 A second mailing list, xastir-dev@xastir.org is intended for
254 developer's discussion.
255
25610. DOCUMENTATION
257
258 We're trying to get the documentation up to date. If you
259 feel that anything is missing here, or that anything should
260 be added etc, please email xastir@xastir.org about it,
261 thank you.
262
26311. OBTAINING HELP
264
265 Please read the file FAQ, and make sure you've followed any relevant
266 instructions in INSTALL. If the problem still exists, feel free to
267 ask on the Xastir mailing-list, as described above.
268
269
270 ------------------------------------------------------------------------
271APRS(tm) is a Trademark of Bob Bruninga
272
273Copyright (C) 1999 Frank Giannandrea
274Copyright (C) 2000-2019 The Xastir Group
275
276
README.CYGWIN
1November 2017 Update
2
3This document offers a method of running Xastir on Windows using
4the Cygwin environment. Cygwin is a large collection of GNU and
5Open Source tools which provide functionality similar to a Linux
6distribution on Windows.
7
8Microsoft now offers their own Linux solution, using an Ubuntu
9Linux framework that runs under Windows. However, you must be
10running a 64 bit version of Windows 10 to use the Microsoft option.
11More information may be found in the Xastir Wiki at:
12
13http://xastir.org/index.php/HowTo:Win10
14
15------------------------------------
16Installing Xastir on Windows/Cygwin:
17------------------------------------
18
19These directions were most recently validated on Windows 10, both 32
20and 64 bit, with Cygwin version 2.882.
21
22SPACES IN FILENAMES/USERNAMES: Cygwin specifically, and Unix boxes in
23general, don't much like spaces in filenames, directories, or login
24names. Any of these may cause you headaches while playing with Cygwin.
25Create a new login that doesn't have spaces and log in as that user
26before installing Cygwin, and whenever you intend to run Cygwin/Xastir.
27It's very likely that Xastir won't work for you if you use a login that
28has spaces embedded in it. For additional info, see this link:
29
30 https://cygwin.com/faq/faq.html#faq.using.filename-spaces
31
32The following steps direct you through installing Cygwin, Xastir, and
33a few optional map libraries that Xastir can use. Note that in most
34of the places below where the directions state to type commands, this
35must be done from within a Cygwin BASH shell, not a DOS window.
36Where you are asked to edit files, it's best to use Wordpad instead
37of Notepad, as Notepad doesn't do nice things to Unix-format files.
38
39Cygwin now allows you to have Xwindows apps and Windows apps all on
40the screen and visible at the same time! The instructions here set
41it up in that manner, so you can have Xastir as just another app on
42your Windows desktop.
43
44Please subscribe to the "xastir" mailing list at "http://xastir.org".
45There are lots of helpful people there that can aid you in
46installing/running Xastir. You must be subscribed in order to post
47messages there.
48
49[ ] Step 1) Install Cygwin, a free download.
50
51[ ] Step 1a) Go to https://cygwin.com/install.html with your web browser.
52Choose the 64 bit or 32 bit version as appropriate for your Windows
53operating system.
54
55This will download the Cygwin network installer program onto your
56computer. Remember where you decide to put this program. I put
57mine in my user "Downloads" folder.
58
59Note: It will be beneficial to re-run the Cygwin network installer
60from time to time in order to keep Cygwin up to date. Each time you run
61it you'll update any packages that have been changed since you last ran
62it.
63
64[ ] Step 1b) Find the "setup-x86.exe" program (32 bit) or the
65"setup-x86_64" (64 bit) program. Make note of which version you are
66using.
67
68Open a Windows Command Prompt as the Administrator and change directory
69to the directory where you just saved the setup program.
70
71If you have setup-x86.exe (32 bit), run this command to download
72and install the needed Cygwin components:
73
74setup-x86.exe --quiet-mode --packages autoconf,automake,binutils,^
75db,font-util,gcc-core,git,GraphicsMagick,gv,libcurl-devel,libdb-devel,^
76libgeotiff,libgeotiff-devel,libjasper-devel,libjbig-devel,^
77liblcms2-devel,libpcre-devel,libshp-devel,libtiff-devel,libwebp-devel,^
78libwmf-devel,libxml2-devel,libGraphicsMagick-devel,libX11-devel,^
79libXext-devel,libXm-devel,make,nano,sox,unzip,wget,xfontsel,xinit,^
80xorg-x11-fonts-Type1,xorg-x11-fonts-dpi100,libbz2-devel,libproj-devel
81
82If you have setup-x86_64.exe (64 bit), run this command to
83download and install the needed Cygwin components:
84
85setup-x86_64.exe --quiet-mode --packages autoconf,automake,binutils,^
86db,font-util,gcc-core,git,GraphicsMagick,gv,libcurl-devel,libdb-devel,^
87libgeotiff,libgeotiff-devel,libjasper-devel,libjbig-devel,^
88liblcms2-devel,libpcre-devel,libshp-devel,libtiff-devel,libwebp-devel,^
89libwmf-devel,libxml2-devel,libGraphicsMagick-devel,libX11-devel,^
90libXext-devel,libXm-devel,make,nano,sox,unzip,wget,xfontsel,xinit,^
91xorg-x11-fonts-Type1,xorg-x11-fonts-dpi100,libbz2-devel,libproj-devel
92
93[ ] Step 1c) Choose a Download Site and then click Next.
94
95[ ] Step 1d) The Select Packages screen will display. You don't have
96to actually select any, the right packages have been selected for you.
97But, if you wish, you can review the selection and make changes if you
98know what you are doing. Click Next and the Resolving Dependencies
99screen will display.
100
101[ ] Step 1e) Click Next and the packages will get downloaded and
102installed. Repeat the above if you have network difficulties, until
103the install succeeds completely.
104
105
106In addition to the base packages, the following packages required to
107compile and run Xastir, along with their dependencies, will be installed.
108
109[ ] autoconf
110[ ] automake
111[ ] binutils
112[ ] db
113[ ] font-util
114[ ] gcc-core
115[ ] git
116[ ] GraphicsMagick
117[ ] gv
118[ ] gzip
119[ ] libbz2-devel
120[ ] libcurl-devel
121[ ] libdb-devel
122[ ] libgeotiff
123[ ] libgeotiff-devel
124[ ] libjasper-devel
125[ ] libjbig-devel
126[ ] liblcms2-devel
127[ ] libpcre-devel
128[ ] libproj-devel
129[ ] libshp-devel
130[ ] libtiff-devel
131[ ] libwebp-devel
132[ ] libwmf-devel
133[ ] libxml2-devel
134[ ] libGraphicsMagick-devel
135[ ] libX11-devel
136[ ] libXext-devel
137[ ] libXm-devel
138[ ] make
139[ ] nano (a windows-style text editor, optional)
140[ ] patch
141[ ] sox
142[ ] unzip
143[ ] wget (Optional: Can use libcurl instead)
144[ ] xfontsel
145[ ] xinit
146[ ] xorg-x11-fonts-Type1
147[ ] xorg-x11-fonts-dpi100
148
149
150[ ] Step 1f) You may receive a Postinstall script errors screen.
151It is not necessarily an issue, but you are advised to check the
152contents of /cygwin/var/log/setup.log.full or
153/cygwin64/var/log/setup.log.full. Click Next to proceed.
154
155[ ] Step 1g) At the end of the install it'll ask you if you wish to
156create desktop icons and menu entries. Definitely select these! It
157doesn't mean that Cygwin will start automatically each time you
158reboot your computer or login (it doesn't start automatically). It
159_does_ mean that you'll have an icon to click on manually to get
160things going.
161
162This will create a Black/Green Cygwin icon on the desktop and a menu
163entry so that you can start Cygwin through the menu system as well.
164
165[ ] Step 1h) Click "Finish". Cygwin is now installed. One more
166pop-up informs you Cygwin has been installed. Sometimes this last
167dialog gets hidden behind other windows, and it does seem to need OK
168clicked to complete the installation. Click the OK button on that
169last dialog to _really_ complete the installation. The Command
170Prompt in the window will not return. When it prints "Ending Cygwin
171install" it is done. You can press enter and the prompt will
172reappear.
173
174The Black/Green Cygwin icon will start up a BASH window, without
175starting up Xwindows. Think of it as being similar to a DOS window,
176but with a lot more power. It understands Unix commands though, not
177DOS commands.
178
179[ ] Note: I've had the Cygwin network install fail before during
180the downloading stage without informing me in any recognizable
181manner. You might want to re-do step 1 to make sure nothing
182further gets downloaded/installed. Once you get to that point, Step
1831 is complete.
184
185[ ] Step 2) Start the X Server:
186
187Click on the Windows menu icon or press the Windows button. Look for
188the Cygwin-X program group and click on the XWin Server. It will create
189a green "X" icon in the system tray.
190
191Right-click on green "X" icon in the system tray. Select Systems Tools,
192and then Cygwin Terminal.
193
194[ ] Step 3) Test Cygwin and create startup shortcuts:
195
196You should get a shell window that looks very much like a DOS window.
197It's a BASH shell window and understands Unix commands instead of DOS
198commands.
199
200Once you've gotten to this stage, you now have Cygwin and Xwindows
201installed and operational. Next we go after Xastir itself.
202
203[ ] Step 4) Download Xastir sources. Use the Cygwin Terminal window
204that you just started. Type the three lines below into the shell exactly
205as shown.
206
207 mkdir git
208 cd git
209 git clone http://github.com/Xastir/Xastir
210
211The end result when it succeeds will be a new directory "~\git\Xastir\"
212which contains all of the Xastir source code. You can type "ls Xastir"
213(that's lower-case LS) to see the file listing.
214
215Side Note: Here's the coolest thing about Git: Once you've done
216this initial source-code download, you'll never have to do the whole
217Xastir download again. You'll just go into the "git/xastir"
218directory and type "git pull", which will snag just the _changes_
219to the files since you last updated, and is very fast. Compile and
220install at that point and you'll be running the latest developer's
221version in just a few minutes! It's very easy to keep up with the
222developers this way.
223
224[ ] Step 5) Configure/compile/install Xastir. Type these commands
225into the BASH shell, waiting until each one completes before typing
226the next command:
227
228 cd ~/git/Xastir
229 ./bootstrap.sh
230 mkdir -p build
231 cd build
232 ../configure
233 make
234 make install-strip
235
236NOTE: You'll probably want to run the configure step from an xterm
237window with the X11 server running of course. If you do this from a
238non-X11 window then the configure test for "gv" will fail, as "gv"
239requires an X11 server even when asking it for it's version number.
240Without "gv" support you won't be able to print from Xastir.
241
242Once you get through the above commands, Xastir is compiled and
243installed on your system, with minimal map support. Later sections
244of this document detail adding additional map libraries in order to
245give you access to the full mapping capability of Xastir.
246
247---------------------------------------------------------------------
248
249[ ] Step 6) Actually run the darn thing:
250
251Let's start from scratch to make sure it all works. Close any
252Cygwin/BASH windows you may have.
253
254Click on the shortcut you created to start Xwindows.
255
256From the resulting BASH window, type "xastir &". Xastir should
257start up shortly.
258
259As built, using this documentation, the following map types are
260supported.
261
262Built-in map types:
263 gnis USGS GNIS Datapoints
264 pop USGS GNIS Datapoints w/population
265 map APRSdos Maps
266 map WinAPRS/MacAPRS/X-APRS Maps
267
268Support for these additional map types has been compiled in:
269 geo Image Map (ImageMagick/GraphicsMagick library, many
270 formats allowed)
271 geo URL (Internet maps via libcurl library)
272 geo URL (OpenStreetMaps via libcurl library
273 Copyright OpenStreetMap and contributors, CC-BY-SA)
274 shp ESRI Shapefile Maps (Shapelib library)
275 tif USGS DRG Geotiff Topographic Maps (libgeotiff/libproj)
276 xpm X Pixmap Maps (XPM library)
277
278The README.MAPS file has instructions for where to get maps and where
279to put them under the Xastir hierarchy.
280
281If you have any WinAPRS, DosAPRS, or PocketAPRS maps, now is a good
282time to place them in the /cygwin/usr/local/share/xastir/maps folder
283(or a subdirectory of it). You can also use "*.geo" files and the
284associated image files with Xastir. You may place them in this
285directory (or a subdirectory of it) as well.
286
287FILESYSTEM PATHS (WINDOWS VS CYGWIN):
288
289From Windows, just prefix all paths with "/cygwin" or "/cygwin64" as
290appropriate. For instance, maps go into /cgwin/usr/local/share/xastir/maps
291instead of /usr/local/share/xastir/maps. Xastir will continue to see
292them as "/usr/local/share/xastir/maps" though from inside Cygwin. It kind
293of looks like a miniature Unix box from inside Cygwin.
294
295LANGUAGE OPTIONS:
296
297To set a new language or change the language current choice, use
298this command line instead from inside an Xterm:
299
300 xastir -l <language>
301
302Current choices are:
303
304 Dutch English French German Italian Portuguese Spanish
305 ElmerFudd MuppetsChef OldeEnglish PigLatin PirateEnglish
306
307This option will be stored in the users config file for the next
308time Xastir is run. On new installs Xastir will default to English
309until you use this command line option once.
310
311CYGWIN vs LINUX/UNIX:
312
313Another difference with Cygwin as opposed to Unix-like operating
314systems: You can't do the make install portion if Xastir is up and
315running. You have to kill Xastir first before you do "make install"
316or "make install-strip". Otherwise the newly compiled Xastir won't
317replace the old one.
318
319Another interesting "feature" of Cygwin/Xwindows is that some of the
320modifier keys like ScrollLock/CapsLock/NumLock must be pressed while
321that X-window is the active foreground window. If not, the event
322can be missed, and Xwindows can get out of sync with the actual
323state of the key. This doesn't appear to be an Xastir-specific
324problem, but a Cygwin/Xwindow problem. With just a BASH shell under
325Cygwin (not involving Xwindows), the problem doesn't appear to
326happen. Just inside Xwindows on Cygwin.
327
328When specifying serial ports to use with Xastir,
329
330 "COM1" is called "/dev/ttyS0" in Cygwin (and Linux)
331 "COM2" is called "/dev/ttyS1" in Cygwin (and Linux)
332
333Note the capital 'S'.
334
335OPTIONAL
336
337Please see the INSTALL file and the Help menu in Xastir itself
338for additional information not mentioned in this document.
339
340Additional info can be found on the cygwin web-site:
341
342 http://www.cygwin.com
343
344or the Cygwin/XFree86 web-site:
345
346 http://cygwin.com/xfree/
347
348
349Keeping up-to-date:
350
351Once a week or once a month, run the Cygwin network installer
352program (setup-x86.exe or setup-x86_64.exe). After it finishes,
353open a Cygwin terminal window and type these commands to update the
354Xastir source code:
355
356 cd ~/git/xastir
357 git pull
358
359Every once in a while Windows will refuse to allow you to
360delete/rename one of the files. The only way I've found to get
361around this problem is to reboot. I sometimes see this when trying
362to do a "git pull", and Windows won't allow one or more files to get
363updated.
364
365You can now repeat step 5 to update Xastir.
366
367-------------------------------------------
368OPTIONAL: ADDING ADDITIONAL MAP LIBRARIES:
369-------------------------------------------
370
371These additional Xastir libraries have been tested on Cygwin:
372
373 ImageMagick (no need to use if using GraphicsMagick)
374 Festival
375
376Anyone testing additional libraries is encouraged to share their
377findings on the Xastir mailing lists (you must be subscribed in
378order to post messages there). The libraries which have _not_ been
379made to work yet on Cygwin are:
380
381 AX25
382 GPSMan/gpsmanshp
383
384The AX25 libraries will probably never work, as they are for Linux
385only. GPSMan/gpsmanshp may work on Cygwin at some point if enough
386work is done to figure out and document the process.
387
388
389OPTIONAL: Install Festival support:
390------------------------------------
391
392Note: The most recent version of Festival is 2.4. According to the
393README for this version, "Do NOT use Windows with Cygwin". With that
394warning up front, here are instructions that were previously used to
395make a legacy version of Festival work with Xastir. They were not
396revalidated during the November 2017 update to this document.
397
398Allows using a synthesized voice from within Xastir for alerts,
399reading messages to you, and other cool things. Tom Russo did the
400initial work on this, Henk de Groot optimized it:
401
4021) Start BASH shell in Cygwin
403
4042) Make ~/festival download directory and
405 /usr/local/festival installation directory
406
4073) Download festival components from festvox.org into ~/festival, in
408 the Windows environment the corresponding path is:
409
410 C:\Cygwin\home\%USERNAME%\festival
411
412 get the following files:
413
414 speech_tools-1.2.95-beta.tar.gz
415 festival-1.95-beta.tar.gz
416 festlex-CMU.tar.gz
417 festlex-POSLEX.tar.gz
418 festvox-kallpc16k.tar.gz
419
4204) Build festival and company:
421
422 cd /usr/local/festival
423 tar xzf ~/festival/speech_tools-1.2.95-beta.tar.gz
424 tar xzf ~/festival/festival-1.95-beta.tar.gz
425 tar xzf ~/festival/festlex_CMU.tar.gz
426 tar xzf ~/festival/festlex_POSLEX.tar.gz
427 tar xzf ~/festival/festvox_kallpc16k.tar.gz
428
429 cd speech_tools
430 ./configure && make
431 cd ../festival
432 ./configure && make
433
434 These packages are build and used where they are compiled.
435
4365) Test festival:
437
438 cd /usr/local/festival/festival/examples
439 sh saytime
440
441 Festival should say the time if everything went fine
442
4436) Add /festival/festival/bin to PATH in .profile and .bashrc. For
444 me both files look like this:
445
446 .profile and .bashrc:
447 -------------------
448 export PATH=$PATH:/lib:/usr/lib:/usr/X11R6/lib:/usr/local/lib:/usr/local/bin:/usr/local/festival/festival/bin:~/bin:.
449
450 -------------------
451
4527) Configure and build xastir. Configure should report that
453 festival is found.
454
4558) Start the festival server:
456
457 festival --server &
458
459 To do this automatically I added the following lines to my
460 .bash_profile:
461
462 -------------------
463 if [ `ps -ef | grep festival | wc -l` -eq 0 ]
464 then
465 festival --server &
466 sleep 1
467 fi
468 -------------------
469
4709) Run xastir, do File->Configure->Speech, add things to say, and
471 listen.
472
473
474
475OPTIONAL: How to make Sound Alerts work under Cygwin:
476------------------------------------------------------
477
478There is currently (November 2017) a problem using sound alerts
479under Cygwin. It is recommended that sound alerts are turned off
480within Cygwin or you may experience lockups.
481
482You'll need to add the .wav files to Xastir.
483
484git clone http://github.com/Xastir/Xastir-sounds
485
486cd Xastir-sounds
487cp -r sounds/* /usr/local/share/xastir/sounds/
488
489
490November 2017 documentation updates by K2DLS. There may be
491out-of-date items that remain in this document. Please report
492issues via the Xastir mailing list.
493
494APRS(tm) is a Trademark of Bob Bruninga
495
496Copyright (C) 2000-2019 The Xastir Group
497
README.GIT
1Git Instructions:
2-----------------
3
4 For those who think git might be a bit too complicated to deal with,
5 here are (I think) the minimal commands. See the "SUDO" section in
6 README.sudo for ideas to make updating Xastir even simpler.
7
8
9USERS:
10------
11
12 Initial Copy (Git Clone):
13 -------------------------
14
15 0) Make sure git is installed on your system.
16
17 1) Run
18 git config --global user.name "Your Name" user.email "Your@email.address"
19
20 The above is not strictly necessary, but if you ever try to make changes
21 to Xastir and get them integrated with the project it is important.
22
23 NOTE: If you already have a different git global config, you can create
24 a local config for a particular repo by going into that repo and doing:
25 git config --local user.name "Your Name" user.email "Your@email.address"
26
27 Check the config by:
28 git config --local -l
29 git config --global -l
30 git config -l # Doesn't differentiate between global and local though!
31
32 2) Go to <http://github.com/Xastir/Xastir> to access the project page.
33 There you will find the URL of the git repository, just to the
34 right of a button that says "HTTPS". Copy this URL to your clipboard.
35
36 (At the time of this writing, the URL was
37 <https://github.com/Xastir/Xastir.git>)
38
39 3) Open a shell, navigate to a directory where you want to store
40 the Xastir source code, and enter this command:
41
42 git clone https://github.com/Xastir/Xastir.git
43
44 This will create a clone of the Xastir git repository in an
45 "Xastir" subdirectory of the current directory.
46
47 All done! You now have the latest development sources on your computer.
48 Not only that, you have a complete copy of the entire project history
49 and access to all prior releases.
50
51 4) Please set your default git commit message template for the project to
52 the one included in the Xastir source tree:
53
54 cd Xastir
55 cp git_commit_message_template ~
56 git config --global commit.template ~/git_commit_message_template
57
58 This will assure that when you make commits, your editor will start
59 with a template that helps guide you through the process of writing
60 commit messages that conform to the guidelines below in the section
61 titled "Important: Git Commit Message Format". This template is quite
62 generic and conforms to the guidelines of many other open source
63 projects, so it is reasonable to make it a global git option.
64
65 Updating Your Copy:
66 -------------------
67
68 cd Xastir
69 git pull # Update your local repo (May be dangerous for developers)
70 ./bootstrap.sh
71 mkdir -p build # Build in a separate directory
72 cd build
73 ../configure
74 (make clean;make -j3 2>&1) | tee make.log
75 sudo make install # "make install-strip" can be used after the first
76 # time: It removes debugging info from executable
77 sudo chmod 4555 /usr/local/bin/xastir # Only needed if using kernel AX.25
78 xastir & # Start it up!
79
80 Note that you'll need autoconf 2.53 or newer and automake 1.6.3 or newer
81 in order to run the "./bootstrap.sh" script.
82
83 -or-
84
85 Bypass all of the commands above and just type:
86 cd Xastir
87 ./update-xastir
88
89
90 PLEASE NOTE: Bootstrap.sh is used by both methods above, even
91 "update-xastir", which is simply a script that performs all the
92 steps listed explicitly earlier.
93
94 The bootstrap.sh script is what creates the configure script.
95 Running bootstrap.sh requires having autoconf and automake
96 installed, and it will fail if these are not installed. If
97 bootstrap.sh fails, configure won't exist. If bootstrap.sh fails,
98 stop, fix the problem and try again. There is no point continuing
99 if bootstrap.sh gives you error messages about programs not being
100 found (aclocal, autoconf, automake).
101
102 This is a common problem reported to the Xastir team, and its solution
103 is always the same: install all prerequisite tools before trying to
104 build Xastir.
105
106DEVELOPERS:
107-----------
108
109 Initial Checkout:
110 -----------------
111
112 HTTPS Method:
113 git clone https://github.com/Xastir/Xastir
114
115 -or-
116
117 SSH Method. Add keys to GitHub and then:
118
119 git clone git@github.com:Xastir/Xastir
120
121 Note that using the SSH method means that you won't have to answer the
122 popups for user/password each time you do anything with the remote repo,
123 although you will have to enter a passphrase if you added a passphrase to
124 your SSH key. The SSH method is highly recommended for active developers!
125
126
127 Normal Development Flow:
128 ------------------------
129
130 A pull before committing can be dangerous, if there are substantial
131 conflicts between your work and others (not very likely with Xastir, but
132 definitely likely in bigger projects). It is much better to do a fetch
133 (which pulls down changes from the remote but DOESN'T merge them into your
134 tracking branch), then look at what changed upstream, and then either a
135 merge, rebase, stash/pop, or something else depending on the level of
136 conflict you see. See README.GIT.
137
138 Doing a pull before starting your own work is reasonable, but if someone
139 pushes while you're working (again, not very likely with Xastir), you can
140 still wind up with really ugly history, with weird merge commits and
141 undesired branching.
142
143 On the other hand, if you replace "git pull" with "git pull --rebase" in
144 that recipe, with the caveat that sometimes you might have to be more
145 careful and that you need to understand what you're doing, a lot of the
146 danger of the simple git pull can be avoided.
147
148 We will often be working on a branch for development, then merging that
149 branch with the trunk when that feature or bug-fix is ready for prime-time.
150
151 Commit your work to your LOCAL repo:
152
153 - First add all desired changes to the staging area:
154 git add <file1> <file2> <file3> ...
155
156 - Then commit your staged changes to your local repo
157
158 git commit
159
160 Push your local repo changes up to GitHub when you are ready to
161 publish them:
162
163 git push
164
165
166 Important: Git Commit Message Format
167 ------------------------------------
168
169 Git commit messages need to be in a certain format to make the best use
170 of the "git log" commands. In particular the first line needs to be 50
171 chars or less, then a BLANK LINE, then a detailed commit message. See
172 this link for more info:
173
174 http://chris.beams.io/posts/git-commit/
175
176
177 Checking Out A Branch:
178 ----------------------
179
180 All branches associated with the Xastir project are contained in the clone
181 you made earlier. You can switch your current working directory to
182 one of those branches easily:
183
184 cd Xastir
185 git fetch (this updates your local repo copy from github, but doesn't
186 merge changes into your working tree)
187 git checkout <branch name> (this switches all the files in your working
188 tree to match those in the branch)
189 git merge (This makes sure that all the changes that
190 may have happened upstream on that branch
191 get into your copy)
192
193 You do not have to do this in a new directory --- so long as
194 you haven't changed any files in the source tree, git checkout
195 automatically swaps out all files it knows about with versions from the
196 branch.
197
198 If you really want to keep more than one branch's code around to work on,
199 you can do that if you have git version 2.5 or later with the following
200 commands:
201
202 cd Xastir
203 git worktree add <path> <branchname>
204
205 This will create a new directory tree called <path> with the named
206 branch checked out into it.
207
208 In early 2018, there is only one active branch, the master branch,
209 and we will be performing releases by creating release branches.
210
211 There are many more git commands and options. Many of them are more of
212 use to the developers. Some of those are listed below. The above should
213 be enough for most people to keep their copies in sync with the latest git
214 development sources.
215
216
217 If Using Multiple GitHub Accounts:
218 ----------------------------------
219
220 You may have trouble getting your commits attributed to the correct GitHub
221 login. GitHub uses the username/email in your git config settings for
222 attribution. If it is wrong, you may have to do some of the below in order
223 to set a LOCAL username and email for the one repository.
224
225 The user.name and user.email are pulled from the global git config, but a
226 local git config inside each repo will override those settings.
227
228 Go to root of checked-out repo and set local user.name and user.email for
229 this repo:
230
231 git config user.name <github username>
232 git config user.email <email address>
233 git config -l # Shows both local and global settings, hard to tell which is which
234 git config --global # Shows global settings
235 git config --local -l # Shows local repo configs, so should show new settings
236
237 Another method (but more error-prone) of editing local/global git config is:
238
239 git config edit # Edit local config
240 git config --global edit # Edit global config
241
242 If new commits still aren't using the right email, make sure you have not
243 set GIT_COMMITTER_EMAIL or GIT_AUTHOR_EMAIL environment variables.
244
245
246 More Info:
247 ----------
248
249 Make sure you know how git works. Read https://git-scm.com/book/en/v2
250
251 If you are very familiar with CVS, get used to working differently, because
252 git is different.
253
254 Read and understand http://chris.beams.io/posts/git-commit/
255
256 Read http://justinhileman.info/article/changing-history/
257
258 Read http://think-like-a-git.net/
259
260 Read "Visual Git Cheat Sheet" at http://ndpsoftware.com/git-cheatsheet.html
261
262 Branching and merging in git is very simple, and is documented very well
263 by all those links. We will not repeat it here.
264
265 If you use SSH, set up your SSH keys on GitHub and do the "git clone" using
266 the SSH path. This will save you having to put in your password each time
267 you use the remote repository, although if you added a passphrase to your
268 SSH key you'll have to enter that each time.
269
270 Useful Git Commands:
271 --------------------
272
273 Set up global user/email
274 git config --global user.name "Your Name"
275 git config --global user.email "user@domain.com"
276
277 Set up user/email for a local repository
278 cd /path/repository
279 git config user.name "Your Name"
280 git config user.email "user@domain.com"
281
282 Configure Git's editor:
283 git config --global core.editor /path/to/editor
284
285 Colorizing Git output (set once and forget):
286 git config --global color.ui auto
287
288 Clone a repo:
289 git clone http://github.com/Xastir/Xastir
290 git clone https://github.com/Xastir/Xastir
291 git clone git@github.com:Xastir/Xastir
292
293 Status of local repo:
294 git status
295
296 Diff for a file:
297 git diff <filename>
298
299 See all branches, local and remote:
300 git branch -a
301
302 Visual Git viewer:
303 gitk (tcl/tk and generic X11 viewer, comes with git)
304 or
305 gitg (gnome git viewer)
306
307 Add files to the staging area:
308 git add <file1> <file2>
309
310 Commit changes to LOCAL repo:
311 git commit # If have files in staging area already
312 git commit <file1> <file2> # Ignores staging area
313
314 Push local changes to remote repository:
315 git push
316
317 Update local repo from remote repo
318 git fetch
319
320 Update local repo and merge remote/local changes in local repo (May be
321 dangerous for developers with modified code in their working tree):
322 git pull
323
324 Rebase local changes against latest master branch
325 git fetch
326 git rebase master
327
328
329------------------------------------------------------------------------
330Copyright (C) 2000-2019 The Xastir Group
331
332
333
README.Getting-Started
1
2
3
4Hello new user, and welcome to Xastir!
5
6
7This document will take you through the steps necessary to get
8Xastir up and running in one of the following configurations:
9
10
111) Minimal install, which will get you up and running quickly. It's
12 recommended that you try this configuration first then add to it.
13
142) Typical install including maps, weather alerts, geo-coding files,
15 etc. so that full regular operation is achieved.
16
173) Maximum install with all configure options enabled and most of
18 the useful maps loaded/enabled. All the bells and whistles.
19
20
21Note that you can start with either of the first two options and add
22only the options you wish in order to come up with your own custom
23configuration of Xastir.
24
25These instructions are written for Linux users. Windows users
26should refer to the README.CYGWIN document instead.
27
28Users of other operating systems should refer to the README document
29first, then the INSTALL document and the below instructions for
30further notes, and finally the Installation Notes section of the
31Xastir wiki at http://xastir.org/. Linux users may also benefit from
32reading the Installation Notes section of the wiki, because each
33distro of Linux has its own quirks, and many of those quirks are
34documented on the wiki.
35
36One question you might ask is whether you can just find a binary on
37the 'net somewhere and install it instead of compiling Xastir from
38sources. Yes, this is possible, but not what most Xastir users
39ultimately want. Xastir changes often enough (bug fixes and of course
40adding new features) that you're really limiting yourself by using
41pre-compiled binaries. Binaries are typically not updated all that
42often, if at all, so you'll forever be behind the curve. Most
43packaged versions of Xastir in package management systems tend to be a
44couple of years out of date, or even worse.
45
46Another reason to compile from sources is to customize it to use all
47of the features you have available on your system. As you add more
48libraries that Xastir can use, you can do a quick
49configure/compile/install and Xastir will be able to take advantage
50of them.
51
52For those that really must have the latest-latest: Download the
53Xastir sources using Git instead, then issue the command "git
54pull" periodically in order to snag the latest changes. If
55anything comes down the pipe, just configure/make/install and then
56use the latest version. This avoids large file downloads (after the
57initial download) as it just grabs _changes_ to the sources off the
58'net each time you issue the "git pull" command. This is the
59power-user's method of keeping Xastir up-to-date. See README.GIT
60for details.
61
62After the three configuration sections there's a section on
63operating, which simply talks you through the initial configuration
64settings and how things work. After that you can refer to the Help
65menu option in Xastir itself, plus the INSTALL and README.* text
66files for additional information. Please note that the non-English
67help files lag severely behind the English help file.
68
69First of all, NEVER RUN XASTIR AS THE ROOT USER! You're risking the
70security of your system by attempting it. Create another regular
71user on your system and use that user for all of your normal
72activity. This goes for any other normal activity on the system as
73well. Only use the "root" account for maintenance activities, not
74for regular user activities. You'll thank me later!
75
76Before we begin, consider subscribing to the Xastir mailing list.
77That's where everyone is kept up-to-date on the latest features,
78plus lots of questions are asked/answered there on a weekly or
79sometimes daily basis. It's a great way to learn and to stay
80connected with the other Xastir users. See the mailing links on the
81left of the Xastir home page: http://xastir.org
82You must be subscribed in order to post messages there.
83
84So... Let's get started!
85
86
87--------------------------------------------------------------------
88--------------------------------------------------------------------
89
90
91Latest info:
92
93*) Xastir starts up with a default world map the first time you run
94it plus pops up a dialog where you can enter your callsign. Enter
95a callsign, then close/restart Xastir or save the configuration via
96"File->Configure->Save Config Now!". Either of these methods saves
97the callsign to disk.
98
99*) Xastir includes "Shapefile" map capability by default. Run the
100script:
101
102 "/usr/local/share/xastir/scripts/get-NWSdata"
103
104as root to download/install NOAA Shapefile maps using the "wget"
105utility. You'll of course need wget installed in order to fetch the
106files using this method. Installing the NWS files enables weather
107alert support in Xastir. Verify that "Map->Enable Weather Alerts" is
108selected and that "Map->Disable All Maps" is _not_ selected, else
109you won't see weather alerts on your screen.
110
111
112--------------------------------------------------------------------
113--------------------------------------------------------------------
114
115
116Sources of help you may find useful:
117
118*) "FAQ" file
119
120*) "INSTALL" file: Non-Windows instructions for installing Xastir
121 and optional map libraries may be found here.
122
123*) "README.md" file: General info and some OS-specific notes.
124
125*) "CONTRIBUTING.md" file: Info on how to contribute to the
126 Xastir project.
127
128*) "README.GIT" file: Info on a more advanced way to keep up-to-date
129 on the latest Xastir sources.
130
131*) "README.Getting-Started" file: The file you're reading.
132
133*) "README.MAPS" file: Much of the info about maps and where to get
134 them may be found here. Also see the Xastir Documentation
135 section, the Wiki pages, at <http://xastir.org>
136
137*) "README.CYGWIN" file: For Windows/Cygwin users.
138
139*) "UPGRADE" file: Useful info for updating some old versions of
140 Xastir.
141
142*) Xastir Web-based documentation, including a set of Wiki pages,
143 found at <http://xastir.org>
144
145*) Xastir man page, accessed by typing "man xastir" on a Unix or
146 Unix-like system. This page is a bit out-of-date.
147
148*) "Help->Help Index" in the Xastir program itself. Note that only
149 the English language variation of this is even approximately up-to-date.
150
151*) Mailing lists at <http://xastir.org>
152
153*) User forums at <http://xastir.org>
154
155
156--------------------------------------------------------------------
157--------------------------------------------------------------------
158
159
160Minimal Install:
161----------------
162
163First, let's describe it: This will get Xastir up and running with
164a few built-in map types. You'll be on the air or on the 'net
165quickly, then can build upon this working base to add more map
166libraries and other cool features later.
167
168
169Getting the package:
170--------------------
171
172*) Option 1: Download one of release tarballs from
173http://xastir.org. There are links from that page or you can go to
174the github site (https://github.com/Xastir/Xastir) and click on "Releases"
175to see the entire set that is available.
176
177Once you have the file (which will generally be called
178"Xastir-Release-<number>.tar.gz," create a subdirectory for it to
179reside. I usually do this:
180
181 cd # Go to my home directory
182 mkdir src # Make a "src" subdirectory
183 cd src # Change to it
184 mkdir xastir # Make an "xastir" subdirectory
185 cd xastir # Change to it
186 cp /path/filename . # Copy the downloaded file here
187 tar xzvf filename # Un-archive the sources
188
189That last step will create a directory called
190Xastir-Release-<release number> underneath the first one, so
191your full path might be something like (starting at your home
192directory): ~/src/xastir/astir-Release-2.1.0
193
194The path just listed is where you'll go in order to run the
195configure and make commands listed below.
196
197 cd ~/src/xastir/Xastir-Release-2.1.0
198
199from an xterm window should take you there.
200
201*) Option 2: An alternative is to use Git to snag the sources for you.
202Using this method you can periodically update to the latest released
203version, the latest "stable" version, or the latest development
204sources, and even switch back and forth between them at will. See README.GIT
205for info about that option. One of the advantages of Git is that you
206only pull down the changes since you last updated, instead of doing
207very large file downloads each time. Another advantage is that you
208can keep up with the latest features on a daily basis if you wish,
209nearly effortlessly.
210
211
212Configure:
213----------
214In order to complete the configure/compile/install of Xastir, you'll
215need some of the development tools and headers installed. Here's a
216list of a few items you'll need to have installed. Look for them in
217the development tools sections on your Linux distribution:
218
219
220 autoconf
221 automake
222 bash
223 binutils
224 gcc
225 gcc development headers
226 cpp
227 glibc
228 glibc development headers?
229 freetype2
230 freetype2 development headers
231 openmotif (or Lesstiff or Motif)
232 openmotif development headers (or Lesstiff or Motif)
233 XFree86
234 XFree86 development headers
235 XFree86 fonts
236 XFree86 libraries
237 make (GNU flavor, not BSD flavor)
238 gzip
239 m4
240 grep
241
242
243Note: Only install one of the Motif packages and the corresponding
244development package to go with it. Recommendation: OpenMotif.
245
246If you'd like to install additional packages at this point that may
247be needed later, install these as well:
248
249
250 patch
251 diffutils
252 perl
253 less
254 bzip2
255 curl
256 curl development headers
257 cvs
258 git
259 rcs
260 tar
261 liblcms
262 liblcms development headers
263 libtiff
264 less
265 pcre
266 pcre development headers
267 tcl
268 tcl development headers
269 tk
270 zip
271 unzip
272 wget
273 ax25-apps
274 ax25-doc
275 ax25-tools
276 libax25
277 festival
278 festival development headers
279 gawk
280 ghostscript-x11
281 ghostscript-fonts
282 ghostview
283 gv
284 ImageMagick
285 ImageMagick development headers
286
287
288Note that some packages may have dependencies on yet more packages.
289Hopefully your package installation tool will take care of those for
290you. It's also common for at least one of these packages to forget
291to list some of it's dependencies (ImageMagick is known for that).
292In that case you may have to rely on the compiler to tell you what
293is missing, then go back and re-install a package or two.
294
295Now it is necessary to create the "configure" script that will be needed
296to configure Xastir for your system. In versions prior to release 2.1.8,
297this script was included in the Xastir tarballs, but it is no longer included.
298
299 cd ~/src/xastir/Xastir-Release-2.1.0/
300 ./bootstrap.sh
301
302You will then create a "build" directory in which to run the
303compilation of Xastir, and run Xastir's configure script in that
304directory. In the instructions below we describe making this build
305directory inside the Xastir source tree, so it would be
306
307 mkdir -p ~/src/xastir/Xastir-Release-2.1.0/build
308 cd ~/src/xastir/Xastir-Release-2.1.0/build
309 ../configure
310
311If you do this, then the simplest path to Xastir's configure script is
312just "../configure". You could create this build directory anywhere,
313though, so long as you remember to replace "../configure" with the
314full path to Xastir's script, e.g,
315~/src/xastir/Xastir-Release-2.1.0/configure.
316
317When you run the "../configure" step from the "build" directory, the
318script will attempt to figure out what facilities are available that
319Xastir can take advantage of. Sometimes the script guesses wrong
320and you must disable an option and try again. The correct way to do
321this is (Festival speech synthesizer is used as an example, not that
322I'm picking on Festival or anything):
323
324 mkdir build
325 cd build
326 ../configure --without-festival
327
328That will guarantee that configure will skip Festival entirely,
329which will set up the Makefiles to skip it, and the Xastir binary
330will be created without any support for it.
331
332Some operating systems place their packaged third-party libraries into places
333where configure won't find them by default. In that case you may need to add
334additional options the help it out. Please look at the Installation Notes
335section of the Xastir wiki, where it is likely you'll find special instructions
336for your operating system.
337
338Other configure options are:
339
340 --without-ax25
341 --without-festival
342 --without-gpsman
343 --without-shapelib
344 --without-imagemagick
345 --without-libproj
346 --without-geotiff
347 --without-pcre
348 --without-dbfawk
349 --without-map-cache
350 --with-errorpopups
351 --with-rtree
352
353
354That said, you probably won't have to use any of these! Type
355"../configure" all by itself and the script should eventually give
356you a summary of the packages that it will try to compile support
357into Xastir for. The only time you may want to add some of the
358above options is if the compile hangs up because of one of them.
359You can then add the option to configure, re-create the Makefiles to
360skip that feature, and get Xastir compiled without it. Once you get
361the problem solved, you can reconfigure and recompile to add that
362feature back in.
363
364At this point, if some things don't appear in the summary that you'd
365like/expect to appear, as long as you get to the "Type 'make' to
366build Xastir" message, you're doing fine. You can work on getting
367more things in there later.
368
369This is what you'd like to see at the end of the "../configure" run
370(minimum, there may be more "yes" answers):
371
372 AX25.......... : no
373 Festival...... : no
374 GPSMan........ : no
375 ImageMagick... : no
376 libproj....... : no
377 GeoTiff....... : no
378 ShapeLib...... : yes (internal)
379 pcre.......... : no
380 dbfawk........ : no
381 libgc (Debug). : no
382
383In other words, Xastir should build/compile with NO optional
384libraries installed! This will still give you USGS GNIS maps,
385APRSdos maps, WinAPRS maps, and PocketAPRS maps, plus audio alerts
386if you have a suitable audio player installed on your system.
387You'll also be able to attach a TNC either in command-line or KISS
388mode and connect it to Xastir. Mobile support will work with an
389attached serial GPS. Attached weather stations should work fine
390too. You won't get online maps or weather alerts with this
391configuration though. Worry about that stuff later once you get the
392minimal configuration working.
393
394
395Make:
396-----
397Type "make". That stage should complete with no errors. You may
398have a warning or two show up, depending on your compiler version
399and your operating system.
400
401
402Make install:
403-------------
404For this stage you need to have root privileges. "root" is the
405user on a Unix/Linux box that has the ultimate authority over
406everything. Follow these steps:
407
408 su
409 make install
410 chmod 4755 /usr/local/bin/xastir (optional, see below)
411 exit
412
413The first step takes you to root user privileges. You'll need to
414type in the root password when it asks for it. The "make install"
415step installs all of the pieces of Xastir in the appropriate places
416on your system.
417
418The "chmod" step sets up the Xastir executable so that it can assume
419root privileges at the points where it needs to, usually when it
420needs to access serial ports or AX.25 kernel networking ports. Note
421that if you don't need the above chmod command, don't use it. It
422will prevent creation of "core" files in case Xastir crashes, which
423makes debugging to figure out the root cause much more difficult.
424There are also some security risks in doing "chmod 4755", as it
425makes Xastir run as the root user at times. We've tried to minimize
426the risk by giving up root permissions when we don't absolutely
427require them, so the risks are smaller.
428
429At this point you have a minimal Xastir installed. Jump down to the
430"Operating Xastir" step below.
431
432
433--------------------------------------------------------------------
434--------------------------------------------------------------------
435
436
437Typical Install:
438----------------
439
440First, let's describe it: This will give you a working Xastir with
441local Shapefile maps, online street/topo/satellite-image maps,
442weather alerts, and audio alerts. Optionally you can add
443synthesized speech to the mix.
444
445You'll need to run /usr/local/share/xastir/scripts/get-NWSdata as root
446after you do the install in order to get the NOAA data files you'll
447need for the weather alerts. "get-NWSdata" requires "wget" in order
448to work.
449
450This is what you'd like to see at the end of the "./configure" run
451(minimum, there may be more "yes" answers):
452
453
454-------------------------------------------------------------------
455 MINIMUM OPTIONS:
456 ShapeLib (Vector maps) ................. : yes
457
458 RECOMMENDED OPTIONS:
459 GraphicsMagick/ImageMagick (Raster maps) : yes (GraphicsMagick)
460 pcre (Shapefile customization) ......... : yes
461 dbfawk (Shapefile customization) ....... : yes
462 rtree indexing (Shapefile speedups) .... : no
463 map caching (Raster map speedups) ...... : no
464 internet map retrieval ................. : yes (libcurl)
465
466 FOR THE ADVENTUROUS:
467 AX25 (Linux Kernel I/O Drivers) ........ : no
468 libproj (USGS Topos & Aerial Photos) ... : no
469 GeoTiff (USGS Topos & Aerial Photos) ... : no
470 Festival (Text-to-speech) .............. : no
471 GPSMan/gpsmanshp (GPS downloads) ....... : no
472-------------------------------------------------------------------
473
474
475Note: You may see "ImageMagick" instead of "GraphicsMagick" and/or
476"wget" instead of "libcurl" for your installation of Xastir. Those
477are alternative packages that give similar functionality. You may
478also see "(internal)" at the end of the Shapelib line, which is fine
479also.
480
481
482TBD
483
484
485--------------------------------------------------------------------
486--------------------------------------------------------------------
487
488
489Maximum Install:
490----------------
491
492First, let's describe it: This will give you a working Xastir with
493all of the non-debug "configure" options enabled, local maps, online
494street/topo/satellite-image maps, weather alerts, audio alerts,
495synthesized speech, Garmin RINO support, GPS download support,
496search for street address capability, FCC/RAC callsign lookups, and
497all of the supported map types.
498
499This is what you'd like to see at the end of the "./configure" run:
500
501
502-------------------------------------------------------------------
503 MINIMUM OPTIONS:
504 ShapeLib (Vector maps) ................. : yes
505
506 RECOMMENDED OPTIONS:
507 GraphicsMagick/ImageMagick (Raster maps) : yes (GraphicsMagick)
508 pcre (Shapefile customization) ......... : yes
509 dbfawk (Shapefile customization) ....... : yes
510 rtree indexing (Shapefile speedups) .... : yes
511 map caching (Raster map speedups) ...... : yes
512 internet map retrieval ................. : yes (libcurl)
513
514 FOR THE ADVENTUROUS:
515 AX25 (Linux Kernel I/O Drivers) ........ : yes
516 libproj (USGS Topos & Aerial Photos) ... : yes
517 GeoTiff (USGS Topos & Aerial Photos) ... : yes
518 Festival (Text-to-speech) .............. : yes
519 GPSMan/gpsmanshp (GPS downloads) ....... : yes
520-------------------------------------------------------------------
521
522
523Note: You may see "ImageMagick" instead of "GraphicsMagick" and/or
524"wget" instead of "libcurl" for your installation of Xastir. Those
525are alternative packages that give similar functionality. You may
526also see "(internal)" at the end of the Shapelib line, which is fine
527also.
528
529
530TBD
531
532
533--------------------------------------------------------------------
534--------------------------------------------------------------------
535
536
537Operating Xastir:
538-----------------
539
540Again, NEVER RUN XASTIR AS THE ROOT USER! You're risking the
541security of your system by attempting it. Create another regular
542user on your system and use that user for all of your normal
543activity. This goes for any other normal activity on the system as
544well. Only use the "root" account for maintenance activities, not
545for regular user activities. You'll thank me later!
546
547Assuming you want to start Xastir up in the English language, you
548can type (from an xterm window):
549
550 xastir
551
552which will start up the program without giving you back a
553command-prompt in your xterm window (until Xastir exits), or you can
554type (from an xterm window):
555
556 xastir &
557
558which will start Xastir in the background, giving you back your
559xterm for more commands. The typical way to start it is with
560"xastir &". Of course you can get fancier and attach it to your
561window manager's menus or create an icon on your desktop which
562starts it. Those are operating system/window manager-specific, so
563we won't cover how to do that here.
564
565The first time you start Xastir it will show a default map of the
566world plus pop up the File->Configure->Station dialog. Enter a
567callsign on that dialog and press the OK button.
568
569
570Changing the Language:
571
572If you want to start Xastir using some other language, you do that
573with command-line switches when you start Xastir. Once you use one
574of these switches, that language option becomes "sticky", meaning
575you won't have to enter that command-line switch again unless you
576wish to change languages.
577
578There are some command-line switches that you can
579If you type "xastir -?", which is an invalid command-line option,
580you'll see this:
581
582 xastir: invalid option -- h
583
584 Xastir Command line Options
585
586 -c /path/dir Xastir config dir
587 -f callsign Track callsign
588 -i Install private Colormap
589 -geometry WxH+X+Y Set Window Geometry
590 -l Dutch Set the language to Dutch
591 -l English Set the language to English
592 -l French Set the language to French
593 -l German Set the language to German
594 -l Italian Set the language to Italian
595 -l Portuguese Set the language to Portuguese
596 -l Spanish Set the language to Spanish
597 -l ElmerFudd Set the language to ElmerFudd
598 -l MuppetsChef Set the language to MuppetsChef
599 -l OldeEnglish Set the language to OldeEnglish
600 -l PigLatin Set the language to PigLatin
601 -l PirateEnglish Set the language to PirateEnglish
602 -m Deselect Maps
603 -p Disable popups
604 -t Internal SIGSEGV handler enabled
605 -v level Set the debug level
606
607
608Ignore those for now unless you need to change the Language.
609
610OK, Xastir should show up on your screen at this point. We're
611assuming that you're already running X-Windows graphical environment
612at this point. If you're in command-line Linux/Unix only, Xastir
613won't run.
614
615If you've configured in ShapeLib capability, you'll need to run
616/usr/local/share/xastir/scripts/get-NWSdata as the root user in order
617to get the NOAA data files you'll need for the weather alerts. The
618script requires "wget" in order to work. Run this script periodically
619(once every six months perhaps?) to keep your weather alert maps
620up-to-date. If you're not in the U.S. or one of it's possessions then
621you can safely ignore this download.
622
623
624Various ways to manipulate Xastir:
625
626
627Context-Dependent Operations:
628-----------------------------
629 Normal Draw-CAD Measure Move
630 ------ -------- ------- ----
631Cursor Arrow Pencil Crosshairs Crosshairs
632LeftClick SelectObject
633LeftDrag ZoomToArea ZoomToArea MeasureArea MoveObject
634MiddleClick ZoomOut SetCADPoint ZoomOut ZoomOut
635
636Alt-F, Alt-V, etc to bring up main menus via the keyboard. Use
637arrow keys to navigate menus and/or single letters corresponding to
638the "hot" letter (underlined lettter) for each menu item.
639
640"ESC" to back out of the menu system.
641
642
643Global Operations:
644------------------
645LeftClick Select Menu or GUI Item (when in menus or dialogs)
646LeftDblClick FetchAlertText (when in View->Wx Alerts dialog)
647RightClick OptionsMenu
648Home Center the map on your home station
649PageUp ZoomOut
650PageDown ZoomIn
651ArrowUp PanUp
652ArrowDown PanDown
653ArrowLeft PanLeft
654ArrowRight PanRight
655"=" GridSize++
656"+" GridSize++
657"Num+" GridSize++
658"-" GridSize--
659"Num-" GridSize--
660"Space" Activate current widget
661"Tab" Rotate among widgets
662"Back-Tab" Rotate among widgets backwards
663
664
665Other Possible External Stimuli:
666--------------------------------
667Send a SIGUSR1 to cause a snapshot to be taken.
668Send a SIGHUP to cause Xastir to save/quit/restart.
669Send a SIGINT, SIGQUIT, or SIGTERM to cause Xastir to quit.
670Connect to TCP port 2023 if Server Port is enabled to send/receive packets.
671Send to UDP port 2023 via the xastir_udp_client program to inject packets.
672
673
674Note that you can also tweak a define/recompile to reverse the
675left/right button functions.
676
677
678
679Configuring Xastir:
680-------------------
681*) Note that the menu's have a dashed line near the top. If you
682click on that dashed line it acts like a cut-line for the menu and
683detaches that menu from the main menu. You can then move that menu
684off to another area of your screen. You might try that with the
685File->Configure menu at this time.
686
687*) Go to File->Configure->Station and set your callsign. Set up
688other parameters/comment fields on this dialog that may need
689setting.
690
691*) Go to File->Configure->Defaults and set parameters there.
692
693You have the main parameters set now. Next is to enable some
694interfaces so that you can see some packets come across. Easiest
695might be the Internet interfaces, assuming the computer you're on
696has Internet access and is hooked up to it currently.
697
698*) Run "callpass" in another Xterm window in order to generate your
699Pass-code number. Save that number as you'll need it for each
700Interface dialog where you might need to authenticate your callsign.
701Of course you can always run callpass again if you forget it!
702
703*) Go to Interface->Properties then click on "Add". Click "Internet
704Server". Another dialog will come up that allows you to enter the
705Host, and the Port. Enter your Pass-code number here. People often
706check the "Activate on Startup?" and the "Reconnect on NET failure?"
707options on this box. You may also assign a comment to this
708interface which describes the interface better for you. Click "OK"
709to create the interface. If you checked "Activate on Startup?" then
710the interface will start as well and you'll be receiving packets.
711
712Browse "http://www.aprs2.net/" to find a reasonable set of servers
713to start with. Another possibility is to use "rotate.aprs2.net"
714port 14580, which theoretically should rotate among the available
715second-tier servers. See "http://www.aprs2.net" for more info.
716You'll need to put in a filter string, such as "r/35/-106/500" which
717shows you stations that are within 500km of 35dN/106dW (Thanks for
718that one Tom!). For additional filter settings check out:
719
720 http://www.aprs-is.net/javaprssrvr/javaprsfilter.htm
721
722*) Start that interface from the Interface->Start/Stop dialog if
723it's not started already. You'll see icons in the lower right
724toggling and see callsigns in the lower left status box if packets
725are coming in.
726
727One thing about configuration: Most things don't get written to
728Xastir's config file until you choose either "File->Configure->Save
729Config Now!" or you exit Xastir. Map Selections however are
730immediate.
731
732*) Creating/starting interfaces for other types of devices is
733similar. If you're wanting to create AX.25 kernel networking ports
734you'll have to refer to the HAM HOWTO documents and perhaps the
735linux-hams mailing list for help. For AGWPE connections refer to
736that AGWPE docs and mailing list.
737
738It's recommended that if you run a local TNC, you run it in KISS
739mode. You can do that via the Serial KISS TNC interface, or via
740AX.25 Kernel Networking ports.
741
742Some of the more esoteric types of interfaces may require some
743questions on the Xastir list. Don't be afraid to ask them as we've
744all been there before.
745
746
747A Note About Paths:
748-------------------
749New path methods were discussed early April, 2005, and are being
750implemented world-wide:
751
752 "WIDE2-2" for fixed stations, balloons, aeronautical-mobile
753 "WIDE1-1,WIDE2-1" for mobiles/portables
754
755With this system, "WIDE1-1" has replaced "RELAY". Never use
756"WIDE1-1" in anything but the first path slot. "RELAY", "WIDE",
757"TRACE", and "TRACEn-N" are deprecated and should not be used
758anymore.
759
760If you want to insert a single hop callsign later in the path use
761"WIDE2-1" instead, for example: "WIDE1-1,WIDE2-1" will go exactly
762two hops and use _either_ home fill-in digi's or mountaintop digi's
763for the first hop, mountaintop digi's only for the second hop.
764
765Home fill-in digi's (only where absolutely needed) should be set up
766to respond to "WIDE1-1" instead of "RELAY".
767
768
769A Note About the Map Directory:
770-------------------------------
771The map directory (/usr/local/share/xastir/maps/) is free-form,
772meaning you can have links in there, subdirectories, etc. Organize
773it in any way that makes sense to you. From within the Map Chooser
774you can select a directory name, which will select every map
775underneath that directory, so keep that in mind while organizing
776your maps.
777
778
779Enabling Weather Alerts:
780------------------------
781You must have Shapelib compiled into Xastir. Xastir now comes with
782Shapelib support built-in. PRCE/dbfawk are optional. Install NOAA
783shapefile maps as specified in README.MAPS. These files must be
784installed into the /usr/local/share/xastir/Counties/ directory. You
785may use this script to download/install them for you:
786
787 "/usr/local/share/xastir/scripts/get-NWSdata"
788
789which must be run as the root user, and requires "wget" to work.
790
791A neat trick: You can copy some of these maps into the
792/usr/local/share/xastir/maps directory somewhere (a new subdirectory
793under there is always fine), then you can select some of these maps
794as regular Xastir maps as well.
795
796
797Enabling FCC/RAC Callsign Lookup:
798---------------------------------
799
800Run the /usr/local/share/xastir/scripts/get-fcc-rac.pl script as root,
801which will download and install the proper databases into the
802/usr/local/share/xastir/fcc/ directory. At that point the callsign
803lookup features in the Station Info dialog and in the "Station->Find
804Station" menu option should be functional.
805
806
807Enabling Map Feature Lookup:
808----------------------------
809Install USGS GNIS files into the /usr/local/share/xastir/GNIS/
810directory. Call out the proper file when invoking the "Map->Locate
811Map Feature" menu option. Note that if you also link a subdirectory
812name under the maps directory back to the
813/usr/local/share/xastir/GNIS/ directory, you'll be able to use the
814GNIS files as maps under the Map Chooser as well. See README.MAPS
815for how to do this.
816
817
818Enabling Street Address Lookup:
819-------------------------------
820Download the USA.geocode file and install it into the
821/usr/local/share/xastir/GNIS/ directory. This will enable the
822"Map->Find Address" menu option to work. Xastir will place a big
823"X" on the map at the street address it finds for you. This file is
824sometimes available at http://www.dementia.org/geocoder/tgr2003/
825As an alternative you can download the individual state files that
826are located there.
827
828
829Enabling Audio Alarms:
830----------------------
831Download and install sample audio files from Xastir's GitHub
832download site:
833
834 git clone http://github.com/Xastir/xastir-sounds
835
836Copy the files to your Xastir sounds directory, for instance:
837 /usr/local/share/xastir/sounds/
838
839Install a command-line audio player. Call out the path/name of that
840player in the File->Configure->Audio Alarms dialog. Common ones are
841vplay and auplay, but there are many others. Enable the types of
842alarms you desire in that same dialog.
843
844You should be able to test it manually from a shell by typing the
845command in something like this: vplay filename
846
847Once you find a command that works, type it into Xastir's Audio
848Alarms dialog exactly the same except omit the filename.
849
850
851Enabling Synthesized Speech:
852----------------------------
853*) MacOSX
854 TBD
855
856*) Windows
857 TBD
858
859*) Linux/FreeBSD/Solaris
860Install the Festival Speech Synthesizer. Configure/compile support
861for it into Xastir. Start up the Festival server before starting
862Xastir. Xastir should start up and connect to the server. Use the
863options in File->Configure->Speech to decide which things you'd like
864Xastir to speak to you about.
865
866Note that the Proximity Alert option in the File->Configure->Speech
867dialog uses the distances set in the File->Configure->Audio Alarms
868dialog.
869
870
871Enabling GPS Waypoint/Track/Route Download Support:
872---------------------------------------------------
873Install GPSMan and gpsmanshp. Configure/compile support for it in
874Xastir. Start up GPSMan separately and configure it for your GPS
875and serial port. You'll see download options for each type on the
876Interface menu.
877
878Note that Xastir requires a version of gpsman at least as recent as 6.1. Older
879versions of gpsman may not work.
880
881
882Enabling Garmin RINO Support:
883-----------------------------
884Install GPSMan (and gpsmanshp if you wish normal GPS download
885support as well). Configure/compile support for it in Xastir.
886Start up GPSMan separately and configure it for your GPS and serial
887port. In the "File->Configure->Timing" dialog you'll see an option
888for "RINO -> Objects Interval". That sets the interval at which
889Xastir will download waypoints from an attached RINO unit. Any
890waypoints that begin with "APRS" will have the "APRS" chopped off,
891and the remaining name will be used to create APRS(tm) Objects. Those
892objects will be plotted on the map and transmitted as well if
893transmit for objects/items is enabled.
894TBD
895
896
897Transmit Enable/Disable Options:
898--------------------------------
899Each interface has a separate transmit enable. The Interface menu
900also has a few global transmit enables. All of these must be
901enabled for a particular interface to transmit. Also, for Internet
902servers, you typically need to authenticate with the server using
903your callsign/pass-code before you're allowed to inject packets into
904the Internet stream which may get gated out to RF. If you just want
905to talk to other Internet users, you don't need a pass-code to
906authenticate to the servers.
907
908
909Igating Options:
910----------------
911There are igating options on each local TNC interface. There are
912other global igating options on the File->Configure->Defaults
913dialog. The global option sets restrictions on all igating.
914
915
916Where stuff is kept:
917--------------------
918
919Per-user configurations are kept in each user's ~/.xastir directory, by
920default. In particular the ~/.xastir/config/xastir.cnf file is where most
921of the configs are kept. This directory can be optionally specified using
922the -c /path/dir command line option. Make sure you specify a directory,
923not a file! Xastir will create the directory and several subdirectories if
924they do not exist when you start up.
925
926A few executables are installed in /usr/local/bin/.
927
928Scripts are installed in /usr/local/share/xastir/scripts.
929
930Maps are installed in /usr/local/share/xastir/maps/. Lots of other
931directories are under /usr/local/share/xastir/.
932
933
934More?
935-----
936Anything else? Let's hear about what's still confusing or needs to
937be expanded in this document. Thanks!
938
939
940APRS(tm) is a Trademark of Bob Bruninga
941
942Copyright (C) 2000-2019 The Xastir Group
943
944
README.MAPS
1
2
3Recommended Configurations for:
4
5 U.S. Users:
6 -----------
7
8 Minimum: Shapelib, pcre
9 --------
10 Allows use of all built-in map types plus 2003 (and later) Tigermap data,
11 shapefile weather alerts, and local ESRI Shapefile format
12 maps, including U.S. satellite/image/topo maps via Internet.
13
14 Medium: Shapelib, pcre, lcms, ImageMagick, libcurl/wget,
15 -------
16
17 Allows use of all the above plus Internet maps and local image
18 maps.
19
20 Maximum: Shapelib, pcre, lcms, ImageMagick, libcurl/wget,
21 -------- libtif, libproj, libgeotiff
22
23 Allows use of all the above plus USGS topo maps.
24
25 Rest of World:
26 --------------
27
28 Minimum: lcms, ImageMagick, libcurl/wget
29 --------
30 Allows use of all built-in map types plus local and Internet
31 image maps, including Canadian topo maps via Internet.
32
33 Medium: lcms, ImageMagick, libcurl/wget, Shapelib, pcre,
34 -------
35
36 Allows use of all the above plus ESRI Shapefile maps.
37
38 Maximum: libproj/libtiff/libgeotiff
39 --------
40 Adds more map types. Some of these may not be useful in your
41 part of the world.
42
43
44Map Type: Libraries Required/Notes:
45--------------- -------------------------
46DosAPRS Built-in.
47WinAPRS Built-in.
48X-APRS Built-in.
49MacAPRS Built-in.
50PocketAPRS Built-in.
51USGS GNIS Built-in. Can split into county-sized chunks
52 using xastir/scripts/split_gnis.pl to speed
53 things up.
54Address Lookup Built-in.
55Weather Alerts Shapelib
56pre-2003 Tigermaps Shapelib
57post-2003 Tigermaps Shapelib, pcre
58ESRI Shapefiles Shapelib
59Image Maps ImageMagick. Often need lcms library and others
60 as well (whatever it takes to make ImageMagick
61 happy). Can also use the XPM library for some
62 image types without installing ImageMagick.
63Internet Maps ImageMagick plus wget or libcurl. Often need
64 lcms library and others as well (whatever it
65 takes to make ImageMagick happy). WMS Maps are
66 in this category as well.
67UI-View Maps Convert from .INF to .GEO format using
68 xastir/scripts/inf2geo.pl
69OziExplorer Maps Convert some maps to .GEO format using
70 xastir/scripts/ozi2geo.pl
71USGS DRG Topo libtiff, libtiff-devel, libproj, libgeotiff
72APRS Overlays Convert to Shapefile maps with scripts/pos2shp.pl
73
74
75The default map, "worldhi.map", is used with permission of its creator, Keith Sproul, WU2Z.
76
77
78How to Use APRS Overlay Maps (*.POS files) within Xastir:
79---------------------------------------------------------
80 Use the "xastir/scripts/pos2shp.pl" script to convert the
81 overlay files to ESRI Shapefile maps:
82
83 # ./pos2shp.pl test.pos testmap
84 # cp testmap* /usr/local/share/xastir/maps/.
85
86 Xastir: Map->Configure->Index: Add New Maps
87 Map Chooser: Select the "testmap" map
88
89
90Using Online Maps:
91------------------
92 There are a few *.geo files that get installed into Xastir's maps/
93 directory upon install. These invoke online map sources of various types:
94
95 OpenStreetMap
96 -------------
97
98 Select the appropriate files from the Online/ directory in Map Chooser
99
100 WMS Map Servers
101 ---------------
102
103 Xastir has support for WMS map servers built-in. To use this you'll need
104 to create a *.geo file in your map directory (usually
105 "/usr/local/share/xastir/maps/Online/", "/usr/share/xastir/maps/Online/"
106 or any directory below those) for each LAYER you wish to use, perform a
107 re-index of your maps, then select them in the Map Chooser.
108
109 Procedure: Hunt down a WMS map server that you wish to use, then find
110 its "GetCapabilities" link. Here's an example:
111
112 http://geogratis.gc.ca/maps/CBMT?service=wms&version=1.1.1&request=GetCapabilities
113
114 Look at it directly in your browser or use Xastir's "wms.pl" script to
115 see the structure and keywords of the XML. Note that if using "wms.pl"
116 you must add backslashes prior to each '&' character in the URL.
117
118 wms.pl "http://geogratis.gc.ca/maps/CBMT?service=wms\&version=1.1.1\&request=GetCapabilities"
119
120 "wms.pl" will show the format of the XML file plus a section at the end
121 which looks like:
122
123---------------
124 POSSIBLE .GEO FILE CONTENTS:
125
126 WMSSERVER
127 URL http://geogratis.gc.ca/maps/CBMT?service=wms&version=1.1.1&request=GetMap&SRS=EPSG:4326&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=FALSE&STYLES=&LAYERS=National
128
129 WMSSERVER
130 URL http://geogratis.gc.ca/maps/CBMT?service=wms&version=1.1.1&request=GetMap&SRS=EPSG:4326&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=FALSE&STYLES=&LAYERS=Sub_national
131
132 WMSSERVER
133 URL http://geogratis.gc.ca/maps/CBMT?service=wms&version=1.1.1&request=GetMap&SRS=EPSG:4326&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=FALSE&STYLES=&LAYERS=Regional
134
135 WMSSERVER
136 URL http://geogratis.gc.ca/maps/CBMT?service=wms&version=1.1.1&request=GetMap&SRS=EPSG:4326&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=FALSE&STYLES=&LAYERS=Sub_regional
137---------------
138
139 This means there are four different map layers you can get from that WMS
140 server. To see/use each one you'll need to create four different .geo
141 files for Xastir. The format of a WMS Server .geo file is exactly two
142 lines. Try using each of the two-line outputs from wms.pl as a start
143 towards creating your own .geo files.
144
145
146Getting Maps and other Data Files for Xastir:
147---------------------------------------------
148
149 NOTE: Set map FILES to permissions 644 ("rw-r--r--"), map
150 DIRECTORIES to 755 ("rwxr-xr-x") using the "chmod" command.
151 These permissions will allow anyone on the box to read the map
152 files, and access the map directories. Type these
153 commands exactly as shown in order to set the map directory's
154 permissions properly. Do this as the root user:
155
156 cd /usr/local/share/xastir/maps
157 find . -type d -exec chmod 755 {} \;
158 find . -type f -exec chmod 644 {} \;
159
160 You can repeat these commands at anytime, to fix up errant map
161 permissions that are created by downloading/installing new
162 maps.
163
164 Currently the maps/GPS directory needs to be writable by normal users
165 in order to support downloading GPS data using GPSMan. This will be
166 changed at some future date, moving this directory into the user's
167 home directory instead.
168
169 cd /usr/local/share/xastir/maps
170 chmod 777 GPS
171 find GPS -type d -exec chmod 777 {} \;
172 find GPS -type f -exec chmod 777 {} \;
173
174
175
176 Download some maps:
177
178 If you compiled with ImageMagick and have wget or libcurl installed,
179 you can skip this step and use the online OSM/WMS maps
180 exclusively. However, having maps on your computer is often faster
181 than transferring images over a modem, and is not subject to the
182 failures of your Internet connection. See the section below on map
183 caching for an exciting feature that works with most online maps to
184 really speed things up!
185
186 You can have any number of maps in the /usr/local/share/xastir/maps
187 directory. You can organize the maps however you like. You can also
188 use symbolic links to link to files/directories on other disks. Map
189 files are loaded in the order that they appear in the chooser unless
190 you adjust the layering priorities in the "Properties" dialog (it's
191 recommended that you use these now instead of a directory hierarchy to
192 choose the layering).
193
194 There are many methods for organizing many maps. Create a map
195 hierarchy using something that makes sense to you. The old method of
196 creating transparent/filled or raster/vector directories has been
197 superceded by the new map layering features in the Map
198 Chooser->Properties dialog. It's now suggested that the map layering
199 be done there, and the directory layout designed to make it easiest
200 for the user to select maps. Perhaps a good start would be:
201
202 World/
203 Canada/
204 Canada/Province/
205 USA/
206 USA/State/WA/
207 USA/State/WA/County/
208 ...
209 GNIS/
210 Overlay/
211
212 Please note that the map directories are entirely up to the user
213 now. Use the map layering facilities (Map Chooser->Properties) to
214 determine the order in which they will be drawn, and to determine
215 which will draw filled areas. Note that raster maps will always draw
216 filled, not matter what the setting suggests. For vector maps, you
217 have a choice of:
218
219 Fill = No Polygons will never be filled
220 Fill = Yes Polygons will always be filled
221 Fill = Auto Polygon fill is determined by map (or if it's a
222 Shapefile, by any associated dbfawk file).
223
224 Map types available by extension:
225
226 Vector Format:
227 .shp/.shx/.dbf Shapefile vector map (need all three files)
228 .map APRSdos/WinAPRS/MacAPRS vector map
229 .gnis GNIS labels file (actually points instead of vectors)
230 .geo Vector map or Internet vector map. Note that for
231 http/ftp-based maps Xastir requires an IMAGESIZE line.
232
233 Raster Format:
234 .tif/.fgd geoTIFF raster image map
235 .geo Raster image map or Internet raster image map. Note that
236 for http/ftp-based maps Xastir requires an IMAGESIZE line
237 unless using WMS maps.
238
239 Note: .geo is listed twice because it can fit in both categories,
240 depending on the base format of the map file that the .geo file
241 points to. .geo files are handled by the XPM library or by
242 ImageMagick, so most anything that can be handled by those installed
243 libraries can by handled by Xastir.
244
245 A few maps of various types are available from:
246
247 http://we7u.wetnet.net/xastir/maps/
248
249 Here's a page that we'll try to keep up-to-date which will have lots of
250 links to download-able maps on it:
251
252 http://xastir.org/index.php/Xastir_Maps
253
254 Dos/Win/MacAPRS style vector/fill maps:
255
256 http://www.winaprs.com/Maps.htm
257 http://www.cnunix.com/ftp/hamradio/rutgers.mirror/maps/maps2/
258 ftp://ftp.tapr.org/aprssig/maps/
259
260 WORLDHI.MAP is suggested as a basic view of the world map.
261
262 You can use any of the other maps available from this site. Many of
263 them were created from Tiger/Line maps, but they are several years out of
264 date. It is suggested that you don't use these as your primary
265 street-level maps; the newer shapefile-based maps are usually preferable.
266 In cases where you cannot compile shapefile support, these maps suffice.
267
268
269 PocketAPRS vector maps:
270
271 The WinAPRS 2.51 distribution included the full collection of
272 PocketAPRS vector maps for the USA. The download is about 60MB, from the
273 TAPR ftp site.
274
275 ftp://ftp.tapr.org/aprssig/winstuff/WinAPRS/waprs251.zip
276
277
278 Raster Maps:
279
280 For Canada there is a country wide set of topographic map images available
281 from the "Department of Natural Resources Geomatics Canada". Running
282 /scripts/toporama250k.pl will pull down 430mb of 1:250k map images
283 from that departments site. If thats not enough data, running
284 /scripts/toporama50k.pl will pull down around 10gigs
285
286**** Note that recent changes at the "Department of Natural Resources Geomatics
287Canada" have made these scripts fail. Changes to the scripts are being coded
288and tested. Git will be updated once the scripts are proven to work again. ****
289
290
291 For Ireland, EI8IC (http://www.mapability.com) has produced a set of overlay
292 maps that show the County Borders, Main Towns and Roads. John, EI7IG, has
293 created a set of ".geo" files to go with them and they are all available in one
294 tarball from [http://ireland.aprs2.net/xastir/IrelandMaps/Ireland.tar.gz
295 ireland.aprs2.net] They are free for non-commercial use.
296
297 Also available are a map of the
298 [http://ireland.aprs2.net/xastir/IrelandMaps/Ireland1600x2000.bmp country], with
299 an associated [http://ireland.aprs2.net/xastir/IrelandMapsIreland1600x2000.geo
300 geo] file, the [http://ireland.aprs2.net/xastir/IrelandMaps/Ireland1600x2000.bmp
301 South East], its associated
302 [http://ireland.aprs2.net/xastir/IrelandMapsIreland1600x2000.geo geo] and a
303 [http://ireland.aprs2.net/xastir/IrelandMaps/IrishMET.geo Weather Radar] .geo file.
304
305
306 Shapefile format maps (Requires shapefile support):
307
308 Shapefile format maps are slowly becoming the standard vector format of
309 maps used with Xastir. Xastir 1.3.2 and above by default enable dbfawk
310 support for parsing shapefile metadata, see below.
311
312 A nice world map is available at http://aprsworld.net/gisdata/world/
313 thanks to James Jefferson, TerraSpace, Russia, and the Digital Chart
314 of the World (for Antarctica). Note that this file is currently
315 available only in uncompressed or in tar/bzip2 format. To decompress
316 the latter file, you'd type "bunzip2 filename" and then
317 "tar xvf filename".
318
319 Some other shapefile format maps are available at:
320 http://www.nws.noaa.gov/geodata/
321
322 Still other shapefiles are available from esri.com, geographynetwork.com
323 and gisdatadepot.com (from their "free data" link). Lot's of useful
324 stuff at these sites, just look around. You can also check
325 with your County GIS office for shapefiles of your county. You can
326 convert them from State Plane to Lat/Long projection using
327 instructions later in this document.
328
329 Canada street maps in Shapefile format are available at
330 http://www.geobase.ca
331
332 If you also use GeoTIFF images, get the handy usgs_24kgrid.zip file from
333 http://data.geocomm.com/quadindex/. This file provides a grid of all of
334 the 7.5' maps and their names for the U.S.
335
336 A nice world map is available at http://aprsworld.net/gisdata/world/
337 thanks to James Jefferson, TerraSpace, Russia, and the Digital Chart
338 of the World (for Antarctica). Note that this file is currently
339 available only in uncompressed or in tar/bzip2 format. To decompress
340 the latter file, you'd type "bunzip2 filename" and then
341 "tar xvf filename".
342
343 www.bts.gov has the "National Transportation Atlas" that you can download
344 pieces of (at least for the larger layers) or ask for (free) CD-ROM's to be
345 mailed to you.
346
347 -----
348 Re-projecting shapefiles (or: why doesn't my shapefile show up?)
349
350 A shapefile is pretty much just a collection of points and lines
351 between points. Xastir expects that those points are expressed in
352 degrees of longitude and latitude with positive values indicating N
353 and E and negative values indicating S and W.
354
355 One often comes across shapefiles with data in some other format, such
356 as UTM or state-plane projections with units in meters or feet. You
357 must re-project these sorts of shapefiles in order to use them in
358 Xastir. You must either know what the current format is of the
359 shapefile you wish to re-project, or have the .prj file that some
360 shapefiles come with.
361
362 Fortunately, the shapelib-1.2.10 distribution (which you probably
363 compiled and installed to enable shapefile maps in Xastir) includes a
364 tool for performing this re-projection.
365
366 First make the shpproj utility by:
367
368 1. change to directory: <shapelib source directory>/contrib
369 2. type 'make' to compile the contrib files
370 3. Optionally install shpproj by copying it to /usr/local/bin
371
372 shpproj takes 4 arguments:
373
374 shpproj shp_file new_shp -i="in_params" -o="out_params"
375
376 shp_file is the name of your existing shapefile triad (without the
377 extension).
378
379 new_shp is the name of your new shapefile triad (which doesn't exist
380 yet).
381
382 -i="in_params" are the parameters describing the existing shapefile.
383
384 -o="out_params" are the parameters describing the new shapefile. We
385 want this to be "geographic".
386
387 Examples:
388
389 Convert shapefile triad from US State-plane, South Central Texas region
390 (FIPS code 4204), in feet to geographic:
391
392 shpproj stateplane_shapefile geographic_shapefile \
393 -i="init=nad83:4204 units=us-ft" -o=geographic
394
395 Convert UTM zone 15 to geographic:
396
397 shpproj utm_shapefile geographic_shapefile \
398 -i="proj=utm zone=15 units=m" -o=geographic
399
400 To get a listing of the FIPS codes, you need to have proj installed
401 (see elsewhere in this file for more information). Look in the
402 "<proj source directory>/nad/nad.lst" file.
403
404 For more detailed documentation, see the shpproj.txt file in the
405 "<shapelib source directory>/contrib/doc" directory.
406
407 There's a resource for looking up the FIPS codes for a particular
408 area:
409
410 http://www.aprs.net/fips/
411
412 An important note about using shpproj to re-project maps
413
414 The shpproj program cannot be used to convert shapefiles unless they're
415 already using the NAD83 or WGS84 datum. shpproj will do the conversion
416 if you ask it to, but it will do it incorrectly.
417
418 A simple program to convert shapefiles between various projections
419 that does do datum conversions correctly is "shpcs2cs," available
420 from
421 <http://www.swcp.com/~russo/shape_web/>
422 That program requires libproj to be installed properly, and uses a
423 command line format similar to the "cs2cs" program that comes with
424 libproj.
425
426 If you already have GDAL installed, you should have the "ogr2ogr"
427 program available to you. ogr2ogr will not only convert projections
428 and geodetic datum correctly, but will also convert format (ArcView
429 binary format to shapefile, TIGER/Line files to shapefile, etc.).
430 Some detailed instructions for using ogr2ogr to do this conversion
431 are available at
432 <http://www.swcp.com/~russo/shape_web/>
433
434 -----
435
436 Using "dbfawk" to interpret shapefile DBF data: Each shapefile
437 map (*.shp, *.shx) comes with a DBase data file (*.dbf) in which
438 each shape in the .shp file has a corresponding set of descriptive
439 data about that shape in the .dbf file. While shapefiles are all
440 a standard format and will most always draw (possibly after having
441 been re-projected with shpproj), the corresponding .dbf data varies
442 widely depending on the data source. For example, US Census
443 Tiger/Line files contain 20 attributes for each shape including such
444 values as the name of the shape (i.e. street name), and a "Census
445 Feature Class Code" (CFCC) which indicates whether a shape is a
446 dirt road or a superhighway, for example.
447
448 In "pre-dbfawk" Xastir, knowledge of the various sources of
449 shape files was built into the program and it was necessary to
450 add code to support new shapefile sources (such as those
451 produced by local government agencies, non-US, etc.). Xastir
452 with dbfawk moves this logic into metadata files named *.dbfawk.
453 These files are linked to the .shp/.dbf files they belong with in
454 one of two ways:
455 1. "Signature" recognition. .dbfawk files located in the config/
456 directory are read to find the "dbfinfo" signature, which is
457 simply the ordered list of attribute names found in the .dbf file.
458 If you browse config/*.dbfawk you will see dbfawk's for the most
459 well know shapefile types. For example, tgrlk.dbfawk matches
460 all the "tgr*lk?.dbf" US Census Tiger/Line files. When a shapefile
461 map is displayed, its .dbf signature is matched up with one of
462 the config/*.dbfawk files.
463 2. "Tied" to a file. If you installed a .dbfawk file in the same
464 directory as the .shp and .dbf files (e.g. sample.shp, sample.dbf
465 get a corresponding sample.dbfawk) then that file is used instead
466 of signature matching.
467 The first method allows a single .dbfawk file to be automatically
468 used for hundreds of standard shapefile maps. The later allows you
469 to customize how your particular shapefile map displays.
470
471 What's in a .dbfawk file? The best documentation of these files
472 is found by looking at the commented examples in config/*.dbfawk.
473 dbfawk is modeled after the "awk" pattern scanning and processing
474 language -- but, it is *not* exactly awk:
475 - Regular expression syntax is that used by Perl (the pcre library
476 is used) rather than pure awk.
477 - Action statements are much more limited than full-blown awk.
478 - The concept of records and fields is used since a .dbf record
479 is structured of usually several fields (name, feature type, etc.).
480 That said, what dbfawk does is allow a great degree of control of
481 how and when shapes and their names are displayed. This is done by
482 setting the values of several "builtin" variables [Technically, these
483 are only built-in to shapefile support. Potentially the awk-like
484 code can be extended to other uses.]:
485 dbfinfo: the "signature" to match against.
486 dbffields: which fields to read from the .dbf file.
487 color: what color code to display the shape with.
488 lanes: width of the shape.
489 name: name of the shape.
490 key: search key (used for WX alerts to find the shape)
491 symbol: symbol for landmarks, etc.
492 filled: draw polygons filled. Filled="Yes" or "No" in the Map
493 Properties dialog will override this option. Set to "Auto"
494 in that dialog to have the dbfawk file control this.
495 fill_style: style of fill (0=solid, 1=FillTiled, 2=FillStippled, etc.)
496 fill_color: color of fill
497 fill_stipple: stipple pattern if fill_style=2 ("FillStipple")
498 0=13 percent, 1=25 percent, 2=50 percent.
499 pattern: solid or dashed lines.
500 display_level: at what zoom level to begin displaying the shape
501 label_level: at what zoom level to begin displaying labels
502 label_color: color to use for labels
503
504 Execution of a dbfawk file: Just like awk, the file consists of
505 patterns that are matched against input data and actions to take
506 when the pattern matches. There are four special patterns in dbfawk:
507 BEGIN_RECORD: action is executed just before parsing a record.
508 BEGIN: action is executed just before parsing a field.
509 END: action is executed just after parsing the field.
510 END_RECORD: action is executed just after parsing a record.
511 All other patterns are regular expressions that are matched against
512 a data value of <fieldname>=<value>. For example:
513 FENAME=Main
514
515 Actions in dbfawk files consist of setting variables and two special
516 actions:
517 next: skips to the next field in the record.
518 skip: skips to the next record.
519 If neither next nor skip is given in the action, then processing falls
520 through to the next pattern/action pair in the dbfawk file.
521
522 The special dbffields variable is used to list which fields of the
523 record to be processed and in what order. The order is significant
524 since it may take several DBF fields to build up a complete name.
525 For example, in Tiger/Line, the street name is actually the
526 concatenation of FEDIRP, FENAME, TYPE, FEDIRS. Here's an excerpt
527 from tgrlk.dbfawk to demonstrate:
528 BEGIN {dbffields="TLID:FEDIRP:FENAME:FETYPE:FEDIRS:CFCC"}
529 ...
530 /^FEDIRP=(.+)$/ {name="$1 ";next}
531 /^FENAME=United States Highway (.*)$/ {name="$(name)US $1"; next}
532 /^FENAME=State Highway (.*)$/ {name="$(name)State $1";next}
533 /^FENAME=State Route (.*)$/ {name="$(name)SR $1";next}
534 /^FENAME=(.*)$/ {name="$(name)$1; next}
535 /^FETYPE=(.+)$/ {name="$(name) $1"; next}
536 /^FEDIRS=(.+)$/ {name="$(name) $1"; next}
537
538 Creating and testing dbfawk files: You can test an existing dbfawk
539 file by setting debug level 16 in Xastir (this will generate a huge
540 amount of map rendering debug output, including dbfawk info):
541 "./xastir -v 16 2>/tmp/log"
542 Or, use "testdbfawk" which reads a .dbf file (or single field assignments
543 on the command line). For example:
544
545 cd /usr/local/share/xastir
546 testdbfawk -D config -d Counties/mz01ap14.dbf 2>&1 | less
547 8 Columns, 479 Records in file
548 sig: ID:WFO:GL_WFO:NAME:AJOIN0:AJOIN1:LON:LAT
549 DBF Signatures match!
550 name=Lake Okeechobee, key=AM_Z610, symbol=, color=8, lanes=2, filled=0, pattern=0, display_level=65536, font_size=2, label_level=512
551 label_color=20
552 ...
553
554 testdbfawk takes the following command line syntax:
555 testdbfawk --help
556 Prints command line usage
557 testdbfawk -D directory -d file.dbf
558 Scans directory for dbfawk files with signatures matching file.dbf,
559 runs the dbfawk program that matches if it's found.
560 testdbfawk -f file.dbfawk -d file.dbf
561 runs the dbfawk file "file.dbfawk" over the dbf file "file.dbf"
562
563 So in the example above, testdbfawk scans the current directory
564 for dbfawk files with signatures that match tgr36119lkA.dbf's
565 signature. testdbfawk dumps its output to standard error, so in
566 the example standard error is redirected to standard out and
567 piped into "less" for paging.
568
569 To create a .dbfawk file, you need to understand the layout and contents
570 of your .dbf file. Use "dbfinfo" and "dbfdump" which are in the shapelib
571 contrib directory. Dbfinfo will list the field names and dbfdump will
572 dump out all fields of all records. Take the field names from dbfinfo,
573 and concatenate them together in order, separated by ":" to make the
574 dbfinfo= signature variable assignment.
575
576 Your best bet is to start with an existing .dbfawk file as an example.
577
578 Dbfawk hints and kinks: You have to think like an awk programmer and
579 realize that the order that rules are listed matters, that it's important
580 to use "next" as soon as it makes sense so other rules aren't looked at
581 unnecessarily and, to use "skip" when you want to fix bad dbf data.
582 For example, my county's Tiger/Line maps have several coding errors
583 where a segment of a main highway is incorrectly labeled as a local
584 street. This rule overrides one of those incorrect records:
585 # This Furnace Dock Rd segment is really Rt 9!
586 /^TLID=139773160$/ {name="Briarcliff-Peekskill Pky"; display_level=8192; label_level=512; color=4; lanes=4; skip;}
587 TLID is the Tiger/Line ID which is the unique identifier for this
588 segment.
589 -----
590
591 Rolling your own shapefile maps:
592
593 It is relatively easy to create your own shapefile maps (for example,
594 if you want to highlight a walk-a-thon course). There are several
595 methods available with Xastir:
596
597 1. Use GPSMan to download a GPS track to a shapefile.
598
599 2. Save a station tracklog of an actual station or an object that
600 you manually move along the course. When you select Station Info,
601 you are presented with the option to save the track, which gets
602 put in
603 .xastir/tracklogs/<datestamp>_<callsign>_APRS_Trail_<color>.*
604 You can move the .shp, .shx, and .dbf files to your maps directory.
605 Use DBFAWK to make a map-specific .dbfawk file. For example:
606 BEGIN {dbfinfo="Credits:DateTime";dbffields="Credits:"}
607 BEGIN_RECORD {key=""; lanes=4; color=12; name=""; filled=0;
608 pattern=1; display_level=8192; label_level=32; symbol=""}
609 This makes the track width 4 and red (12).
610
611 3. You can use xastir's "object" capability to generate shapefile maps.
612 a) Turn off object transmission using
613 Interface->Disable Transmit:Objects
614 b) Put objects where you want. Set the display symbol as you like it.
615 c) run the "object2shp.pl" script in the scripts directory
616 (/usr/local/share/xastir/scripts/object2shp.pl in most installations)
617 to generate a shapefile:
618 /usr/local/share/xastir/scripts/object2shp.pl ~/.xastir/object.log myshape
619 This requires the four shapelib utilities "dbfcreate", "shpcreate",
620 "shpadd" and "dbfadd" as described below.
621 d) EXIT XASTIR
622 e) REMOVE ~/.xastir/config/object.log
623 f) move "myshape.shp," "myshape.shx," and "myshape.dbf" to your maps
624 directory.
625 g) restart xastir.
626 h) select your newmap in the map chooser.
627 Creating maps in this way is basically just a scripted version of the
628 manual map generation technique in (4) below.
629
630 4. You can also use the shapelib tools (shpproj was presented earlier)
631 to manually create a shapefile. For example, the following
632 marks out the mile-posts for a marathon, using tgrlpt.dbfawk
633 (US Census Tiger/Line landmark points with an APRS(tm) symbol extension)
634 for the metadata:
635 #!/bin/sh
636 # turn mileposts into a Tiger landmark shapefile
637
638 rm -f posts.shp posts.dbf
639 shpcreate posts point
640 dbfcreate posts -n ID 8 0 -s CFCC 3 -s NAME 30
641 shpadd posts -74.0570 40.6025
642 dbfadd posts 1 'X\m ' Start
643 shpadd posts -74.0443 40.6065
644 dbfadd posts 2 'X\m ' 1M
645 shpadd posts -74.0353 40.6093
646 dbfadd posts 3 'X\m ' 2M
647 shpadd posts -74.0268 40.6260
648 dbfadd posts 4 'X\m ' 3R
649 shpadd posts -74.0200 40.6277
650 dbfadd posts 5 'X\m ' 3G
651 shpadd posts -74.0270 40.6252
652 dbfadd posts 6 'X\m ' 3B
653 shpadd posts -74.0197 40.6395
654 dbfadd posts 7 'X\m ' 4R
655 shpadd posts -74.0203 40.6388
656 dbfadd posts 8 'X\m ' 4BG
657 shpadd posts -74.0077 40.6508
658 dbfadd posts 9 'X\m ' 5R
659 shpadd posts -74.0083 40.6503
660 dbfadd posts 10 'X\m ' 5BG
661 shpadd posts -73.9957 40.6623
662 dbfadd posts 11 'X\m ' 6R
663 shpadd posts -73.9962 40.6617
664 dbfadd posts 12 'X\m ' 6BG
665 shpadd posts -73.9850 40.6743
666 dbfadd posts 13 'X\m ' 7R
667 shpadd posts -73.9858 40.6738
668 dbfadd posts 14 'X\m ' 7BG
669 shpadd posts -73.9782 40.6865
670 dbfadd posts 15 'X\m ' 8M
671 shpadd posts -73.9597 40.6890
672 dbfadd posts 16 'X\m ' 9M
673 shpadd posts -73.9573 40.7007
674 dbfadd posts 17 'X\m ' 10M
675 shpadd posts -73.9622 40.7122
676 dbfadd posts 18 'X\m ' 11M
677 shpadd posts -73.9515 40.7230
678 dbfadd posts 19 'X\m ' 12M
679 shpadd posts -73.9520 40.7345
680 dbfadd posts 20 'X\m ' 13M
681 shpadd posts -73.9525 40.7465
682 dbfadd posts 22 'X\m ' 14M
683 shpadd posts -73.9403 40.7503
684 dbfadd posts 23 'X\m ' 15M
685 shpadd posts -73.9578 40.7587
686 dbfadd posts 24 'X\m ' 16M
687 shpadd posts -73.9556 40.7675
688 dbfadd posts 25 'X\m ' 17M
689 shpadd posts -73.9465 40.7808
690 dbfadd posts 26 'X\m ' 18M
691 shpadd posts -73.9372 40.7935
692 dbfadd posts 27 'X\m ' 19M
693 shpadd posts -73.9272 40.8047
694 dbfadd posts 28 'X\m ' 20M
695 shpadd posts -73.9343 40.8142
696 dbfadd posts 29 'X\m ' 21M
697 shpadd posts -73.9453 40.8050
698 dbfadd posts 30 'X\m ' 22M
699 shpadd posts -73.9525 40.7923
700 dbfadd posts 31 'X\m ' 23M
701 shpadd posts -73.9630 40.7810
702 dbfadd posts 32 'X\m ' 24M
703 shpadd posts -73.9720 40.7696
704 dbfadd posts 33 'X\m ' 25M
705 shpadd posts -73.9811 40.7683
706 dbfadd posts 34 'X\m ' 26M
707 shpadd posts -73.9763 40.7720
708 dbfadd posts 35 'X\m ' Finish
709 ---------
710
711 Splitting large Shapefile maps into regularly-sized tiles:
712
713 Look for "shp2tile" at http://imaptools.com/tools/, it does
714 exactly that. This can speed up Xastir tremendously if you're
715 zoomed in quite a bit on a large Shapefile map (or maps). If
716 it is broken into tiles Xastir only has to load the tiles of
717 interest instead of slogging through the entire large file
718 each time.
719
720
721 GeoTIFF Map files (requires GeoTIFF):
722
723 If you compiled in geoTIFF support, you can use USGS DRG topographic
724 maps. These are primarily useful to U.S. users. DRG topo maps can be
725 found for free for most states, and can be purchased for others.
726
727 http://www.bianifc.org/gis_gps/gps/drgfree.html
728 http://www.gisdatadepot.com
729
730 or try a google search with "free drg maps" as the search query.
731
732 If you have no luck finding free DRG maps, go to
733 http://www.geocomm.com/ and check out the "DRG Data Bundles"
734 they have available. You can purchase a DVD containing all the
735 DRGs for an entire state in three scales, all of them usable in
736 xastir, for a relatively low price. Be warned, however, that
737 parts of the US have DRGs that are produced by an agency other
738 than the United States Geological Survey, and these DRGs are not
739 necessarily in correct GeoTIFF format. The areas covered by the
740 Tennessee Valley Authority appear to be among those, as one
741 xastir user discovered when purchasing a DVD of DRGs for North
742 Carolina. It is still possible to use these DRG files, but they
743 need preprocessing. See the section below entitled "Defective
744 GeoTIFF files need even more special processing."
745
746 Many useful US maps can be downloaded from the National Map Viewer:
747 http://nmviewogc.cr.usgs.gov/viewer.htm
748
749 Free FAA sectional charts can be downloaded from
750 http://aviationtoolbox.org/raw_data/FAA_sectionals/current/
751 This site was set up by someone who had a subscription to the FAA
752 DVD collection and made them available on the web (this is legal per
753 FAA's terms of use). They are no longer being updated as of mid 2005.
754 These charts are in Lambert Conformal Conic projection, though, and
755 need to be converted with gdalwarp to be usable in xastir (see below).
756
757 Current, valid-for-navigation FAA sectional charts may be purchased
758 from the FAA at
759 https://naco.faa.gov/ecomp/Catalog.aspx?a=AERO+NOS+DIGITAL
760 for about $1.50US each. These files are also in GeoTIFF and are the
761 same type as those that are available on aviationtoolbox, but these are
762 updated every 6 months and are kept current. You will have to process
763 them before viewing in xastir.
764
765 The 7.5' topo maps work the best so far. Be sure to install the .tif AND
766 the .fgd files side-by-side into the map directories. Without the .fgd
767 file Xastir won't be able to crop the white border from the map. Xastir
768 currently knows how to handle NAD27, NAD83, and WGS84 geoTIFF files.
769 GeoTIFF files created in other datums will be displayed at an incorrect
770 location with Xastir. The .tfw files included with most geoTIFF images
771 are not used by Xastir.
772
773 If you must make FGD files by hand, the included script mapfgd.pl can
774 create them for you from the USGS geoTIFF files. The format Xastir is
775 looking for is the following:
776
777 1.5.1.1 WEST BOUNDING COORDINATE: -122.000000
778 1.5.1.2 EAST BOUNDING COORDINATE: -120.000000
779 1.5.1.3 NORTH BOUNDING COORDINATE: 48.000000
780 1.5.1.4 SOUTH BOUNDING COORDINATE: 47.000000
781
782 -or-
783
784 1.5.1.1 West_Bounding_Coordinate: -122.000000
785 1.5.1.2 East_Bounding_Coordinate: -120.000000
786 1.5.1.3 North_Bounding_Coordinate: 48.000000
787 1.5.1.4 South_Bounding_Coordinate: 47.000000
788
789 Notes about DRG-Enhanced (DRG-E) files:
790 * The DRG-E files will draw over the correct spots if you remove
791 the .fgd file, but will overflow their boundaries and
792
793 * The DRG-E files will draw over the correct spots with decent
794 boundary trimming (as far as I can tell, which isn't very far:
795 correct me!) if you use a .fgd file taken from 'real' DRG files
796 from USGS.
797
798 Basically: get rid of the .fgd file from the DRG-E!!
799
800 Highly Compressed MrSID image files:
801
802 Be wary of DRG-E or DOQQ files that are compressed with MrSID
803 compression. That is a proprietary compression format for
804 which we do not have access to the decoding algorithm. We
805 cannot use those from within Xastir. There's possible good news
806 lurking on the horizon though: LizardTech has mentioned on the
807 gdal-dev mailing list that they might be supporting open-source
808 with a driver for gdal sometime soon.
809
810 It is also possible to decompress these files with a free tool
811 from LizardTech called "mrsiddecode", available at
812 http://www.lizardtech.com/download/dl_options.php?page=tools
813
814 mrsiddecode can produce GeoTIFF output with the right command line
815 options. There is a Linux version of mrsiddecode, but one user
816 has observed that the Windows version running under Wine is a little
817 more robust. Your milage may vary.
818
819 Be warned that MrSID is a very effective compression algorithm, and
820 compressed MrSID files of size 5MB could easily decompress into 50MB
821 GeoTIFFs.
822
823 Note also that many GIS departments take perfectly usable
824 GeoTIFF files with all projection and datum tags and use ESRI products
825 to compress them down into MrSID files, thereby losing all the
826 GeoTIFF tags. See below.
827
828 GeoTIFF files in certain projections need special processing:
829
830 Not all geotiff files available on the net are usable directly in
831 xastir. Some of them are in projections that xastir can't use
832 properly, and others are missing all of the metadata information that
833 is needed to work out how to convert them to Lat/Lon unprojected rasters.
834 If you encounter a geotiff file that has the correct tags, but is
835 in some projection other than UTM, you can convert that file to a
836 lat/lon raster if you have gdal installed. Simply run the following
837 command:
838 gdalwarp -t_srs EPSG:4326 original_raster.tif usable_raster.tif
839
840 This will warp the geotiff file "original raster.tif" from
841 whatever projection it was in into an unprojected lat/lon raster
842 "usable_raster.tif" that can be directly read into xastir.
843 Depending on the source projection, you might get a map that
844 doesn't tile well with other maps due to the inclusion of opaque
845 border material, but it can sometimes be the only way to import
846 a map you need to use.
847
848 Defective GeoTIFF files need even more special processing:
849
850 It is unfortunately the case that the ESRI software in use by many
851 GIS departments produces GeoTIFF files that have NO information about
852 the coordinate system that applies to them --- they'll have just
853 enough information to know what the numerical coordinates of each
854 pixel are, but no information to tell you whether those coordinates are
855 UTM, Lat/Lon, State Plane, or anything else. For such maps you will
856 need to determine the coordinate system by finding external files
857 called "metadata" that are associated with the images. US
858 Federal datasources have a standardized file format (".fgd") that
859 provides this information, but many state or university GIS departments
860 just make some other format up for themselves. Most sources of
861 map data should have such metadata available, but sometimes it is a bit
862 of a chore to find it.
863
864 You can determine whether a .tif file has coordinate system information
865 in it using the "gdalinfo" command from the GDAL suite or "listgeo" from
866 the libgeotiff distribution. If gdalinfo shows something like this:
867
868 Driver: GTiff/GeoTIFF
869 Size is 5364, 7620
870 Coordinate System is `'
871 Origin = (588067.750000,5331248.500000)
872
873 you're the lucky owner of a file that has no coordinate system info
874 (because the only thing after "Coordinate System is" is a pair of
875 quotation marks). Another dead givaway would be:
876 Metadata:
877 TIFFTAG_SOFTWARE=Arc/Info
878 which tells you that the image was processed with a piece of software
879 that fails to put in all the right tags.
880
881 If you get maps whose metadata say are in UTM projection but for which
882 gdal indicates missing geoTIFF tags like it does in the example above,
883 xastir won't be able to display them unless you fix them up.
884 Fortunately, the GDAL library tool "gdal_translate" can do the
885 job. For example, if you have a source map with metadata that
886 says it's in UTM Zone 10, NAD83 datum, to make it suitable for
887 Xastir to read you can do something like this:
888
889 gdal_translate -a_srs EPSG:26910 original.tif georeferenced.tif
890
891 The inclusion of the "-a_srs" option to gdal_translate
892 forces the new tiff file to have the correct geotiff tags to
893 indicate that coordinate system.
894
895 The EPSG number to use for images in UTM projection with NAD83
896 datum is 26900 plus the UTM zone number. The EPSG number for UTM in
897 NAD27 is 26700 plus the zone number. The above command
898 will allow Xastir to read in the image and reference it
899 properly. If you do the gdalwarp option above instead, you can end up
900 with solid color areas between the edges of the original image
901 and the lat/long rectangle that the image will be warped to; these
902 extra pixels represent "no data" areas due to the difference in shape
903 between the original rectangular image and the warped image. The
904 color of this area depends on the colors present in the original
905 image; GDAL attempts to use a color that is different from any in the
906 source image. If those areas don't matter to you, then either
907 method will work for you. If you're planning to tile multiple
908 UTM images together, then the gdal_translate option is best.
909
910 If your maps are NOT in UTM, you must also gdalwarp, because xastir
911 cannot properly display geotiffs that are in projections other than
912 UTM or "unprojected" lat/lon.
913
914 EPSG numbers for odd-ball coordinate systems can be found at
915 http://www.remotesensing.org/geotiff/proj_list/Wkt_adam.zip
916
917 Maps that require gdalwarp include the FAA sectionals mentioned above,
918 and some topo maps in obscure state plane coordinates from various state
919 GIS departments.
920
921 XASTIR can only use GeoTIFF files that are 8-bit per pixel with one band
922
923 Some geotiff files contain multiple bands or multiple bytes per pixel.
924 Xastir currently uses only BYTE format, so you may need to convert the
925 geotiff file with gdal_translate. The number of bands, bytes per
926 pixel and other information about geotiff files can be obtained using
927 gdalinfo.
928
929 One-band, 16- or 32-bit-per-pixel:
930 The command "gdal_translate -ot BYTE original.tif new.tif"
931 can convert 16 and 32 bit per pixel geotiffs to ones that can be used
932 by xastir
933
934 Multiple band, 8-bit-per-pixel:
935
936 The command "gdal_translate -ot BYTE -b 1 old.tif new.tif"
937 can extract a single band as a grey scale layer from a multi-band
938 geotiff file, but this is probably not what you really want.
939 The command
940 rgb2pct.py old.tif new.tif
941 can create a single band palette based geotiff from a three band rgb
942 tif by dithering the colors down to a small pallette. This last
943 tool requires gdal built with Python support. See the gdal
944 documentation for these tools for further information.
945
946 More manipulations of GeoTIFF files:
947
948 gdal also provides several additional tools that can be used to
949 tile maps or chop them up into smaller pieces, but explaining the
950 details of that process is probably beyond the scope of this document.
951 See the man pages for "gdal_translate" and "gdal_merge.py" for
952 an explanation of how those tools could be used to accomplish this.
953
954 .geo files/online maps & graphics:
955
956 If you have ImageMagick and wget or libcurl installed, .geo files
957 for NWS radars are available from one of these sites:
958
959 ftp://gcpoolz.com/geos/Srb_geos.zip
960 http://we7u.wetnet.net/xastir/maps/radar-geos.tgz
961
962 You'll probably want to add an IMAGESIZE line to each one to speed up
963 loading when some radars are offscreen: (bash syntax, modify for your
964 shell...)
965
966 for a in srb_*; do echo "IMAGESIZE 620 620" >> $a; done
967
968 NOTE: For .geo files with an ftp or http address for fetching the image,
969 IMAGESIZE is currently a REQUIRED parameter in the .geo file. For .geo
970 files where the image is resident on your hard drive, the IMAGESIZE tag
971 is optional.
972
973 Please also note that the coordinates in the .GEO files are expressed
974 in decimal degrees, and are listed with longitude first then latitude
975 on the TIEPOINT lines.
976
977 Other tags you can put in a .geo file:
978 DATUM: (not used, yet...)
979 PROJECTION: Currently only supports "TM" for transverse Mercator.
980 REFRESH: number of seconds to reload the maps. Multiple maps
981 with different values pick the smallest value.
982 TRANSPARENT: Color to remove from the background (make it transparent).
983 Use a number, 0=black. Color-mapped images use the map value, so
984 white is usually 0xffff. Value can be decimal or hex if preceeded
985 by "0x". Multiple TRANSPARENT lines can be used in a file to make
986 multiple colors transparent.
987 CROP: removes borders. Values are [left top right bottom] with
988 (0,0) at the upper left. A good value for the NWS radar
989 images above is "CROP 35 20 616 600"
990 GAMMA, CONTRAST, NEGATE, EQUALIZE, NORMALIZE, LEVEL, MODULATE: These
991 are all ImageMagick options, and are documented there, and
992 briefly in the xastir help file.
993
994
995 "Find Address" feature (US only):
996
997 The "Find Address" feature is based on the open source geo-coder by
998 Dan Egnor and as such uses the same format for the data. You can
999 download preprocessed data based on Census Tiger 2003 data at:
1000 http://www.dementia.org/geocoder/tgr2003/
1001
1002 Reprocessed geocoding files from the 2006 Second Edition TIGER/Line
1003 data were produced by Jason Winningham in June of 2007 and made
1004 available on the TAMU FTP server by Gerry Creager. They are much
1005 better than the 2003 data, and it is recommended that they be used
1006 instead. Download them from
1007 ftp://aprs.tamu.edu/pub/geocode/
1008
1009 Geographic Names Information System Labels:
1010
1011 These aren't maps, but are collections of name labels for locations.
1012 These display at various zoom levels like Dos/WinAPRS map labels, but are
1013 also searchable from the Maps menu.
1014
1015 http://geonames.usgs.gov/
1016
1017 Click the link "Download GNIS Data: State and Topical Gazetteers" on
1018 the left.
1019
1020 These files should be renamed in the form "<ST>.gnis" after download,
1021 where <ST> is the abbreviation for the state that they cover, and
1022 should be placed in the /usr/local/share/xastir/GNIS/ directory. To
1023 make sure that maps are layered correctly with GNIS labels on the top
1024 of the map stack, plus searchable, it is suggested that you link
1025 /usr/local/share/xastir/maps/z to this GNIS directory.
1026
1027 Type this as root to create the link and directories:
1028 cd /usr/local/share/xastir/maps
1029 ln -s ../GNIS z
1030
1031 The map files must end in ".gnis" to be used by Xastir, and must be in
1032 pipe delimited format. These are readily available from the above link
1033 with such filenames as "AZ_DECI.TXT". The files must be renamed to
1034 <ST>.gnis, and the trailing whitespace should be removed for speed. This
1035 can be accomplished in one step with the following command. (bash
1036 style...)
1037
1038 for a in *deci; do sed -e 's/[ ]*$//g' < $a > `basename $a _deci`.gnis; done
1039
1040 Individual files can have whitespace removed as follows:
1041 sed -e 's/[ ]*$//g' < inputfile > outputfile
1042
1043 Populated places GNIS file can be had at:
1044
1045 http://geonames.usgs.gov/stategaz/POP_PLACES_DECI.zip
1046
1047 A note from Jason Winningham, kg4wsv:
1048
1049 "The file has over 181k records in it. You can use the following command
1050 to weed out all places with populations less than 1000, and get it down
1051 to just under 14k records, which is really fast to load:
1052
1053 awk -F\| '{if ($17 > 1000) print $0}' \
1054 /usr/local/share/xastir/GNIS/0pop_places.gnis \
1055 >/usr/local/share/xastir/GNIS/0pop_places_over_1k.gnis
1056
1057 I stuck a zero at the beginning of the filename so this would
1058 show up in the GNIS directory before any of the state files."
1059
1060
1061 County weather Warning maps (requires shapefile support):
1062
1063 The latest shapefile format weather maps may be found here:
1064 http://www.nws.noaa.gov/geodata/
1065
1066 or more easily found here (but not guaranteed to be the most
1067 current:
1068 http://we7u.wetnet.net/xastir/Counties/
1069
1070 We now have a script in the xastir/scripts directory called
1071 "get-NWSdata" which fetches the files you need and plops them
1072 into the correct directory and unzips them. Run that script
1073 as root. It requires "wget" to work. You may then try the
1074 NWS-TEST.log test shown below to verify proper operation.
1075
1076 --------------------------
1077 The files of interest are:
1078 --------------------------
1079
1080 NWSI Libraries:
1081 ---------------
1082 County Warning Area Boundaries (c_*.zip)
1083 Public Zone Boundaries (z_*.zip)
1084 Coastal and Offshore Marine Zones (mz*.zip, oz*.zip, hz*.zip)
1085 Fire Weather Zone Boundaries (fz*.zip)
1086
1087 County Libraries:
1088 -----------------
1089 AWIPS Counties (w_*.zip)
1090
1091 Unzip those files in the /usr/local/share/xastir/Counties/ directory and
1092 Xastir should find them and use them for weather alerts. Be sure to
1093 include the .shp, .shx, .and dbf.
1094
1095 Note that you can also use the county file as the background polygon
1096 filled map for drawing county lands and borders. Either make a link
1097 to these files from your maps directory, or copy the files there so
1098 that they show up in the Map Chooser.
1099
1100 To test whether the weather alerts are working (whether weather?), copy
1101 the NWS-TEST.log file to your ~/.xastir/logs/ directory and then bring it
1102 in to Xastir using the File->Open Log File option. Zoom in to the
1103 WA/OR/ID area (Pacific Northwest) and you should see a picture that looks
1104 like this: <http://www.eskimo.com/~archer/xastir/xastir-wx-alerts.png>
1105 Note that you may have to change the dates embedded in the file if Xastir
1106 thinks they are expired. See the notes at the top of that file. If the
1107 alerts are still active they should appear in the View->Weather Alerts
1108 dialog.
1109
1110 Australian rules Weather Alerts
1111
1112 http://wxsvr.aprs.net.au/implementation.html
1113
1114 Download audio files:
1115
1116 To play the wav files you will need a program such as vplay to play the
1117 audio file through your sound card.
1118
1119 Grab xastir-sounds.tgz at the ftp site you downloaded Xastir, or at
1120 ftp://ftp.tapr.org/software_lib/Linux/xastir/xastir-sounds.tgz
1121
1122 Un-tar the file. Put the sounds files into the
1123 /usr/local/share/xastir/sounds directory where Xastir can find them.
1124 (FIXME: thunder.wav is missing?).
1125
1126 Download FCC and/or RAC Database files:
1127
1128 If the FCC database is installed, a Search FCC Database button will
1129 appear in the station info box. If the RAC (Radio Amateurs of Canada)
1130 database is installed, a Search RAC Database button will appear for
1131 callsigns beginning with "VE" or "VA".
1132
1133 The download and installation of these is automated in the get-fcc-rac.pl
1134 script included with Xastir, but you may install them by hand
1135 individually if you wish as described here:
1136
1137 To use the FCC lookup:
1138 ----------------------
1139
1140 Download:
1141 http://wireless.fcc.gov/uls/data/complete/l_amat.zip
1142
1143 (The only file needed from this 87 Meg zip is the EN.dat file)
1144
1145 **** NOTE To use the data base file it must be sorted first!!! ****
1146
1147 unzip l_amat.zip
1148
1149 To sort the file, make sure you have plenty of disk space for this as
1150 the file is BIG!
1151
1152 cat EN.dat | /usr/bin/perl -pe 's/\r\r\n//g' | sort +4 -t \| > EN.dat.sorted
1153
1154 Install it in the xastir/fcc directory:
1155
1156 su
1157 mv EN.dat.sorted /usr/local/share/xastir/fcc/EN.dat
1158
1159
1160 To use the RAC lookup:
1161 ----------------------
1162
1163 Download:
1164 http://205.236.99.41/%7Eindicatif/download/amateur.zip
1165
1166 unzip amateur.zip
1167 mv AMATEUR.RPT /usr/local/share/xastir/fcc/AMACALL.LST
1168
1169
1170 Hiking trails from National Geographic's Topo or mapXchange:
1171 ------------------------------------------------------------
1172
1173 For those of you who may be familiar with National Geographic's Topo!
1174 program, there's a way to use the user-saved data (but not topo maps
1175 themselves) from within Xastir. Many users create TPG and/or TPO
1176 files in TOPO from GPS data and/or hand-drawn routes. They can then
1177 upload them to the mapXchange site, and in fact there are many hiking
1178 trails that one can download for free from that site. Okay, how to use
1179 them?
1180
1181 Go to <http://www.gpsbabel.org>. Go to the Project page and then the
1182 CVS page and follow the instructions for grabbing the CVS gpsbabel
1183 sources. Only CVS has the Topo version 3.x support, which was just
1184 recently added (May 2006). Follow their instructions for building/
1185 installing/using the program. It's a command-line program where you
1186 specify the input and output formats and filenames. Using this program
1187 you can snag the interesting data out of the files and convert it to
1188 GPX format. Once you have that, you can use the "gpx2shape" script to
1189 convert them to Shapefiles. Xastir can then use them as map files.
1190
1191
1192
1193WHERE TO FIND MORE INFO ON MAP DATUMS, ETC:
1194
1195 Geodesy:
1196 http://oceanservice.noaa.gov/education/geodesy/welcome.html
1197
1198 "Geodesy for the Layman"
1199 http://www.ngs.noaa.gov/PUBS_LIB/Geodesy4Layman/toc.htm
1200
1201
1202
1203MAP CACHING (WORKS WITH MOST ONLINE MAPS):
1204
1205 Map caching works in conjunction with the map download routines,
1206 which fetch maps from http or ftp addresses. The map caching features
1207 use functions found in Berkeley DB 4.0 library, AKA libdb (version 4.0
1208 or better), to create and manage a cache directory and a persistent
1209 database of information about the files in the cache directory. This
1210 directory defaults to ~/.xastir/map_cache. The files under this
1211 directory can be cleaned up or removed by hand at any time - the
1212 caching routines will simply download the maps and put new entries
1213 into the .db file.
1214
1215 Map files are saved with filenames that include the number of seconds
1216 since the Unix epoch. This allows the caching routines to easily
1217 determine the age of maps so that older cached maps can be deleted.
1218 This is currently (Dec 2004) controlled with a compile time maximum
1219 age setting. See map_cache.h for specifics and for brief
1220 documentation about all of the map_cache functions.
1221
1222
1223
1224DRAWING YOUR OWN MAPS USING XASTIR ITSELF:
1225
1226 The final result here will be ESRI Shapefile vector maps that
1227 you can then use within Xastir. You'll need Shapelib compiled
1228 into Xastir to make use of this feature (the private copy of
1229 Shapelib is fine for this).
1230
1231 Turn off Object Transmit first (Interface menu).
1232
1233 Place an object or item at the start location of your route.
1234
1235 Click on the "Move" button to active move mode, then move that
1236 object around the map. Once you're done you'll have a bunch of
1237 straight lines that depict the course.
1238
1239 Now bring up Station Info on that object and click on the Store
1240 Track button. If you've got Shapelib compiled in, you'll get a
1241 shapefile created with the track you just drew.
1242
1243 After you're done you can delete the object and then turn on the
1244 Object Transmit toggle again. You'll end up transmitting the
1245 deleted final position of the object for a few hours unless you
1246 kill/restart Xastir, but that's ok. Nobody will see it on their
1247 maps 'cuz it's a deleted object.
1248
1249 Look in ~/.xastir/tracklogs/ for the Shapefile. Copy it to your
1250 maps directory, changing the name on the three files as you
1251 like, then create a dbfawk file for it if you want to change how
1252 it is drawn in Xastir.
1253
1254 Another way would be to drive the course with a GPS and then
1255 download the track via Xastir/GPSman to create a Shapefile map.
1256
1257 Yet another way would be to drive it with an APRS rig and then
1258 Store Track as described above. You could also drive with
1259 GPS/Xastir (without APRS) to get a very detailed track and then
1260 save your own track.
1261
1262
1263
1264DRAWING SAR SEARCH SEGMENTS IN XASTIR:
1265
1266 Turn on "Draw" mode (togglebutton at the top of the main
1267 window). The cursor should change to the Measure/Draw symbol.
1268
1269 Using the middle mouse button, click on each vertice until you
1270 are almost done describing a polygon (don't close it yet). If
1271 you don't have a middle mouse button, clicking on BOTH mouse
1272 buttons at once will do it if you have "emulate third mouse
1273 button" enabled in your X-Windows configuration.
1274
1275 Go to Map->Draw CAD Objects->Close Polygon. The polygon will
1276 get completed, the area enclosed will be computed, and a dialog
1277 will pop up asking you for more information. You do not have to
1278 enter any information in this dialog, but a name of some type is
1279 helpful in order to be able to identify each segment when
1280 modifying/deleting/viewing these segments.
1281
1282 Note that these CAD Objects get saved in a file and reloaded
1283 each time you start Xastir, but they cannot currently be written
1284 out as a map file and used as a general map.
1285
1286 Note also that these CAD Objects don't get transmitted. They
1287 are currently for local display only.
1288
1289 The display of various kinds of data related to these segments
1290 can be modified in the Map->Draw CAD Objects menu. Modifying
1291 parameters for any segment is done in the
1292 Map->Draw CAD Objects->CAD Polygons dialog.
1293
1294 Click on the dashed line in the menus in order to separate that
1295 menu from the rest and allow you to keep the menu on the screen.
1296 This is very useful when drawing CAD Objects or changing
1297 display/filtering options.
1298
1299 Turn off "Draw" mode when you're done. The cursor should return
1300 to normal.
1301
1302
1303
1304SUMMARY OF DISTANCE/AREA/ANGLE CALCULATIONS:
1305
1306
1307 DISTANCE:
1308 ---------
1309 *) Haversine formula (2-parameter atan version) for computing
1310 distance between two points, for our general distance routines:
1311
1312 calc_distance()
1313 calc_distance_course()
1314 distance_from_my_station()
1315
1316 *) Haversine formula (2-parameter atan version) in "Measure" for
1317 both the X/Y offsets and the total distance.
1318
1319 Haversine formula is more accurate for shorter distances than
1320 spherical trigonometry calculations. Both methods are equivalent
1321 for longer distances. Both are Great-Circle calculations (as
1322 opposed to Rhumb-line or planar geometry). See the GIS FAQ for info
1323 on these methods. Dr. Math website mentions both of these and refers
1324 people to the same GIS FAQ.
1325
1326 Also note that the Haversine formula is ill-conditioned if the
1327 two points are antipodal (on opposite sides of the Earth). From the
1328 GIS FAQ: "but the error, perhaps as large as 2km (1 mi), is in the
1329 context of a distance near 20,000km (12,000 mi)." For our purposes
1330 that's just fine.
1331
1332
1333 AREA:
1334 -----
1335 *) Area of a spherical rectangle from Dr. Math's website for the
1336 "Measure" function. There are errors in their last two derived
1337 formulas. They have been notified of it. Our implemented code
1338 is correct.
1339
1340 *) The area calculation for CAD Object Polygons is probably not
1341 spherical, but closer to planar. It might take some doing to calculate
1342 the area of irregular polygons on a spherical surface. We use Greene's
1343 Theorem to compute the area based on the vectors. The lengths of each
1344 vector are computed via the Haversine formula, so it's not strictly a
1345 planar area calculation either. Somewhere in-between planar and spherical?
1346 This should be plenty good enough for areas that are less than 12 miles on
1347 a side (that's about where planar geometry starts to diverge from spherical
1348 trigonometry), perhaps also for somewhat larger areas than this due to the
1349 advantage of computing the vector lengths with the Haversine formula.
1350
1351
1352 ANGLE:
1353 ------
1354 *) Great Circle departure angle for the "Measure" function.
1355
1356 *) Great Circle departure angle for the calc_distance_course()
1357 function.
1358
1359 *) Dead-reckoning angle is essentially a Rhumb-line calculation
1360 (constant heading), with a few caveats:
1361
1362 We compute the next point along a constant angle based on the last
1363 position transmitted, the time elapsed, and the course desired.
1364 This then gets corrupted a bit either by the standard APRS grid that
1365 it has to snap to (and the position snapped to for the previous
1366 position) and/or by the relatively course angle available for Base-91
1367 compressed positions.
1368
1369 Standard APRS positions give 1-degree angular resolution but 60-foot or
1370 so grid points. Base-91 Compressed positions give something like 1 to
1371 3-foot grid points but less angular resolution (+/- 2 degrees. We
1372 can't win!
1373
1374 The end result is that we start off like a drunk sailer due to our
1375 short transmit times and the above limitations, then the angle smooths
1376 out as the time increases between the transmits. You can see this
1377 easily at zoom level 1 when you place an object, when you make a change
1378 to an object, or move an object (transmit rate goes up for any of these
1379 conditions).
1380
1381 Dead-reckoning effectively does a Rhumb-Line calculation as it is
1382 trying to do a constant heading. That means it is not the shortest
1383 distance between the points. I'm still trying to get my head around
1384 that last concept as it is counter-intuitive to someone versed in
1385 compass/maps on land and with shorter distances.
1386
1387 A Great-Circle route is the shortest distance between two points on
1388 a sphere, whereas a Rhumb-line is what you get if you move along a
1389 constant compass heading and is a bit longer.
1390
1391 We probably do not need to go to ellipsoid calculations for Xastir.
1392 Spherical calculations should be easily accurate enough for what we do.
1393
1394
1395
1396 ------------------------------------------------------------------------
1397APRS(tm) is a Trademark of Bob Bruninga
1398
1399Copyright (C) 1999 Frank Giannandrea
1400Copyright (C) 2000-2019 The Xastir Group
1401
1402
README.OSM_maps
1
2Copyright (C) 2000-2019 The Xastir Group
3
4
5 Using OpenStreetMap in Xastir
6 ------------------------------------------------------------------------
7 CONTENTS
8 Introduction
9 Map Types
10 Map Sources and Renderings (Styles)
11 Map Cache
12 Sharing Tiles
13 Map Definition Files
14 Copyrights and Licenses
15
16
17 Introduction
18 ------------
19 What, you may ask is 'OpenStreetMap' (OSM)? From the web site,
20 www.openstreetmap.org, we read that
21
22 "OpenStreetMap is a free editable map of the whole world.
23 It is made by people like you".
24
25 The tag line for the map is "The Free Wiki World Map".
26
27 Xastir will display bitmap versions of the OSM. There are multiple
28 renderings of the OSM to choose from and, by default, nine (9)
29 are available in Xastir.
30
31 Map Types
32 ---------
33 Xastir can use two different map types based on OSM: static and
34 tiled. Static maps are bitmaps that are least as large as the Xastir
35 window. Tiled maps are built up from 256x256 pixel images.
36
37 Static maps are also assembled from tiles, but the assembly occurs
38 at the server and the full size image is downloaded to Xastir. There
39 is a major disadvantage to static maps: even slight changes in map
40 position requires a new map download.
41
42 Most online maps, includng OSM, use map tiles that follow the "Web
43 Mercator" projection and tiling scheme. The Web Mercator
44 projection was first popularized by Google Maps. It is a modified
45 Mercator projection, using a hybrid spheroid/ellipsoid model that
46 is faster to compute. Wikipedia has a nice description:
47 https://en.wikipedia.org/wiki/Web_Mercator.
48
49 Map tiles are referred to by their zoom level, and row and column
50 number. Major providers (such as OSM, Google, Apple, Mapbox, and
51 Bing) and open source projects (such as Open Layers and
52 openmaptiles.org) use the same general tile numbering scheme,
53 although they vary in the specific sequence of zoom/row/column
54 numbers, and the supporting parts of the URL. The URL for a
55 particular tile looks something like this:
56 https://a.tile.openstreetmap.org/11/329/715.png
57 (tile server a, zoom level 11, column 329, row 715).
58 You can see more in this Wikiepedia article:
59 https://en.wikipedia.org/wiki/Tiled_web_map.
60
61 Bitmap images, whether static or tiled, are available for only a
62 limited number of zoom levels. There are 18 possible zoom levels.
63 It takes 2^zoom tiles to represent 360 degrees. Since the tiles are
64 256 pixel squares, there are 2^(zoom + 8) pixels in 360 degrees.
65
66 When the Xastir scale is different from a bitmap image's zoom
67 level, the bitmap image is scaled. However, scaled bitmaps tend to
68 look ugly. The scaled bitmap can have jagged lines, unequal pixel
69 sizes, and/or missing information. At best a scaled bitmap looks
70 blurred, but more typically some pixels will be enlarged into visible
71 blocks or compressed invisibility.
72
73 You can use the F4 key to adjust the Xastir scale to approximate the
74 OSM zoom level and refresh the display. (The key can be changed by
75 modifying a variable in the OSM definition (GEO) files.
76
77
78 Map Sources and Renderings (Styles)
79 -----------------------------------
80 The OSM data is rendered into tiles using different styles. The
81 easiest place to view and compare the styles is at
82 http://ojw.dev.openstreetmap.org/StaticMap/?mode=Style&
83
84 Tiles can be retrieved from a number of servers. The supplied map
85 definitions will download tiles from http://tile.openstreetmap.org/
86
87 Map Cache
88 ---------
89 Static maps are cached with other bitmap map images in the
90 ~/.xastir/map_cache/ directory.
91
92 Tiles are cached separately to make it possible to share them
93 with other applications. By default tiles are cached in
94 ~/.xastir/map_cache/OSMtiles/, but that location can be changed on a
95 by-style basis. The tiles are organized directories by style, zoom
96 level, and longitude:
97
98 ~/.xastir/map_cache/OSMtiles/
99 + <style1>/
100 | + <zoom>/
101 | <longitude>/
102 | + [0 ... (2^zoom - 1)].png
103 + <style2>/
104 ...
105
106 Note that 'longitude' is a tile number between 0 and (2^zoom -1).
107
108 Xastir downloads tiles as needed. If Xastir is compiled with
109 libcurl support, then it will check for updates to tiles that have
110 been cached for 7 days or more.
111 See http://wiki.openstreetmap.org/wiki/Tile_usage_policy
112
113 If a tile can not be downloaded for any reason or if the downloaded
114 file is not usable image, then the downloaded file (if any) will be
115 deleted and a red area will be shown in it's place on the display.
116
117 NOTE: Run Xastir at debug level 512 (-v 512) for more information
118 on download issues. At debug level 512, corrupt tile files
119 will not be deleted. Examining the contents of the corrupt
120 files can be informative.
121
122 If Xastir is compiled with libcurl support, then debug level
123 8192 will enable verbose output from libcurl.
124
125 WARNING: Corrupt tile files will not be deleted when running at
126 debug level 512. If you do not delete them manually before
127 restarting Xastir, then the first time Xastir displays the
128 tile it will be shown in red and then deleted from the
129 cache.
130
131
132 Sharing Tiles
133 -------------
134 The directory structure used to cache tiles is common to other
135 programs, though the style names are typically different. An
136 example of a program that can share tiles with Xastir is TangoGPS
137 (http://www.tangogps.org).
138
139 Here are some examples of how you can share tiles with TangoGPS
140 (the setup for other programs would be similar):
141
142 1) Setup a symlink at the style level of the caches
143 $ cd ~/.xastir/OSMmaps/
144 $ ln ~/Maps/<tangoStyleName>/ <xastirStyleName>
145
146 2) Change the Xastir map definition file to specify the TangoGPS
147 cache by changing the following variables (see the next
148 section for more information):
149 OSM_TILED_MAP-<tangoStyleName>
150 TILE_DIR /home/<user>/Maps
151
152 3) Share all styles and tiles by creating a symlink at the top
153 level of the cache. This also requires changing the Xastir
154 map definition files to specify the style names used by
155 TangoGPS:
156 $ cd ~/.xastir
157 $ rm -rf OSMmaps/
158 $ ln -s ../Maps OSMmaps
159
160
161 Map Definition Files
162 --------------------
163 OSM map type, style, server, cache directory, and function keys are
164 specified in Xastir GEO files. By default the files are located in
165 the /usr/local/share/xastir/maps/Online/ directory. The supplied
166 definition files have filenames of this form:
167
168 OSM_<name>.geo - static maps
169 OSM_tiled_<name>.geo - tiled maps
170
171 Where <name> is replaced with the style name. Note that <name> could
172 be any unique string and is not required to be the style.
173
174 Read the comments in the supplied definition files for more
175 information.
176
177
178 Copyrights and Licenses
179 -----------------------
180 Maps and tiles from the OpenStreetMap project are
181 Copyright OpenStreetMap and contributors, CC-BY-SA
182
183 http://www.openstreetmap.org/
184 http://creativecommons.org/licenses/by-sa/2.0/
185
186 in addition, tiles from CloudMade are
187 Copyright CloudMade, CC-BY-SA
188
189 http://www.cloudmade.com/
190 http://cloudmade.com/about/api-terms-and-conditions
191 http://cloudmade.com/terms_conditions
192
193 TopOSM tiles are a composite of CC-BY-SA and public domain data,
194 including MassGIS data. See
195 http://wiki.openstreetmap.org/wiki/TopOSM for more information.
196
197 Changing the Displayed Attribution
198 ----------------------------------
199
200 The licenses from OpenStreetMap and CloudMade require attribution
201 that is met, in part, by a label shown at the top left corner of the
202 map. Two label images have been provided, one shows icons and the
203 other shows black text on a white background.
204
205 You can change between the two label styles by changing a symlink:
206
207 $ cd /usr/local/share/xastir/maps/ # your installing may differ!
208 $ rm CC_OpenStreetMap.png
209 $ ln -s CC_OpenStreetMap_txt.png CC_OpenStreetMap.png
210 or
211 $ ln -S CC_OpenStreetMap_logo.png CC_OpenStreetMap.png
212
213
214 ------------------------------------------------------------------------
215
README.developers.md
1# Developer notes on creating releases
2
3Since the move to git, the old process we followed to push development
4snapshots and stable releases to SourceForge is no longer possible,
5nor especially helpful. With git and github, we are doing away with
6the concept of development snapshots, because one can always just
7download a tarball of the current repo state from github. We are also
8simplifying the stable release process, doing away with the difference
9between building a tarball release and building from a git clone.
10
11
12## Development snapshots
13
14Xastir migrated to git and github instead of cvs and sourceforge, and
15therefore creating "development snapshots" isn't necessary, because
16every commit is essentially a development snapshot that can be checked
17out by referencing its SHA-1 hash. Furthermore, github allows users
18to download code as a tarball directly without needing to clone, so we
19need not make a duplicate process for it.
20
21## Stable Releases
22
23Stable releases are the enduring, numbered releases that tend to make
24it into official package repositories (eventually). It is necessary
25to do more for these releases than just tag a repository state,
26because most package management systems require that a stable version
27of the code be downloadable, and don't support pulling
28versions-of-the-day out of source code management systems.
29
30Beginning with release 2.1.8 we stopped providing "configure" scripts
31and all the droppings from "bootstrap.sh" in release tarballs, and all
32users must now use "bootstrap.sh" as a first step in building Xastir.
33
34### Stable release process in a nutshell
35
36- Get master ready for a release.
37- Update version number.
38- Test everything.
39- Tag the repo.
40- Push the repo and the tag to Github.
41- Define a release on github and associate it with the tag.
42- Email interested parties that there has been a release.
43- Go back and update the version number on master and move on.
44
45### Stable release in gory detail
46
47- Make sure the current state of the master branch is what you want to
48 release. This should include all documentation updates and help
49 file updates. Only when the master branch is really ready to
50 release do you perform the following steps. Let's assume we're
51 creating release X.Y.Z, and that our Xastir clone and working
52 directory is in ~/XASTIR/Xastir.
53
54- By our long-standing convention, stable releases are always even
55 numbers in the last field of the release number, and odd numbers
56 mean "this is a development version." So whatever version number
57 appears in configure.ac on the master branch is going to be odd at
58 the moment, and you're going to pick X.Y.Z so that the new Z is
59 even.
60
61- Change the version number in configure.ac to X.Y.Z. Grep around the
62 code and remember to fix any other places where the old version
63 string appears (there should, at this point, not be any). Commit
64 this change:
65
66 git add configure.ac
67 git commit
68
69 Mention why you're doing this in the commit message (e.g., "Update
70 release version number"). Follow our commit log message guidance in
71 CONTRIBUTING.md
72
73- Run bootstrap.sh
74
75- Make sure the program builds:
76
77 mkdir build
78 cd build
79 ../configure [options]
80 make
81 cd ..
82
83 For safety's sake, you should remove the build directory now, too.
84
85 rm -rf build
86
87- You now have a working directory that should look
88 like what we want to distribute to users. Check that there are no
89 uncommitted changes:
90
91 git status
92
93 should tell you you're on master, and that you're one commit ahead
94 of "origin/master", with nothing to commit and a clean working tree.
95 If it says anything else, figure out why and get the current working
96 tree to the right state, with all important changes committed
97 properly.
98
99- Create an annotated tag marking the current state of the repo as
100 your new release:
101
102 git tag -a -m "Xastir Release X.Y.Z" Release-X.Y.Z
103
104- At this point, you are almost done, but all of your changes are only
105 in your local repository clone. Double check that it really works
106 by creating a tar file of your code from the tagged state, then try
107 to build it somewhere other than in your git checkout directory:
108
109
110 git archive --format=tar.gz --prefix=Xastir-Release-X.Y.Z/ Release-X.Y.Z > ~/src/Xastir-Release-X.Y.Z.tar.gz
111
112 This process will exactly reproduce what Github will be doing when
113 we're finished and actually create the release. Now make sure it builds:
114
115 cd ~/src
116 tar xzf Xastir-Release-X.Y.Z.tar.gz
117 cd Xastir-Release-X.Y.Z
118 ./bootstrap.sh
119 mkdir build
120 cd build
121 ../configure [options]
122 make
123
124- If the sanity check above worked, you can throw away the testing
125 tarball and unpacked code:
126
127 cd ~/src
128 rm -rf Xastir-Release-X.Y.Z Xastir-Release-X.Y.Z.tar.gz
129
130 - If the sanity check did NOT work, then you need to go back to
131 your original working directory and fix any problems you found.
132 Commit your changes, and then MOVE THE TAG so it points to your
133 NEW proposed release:
134
135 git tag -d Release-X.Y.Z
136 git tag -a -m "Xastir Release X.Y.Z" Release-X.Y.Z
137
138 Now go back and redo the sanity check. Repeat until the tarball
139 you created actually produces a working Xastir.
140
141- Now go back to your working directory and finish up by pushing the
142 code and tag to Github:
143
144 cd ~/XASTIR/Xastir
145 git push origin master
146 git push origin Release-X.Y.Z
147
148- Log in to github and go to the Xastir project releases page at
149 http://github.com/Xastir/Xastir/releases. Click the "Draft a new
150 release" button. Put your tag name (Release-X.Y.Z) into the
151 dialog box that says "Tag version" and Github will display a note
152 that it found a matching, existing tag. Fill in the rest of the
153 form:
154
155 - Give the release a name ("Xastir Release X.Y.Z") that will
156 appear prominently above it in the releases list.
157
158 - Enter some release notes in the large text box below the title
159 where it says "Describe this release." Ideally, you should list
160 release highlights (new features, bug fixes, etc.). Use
161 Markdown to pretty up the text, using the Preview tab to render
162 the markdown until it looks the way you want it to.
163
164 - Click "Publish Release."
165
166
167- You have finished releasing the code as far as Github is concerned.
168 This new release will now appear on the "Releases" page, along with
169 links to tar and zip files for the source code and the release notes
170 you just created. The fixed URL
171 https://github.com/Xastir/Xastir/releases/latest will always point
172 to the most recent release. The source code download link will be
173
174 https://github.com/Xastir/Xastir/archive/Release-X.Y.Z/Xastir-Release-X.Y.Z.tar.gz
175
176 with the obvious change for the zip version.
177
178- The last step here is to announce the new release in all the usual
179 places. These days it is probably enough to announce it on the
180 xastir mailing list, and possibly the aprssig and linux-hams groups.
181 No need to spam every ham radio mailing list. On the other hand,
182 the Xastir wiki does recommend sending notification of all releases
183 (both development and stable) to:
184
185 - xastir at xastir.org
186 - nwaprssig at nwaprs.info
187 - aprssig at tapr.org
188 - aprsnews at tapr.org
189 - macaprs at yahoogroups.com
190 - aprs at yahoogroups.com
191
192 and stable releases to:
193
194 - SAR_APRS at yahoogroups.com
195 - CSAR at yahoogroups.com
196 - aprs at mailman.qth.net
197 - linux-hams at vger.kernel.org
198 - linux at tapr.org
199 - linux-hams-using-ax25 at yahoogroups.com
200
201 This list is probably excessive nowadays, and probably contains a
202 lot of groups that are long gone.
203
204
205#### Getting master ready to move on
206
207All of this work got the X.Y.Z release done, which has now been
208finished and pushed to github. Now we need to change the version
209number on the master branch so that development versions show a
210different version than releases.
211
212
213- Make sure you're still in your master branch in your main clone:
214
215 cd ~/src/Xastir
216 git checkout master
217
218
219- Edit configure.ac and change the version number to be one higher than the
220 release you just did. So if you just pushed release 2.1.8, set the
221 version to 2.1.9.
222
223- Commit this change and push it to github.
224
225 git add configure.ac
226 git commit
227 git push
228
229 The release is done, and now the repo is ready for further development.
230
README.md
1# README
2------------------------------------------------------------------------
3
4 Please at least SKIM this document before asking questions. In fact,
5 READ IT if you've never successfully set up Xastir before. PLEASE!
6 READ IT! If you haven't read this file, and ask for help
7 expect to be told to READ the README file first! or RTFM :)
8
9 Contents:
10
11 0. Important notice
12 1. What is Xastir?
13 2. How do I get Xastir & Git usage
14 3. Quick startup
15 4. Upgrading
16 5. Identification notes
17 6. OS-specific notes
18 7. Gating weather alerts
19 8. Boring legal stuff
20 9. Mailing list
21 10. Documentation
22 11. Obtaining help
23
24------------------------------------------------------------------------
25
260. NOTICE
27
28 Please read this file carefully before trying to set up Xastir.
29 This software was developed to be used by licensed amateur radio
30 operators. You are responsible for any information transmitted
31 or propagated on any network.
32
331. WHAT IS XASTIR?
34
35 Xastir is an open-source project to create a free X11 graphical
36 APRS(tm) client. APRS(tm) use amateur radio and Internet services to
37 convey GPS mapping, weather, and positional data in a graphical
38 application. It has been developed by and for amateur radio
39 enthusiasts to provide real-time data in an easy to use package.
40
41 Xastir currently runs under several flavors of Linux and BSD Unix.
42 A few people are running Xastir on Solaris Unix, FreeBSD, Lindows
43 and Mac OS X, but there may be small changes necessary in order to
44 get Xastir to configure/compile on some systems. There are a few
45 notes below which may help in this task. Most of the developers use
46 Linux which makes it the best supported platform at the moment.
47
48 Xastir is an open-source project: Most sources, documentation, and
49 binaries are available under the GPL license, with a few modules
50 available under other open-source or public domain licenses.
51
52 More information on Xastir can be found here:
53
54 * http://xastir.org
55 * http://github.com/Xastir
56
57 including the latest releases, Git access (lets you
58 download the latest developers' code), and information on how to join
59 Xastir mailing lists. Note that you must be subscribed in order to
60 post to the mailing lists.
61
62 SmartBeaconing(tm) was invented by Tony Arnerich (KD7TA) and Steve
63 Bragg (KA9MVA) for the HamHUD project. They offer the algorithm to
64 other authors as long as proper credit is given and the term
65 SmartBeaconing(tm) is used. Thanks to Tony and Steve for that
66 contribution!
67
68 -- The Xastir Group.
69
702. HOW TO GET XASTIR
71
72 Xastir is currently developed at
73 <http://github.com/Xastir/Xastir>
74 You can get the latest version of Xastir from there.
75
76 You might try <http://xastir.org> for help and information,
77 particularly the Xastir mailing list (listed near the bottom
78 of the page).
79
80 * Git USAGE
81
82 Obtain the *very latest* version of Xastir under development by
83 using Git.
84
85 See the file README.GIT for more details.
86
87 * Release version tarballs
88
89 You can get the latest packaged release source code without git
90 at https://github.com/Xastir/Xastir/releases. Be warned that packaged
91 source tarballs may be quite old and not representative of the current
92 state of the project. We highly recommend not using this method unless
93 you have a specific reason to stick to official releases.
94
953. QUICK STARTUP
96
97 See [README.Getting-Started](README.Getting-Started) for a
98 relatively quick overview of how to build and use Xastir.
99
100 Check the Xastir wiki (http://xastir.org) for OS-specific guidance
101 for building Xastir on your system.
102
103 WINDOWS USERS: Please refer to the "README.CYGWIN" file for
104 specific instructions.
105
106 See the 'INSTALL' file in the Xastir source tree for detailed
107 information about configure.
108
1094. UPGRADING
110
111 Upgrading Xastir that has been built from a recent Git clone
112 is as simple as running "git pull" in the source tree and
113 recompiling.
114
1155. IDENTIFICATION NOTES
116
117 Packet radio modes, by their very nature, typically identify
118 themselves with every transmission. Xastir has a few features
119 targeted to people who used Xastir in demonstrations and other
120 broadcasts where Xastir itself is used over radio.
121
122 Xastir can auto-ID via voice if Festival is compiled in and/or via a
123 message splashed across the screen. It does this identification
124 every 9.5 minutes if enabled. These identification modes were
125 designed for broadcasting Xastir across fast-scan television (for
126 events perhaps). Set the "ATV_SCREEN_ID" variable to 1 to enable the
127 screen message, and "SPEAK_ID" variable to 1 to enable festival to
128 speak the message. These variables are in the
129 ~/.xastir/config/xastir.cnf file.
130
1316. OS SPECIFIC NOTES
132
133 [The OS-specific notes that were here were horribly outdated
134 and not maintained. That text has been removed. Please
135 see the Xastir wiki at http://xastir.org in the "Installation Notes"
136 section for OS-specific build guidance.]
137
1387. GATING WEATHER ALERTS, STATIONS, OBJECTS/ITEMS TO RF
139
140 ## Gating NWS Weather Alerts to RF:
141
142 If you wish to gate NWS weather alerts from the Internet onto RF, you'll
143 need to create a text file in the users directory as
144 ~/.xastir/data/nws-stations.txt
145 List each NWS station that you would like to transmit via RF. Wildcards
146 are implied for lengths of 3 or greater. Here's what an example file
147 looks like:
148
149 #
150 # Seattle, WA
151 SEANPW
152 #
153 # Portland, OR (any alert type)
154 PDX
155 #
156 # Pendleton, OR
157 PDTNPW
158 #
159 # Medford, OR
160 MFRNPW
161 #
162
163 All text should start at the beginning of the line.
164
165 Once that file is in place, you'll need to hook up to at least one
166 Internet server that is feeding you the weather alerts. You'll also need
167 to have at least one RF interface up and running with transmit enabled on
168 that interface. Make sure that "Interfaces->Disable Transmit: All" is not
169 selected. You should now be gating NWS weather messages to RF.
170
171 Turn on igate logging and look at that log file to view what you're
172 sending out via RF. Don't forget to turn off logging or set up
173 auto-rollover of the log files, else your hard drive might fill up with
174 logging info. Auto-rollover of log files is typically accomplished via
175 CRON.
176
177 ## Gating Stations, Objects/Items to RF:
178
179 The latest code also allows gating packets from specific stations to RF
180 using the above method (except object/item packets). You can also gate
181 objects/items to RF by name. The same wildcarding rules apply as listed
182 above. Callsigns or object/item names listed in this file are
183 case-insensitive, so they'll match any case in received packets.
184
185 Bob Bruninga, WB4APR, recommends gating these calls to RF:
186
187 SCOUTS, SATERN, KIDS, REDCROSS, FOUR-H, YOUTH, GUARD, MARS, JOTA
188
189 See his link: "Generic Callsigns for National Events" off this web page
190 for his current list of recommended callsigns:
191
192 http://www.aprs.org/aprs-jota.txt
193
194
1958. BORING LEGAL STUFF
196
197 Xastir is Copyright � by Frank Giannandrea. Xastir is
198 distributed according to the GNU General Public
199 License. There should be a copy of this license in the
200 file COPYING. If not, write to the Free Software
201 Foundation, Inc., 675 Mass Ave, Cambridge, MA
202 02139, USA.
203
204 As of Xastir 0.4.0 all changes made by the Xastir
205 development team to the Xastir source code and any related
206 files are Copyright (C) 2000-2019 The Xastir Group. The source
207 code will still be distributed according to the GNU General
208 Public License as Frank Giannandrea did in the past.
209
210 There is no warranty, implied or whatever. You use this
211 software at your own risk, no matter what purpose you put
212 it to.
213
214 You didn't pay for it, so don't expect magic.
215
216
2179. MAILING LIST
218
219 There are currently a couple of mailing lists about Xastir.
220 xastir@xastir.org is the one relevant for most users.
221
222 The xastir@xastir.org mail-list is dedicated to Bug
223 reports, technical questions, your thoughts or
224 suggestions on new features being added to Xastir, things
225 that should be removed or fixed, amazing problems that even
226 stump the guru's, etc... are what we want to see here. You
227 must be subscribed to the list in order to post messages.
228
229 To subscribe to the Xastir mailing list, send email to:
230 xastir-request@xastir.org In the body of the message,
231 put "subscribe xastir"; or go to
232 http://xastir.org and click on "XASTIR MAILING LISTS" (in the
233 "Resources" section near the bottom) to subscribe.
234
235 ### DO NOT SEND FRANK EMAIL ABOUT XASTIR ###
236
237 Frank is no longer developing the Xastir code (although
238 he does put a word in every now and then) so don't bother
239 e-mailing him. If you have a serious problem, email the
240 Xastir mailing list and it will get to the coders.
241
242 Please, before posting to this list, see what things are
243 like, and when you do post, read over your post for
244 readability, spelling, and grammar mistakes. Obviously,
245 we're all human (or are we?) and we all make mistakes (heck,
246 look at this document! ;).
247
248 Open discussion and debate is integral to change and
249 progress. Don't flame others over mere form (grammar and
250 spelling), or even substantive issues either for that
251 matter. Please read and follow the mailing list rules.
252
253 A second mailing list, xastir-dev@xastir.org is intended for
254 developer's discussion.
255
25610. DOCUMENTATION
257
258 We're trying to get the documentation up to date. If you
259 feel that anything is missing here, or that anything should
260 be added etc, please email xastir@xastir.org about it,
261 thank you.
262
26311. OBTAINING HELP
264
265 Please read the file FAQ, and make sure you've followed any relevant
266 instructions in INSTALL. If the problem still exists, feel free to
267 ask on the Xastir mailing-list, as described above.
268
269
270 ------------------------------------------------------------------------
271APRS(tm) is a Trademark of Bob Bruninga
272
273Copyright (C) 1999 Frank Giannandrea
274Copyright (C) 2000-2019 The Xastir Group
275
276
README.qt
1LATEST STATUS:
2--------------
3The File->Exit and Interface->Interface Control portions work. No other
4menu options have been implemented. It will connect to a server and display
5raw packets as they come in, but there are no maps, symbols, etc. There's
6not any packet decoding either. The networking is both IPv4 and IPv6
7compatible. It compiles/runs fine and should be very cross-platform at
8this stage (must be compiled on each one though).
9
10
11INITIAL PREPARATION:
12--------------------
13Qt4 development tools are required for compiling -or- GUI design. For SuSE
14Linux they are in the "libqt4-devel" RPM package. This includes "qmake",
15"uic", and "designer" (Qt4 Designer).
16
17You'll also need the gcc-c++ compiler installed. For SuSE Linux that's in
18the "gcc-c++" package.
19
20You can do manual builds or builds from within Qt Creator. In general I
21describe manual builds here.
22
23
24MANUAL BUILD:
25-------------
26 cd Xastir/src/qt
27 ./build.sh
28
29
30RUN THE EXECUTABLE:
31-------------------
32 cd build
33 ./xastir_qt &
34
35
36GENERAL QT4 NOTES:
37------------------
38*) Do an out-of-source build to keep the source code directory pristine.
39 Perform all configure/compile commands from inside a "build" directory:
40
41 mkdir -p build
42 cd build
43
44*) Use QT 4 Designer to create the graphical elements. Each
45 dialog/window gets written out to a separate *.ui file.
46
47 designer &
48 Open->mainwindow.ui
49
50*) Manual compile of ".ui" files: Use the "uic" compiler to compile
51 .ui files to .h files: Note: The "qmake" command below does this
52 automatically!
53
54 uic -o *.h *.ui
55
56*) moc -o mydialog.moc mydialog.h
57
58*) Use "qmake -project" to create the initial .pro file for the
59 os-independent build system.
60
61*) Include the .h files in the .cpp files for your C++ program.
62
63*) Use "qmake" to build the project.
64
65*) "make"
66
67Examples: (Generic, not for the Xastir project:
68 uic -o ui_mydialog.h mydialog.ui
69 moc -o mydialog.moc mydialog.h
70 qmake -project
71 qmake
72 make
73
74
75Once the project branch has been checked-out, these steps issued
76from the command-line should compile it:
77
78 cd Xastir/src/qt
79 mkdir -p build
80 cd build
81 qmake ../xastir-qt.pro
82 make
83
84
85Remember also that the *best* way to do multiple builds of an
86autoconfiscated code (and a qmake-ified code) is do do out-of-source
87builds, not in-source builds. Doing so keeps the source tree
88unpolluted with build droppings. Thus,
89
90 mkdir ~/builds/xastir-qt -p
91 cd ~/builds/xastir-qt
92 qmake ~/src/xastir/qt/xastir-qt.pro
93 make
94
95will build the qt stuff, and
96
97 mkdir ~/builds/xastir-motif -p
98 cd ~/builds/xastir-motif
99 ~/src/xastir/configure
100 make
101
102will build the normal build, and neither will interfere with the
103other.
104
105
106libqt4-devel rpm provides these binaries (as well as include files
107and others). Those with '*' are the ones we currently use:
108* /usr/bin/designer
109 /usr/bin/lconvert
110 /usr/bin/linguist
111 /usr/bin/lrelease
112 /usr/bin/lupdate
113* /usr/bin/moc
114 /usr/bin/pixeltool
115 /usr/bin/qdbuscpp2xml
116 /usr/bin/qdbusxml2cpp
117 /usr/bin/qdoc3
118 /usr/bin/qhelpconverter
119 /usr/bin/qhelpgenerator
120* /usr/bin/qmake
121 /usr/bin/qt3to4
122 /usr/bin/qttracereplay
123 /usr/bin/qvfb
124 /usr/bin/rcc
125* /usr/bin/uic
126 /usr/bin/uic3
127
128
129SPECIFIC NOTES:
130---------------
131
132
133Here's what Qt Creator does when you do a Build->Clean All:
134-----------------------------------------------------------
135Starting: /usr/bin/make clean -w
136make: Entering directory `/home/src/we7u/xastir/xastir-qt'
137rm -f moc_xastir.cpp
138rm -f ui_mainwindow.h
139rm -f main.o mainwindow.o moc_xastir.o
140rm -f *~ core *.core
141make: Leaving directory `/home/src/we7u/xastir/xastir-qt'
142Exited with code 0.
143
144
145Here's a Qt Creator Build->Build All command:
146---------------------------------------------
147Configuration unchanged, skipping QMake step.
148Starting: /usr/bin/make -w
149make: Entering directory `/home/src/we7u/xastir/xastir-qt'
150/usr/bin/uic mainwindow.ui -o ui_mainwindow.h
151g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o main.o main.cpp
152g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o mainwindow.o mainwindow.cpp
153/usr/bin/moc -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. xastir.h -o moc_xastir.cpp
154g++ -c -m64 -pipe -g -Wall -W -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o moc_xastir.o moc_xastir.cpp
155g++ -m64 -o xastir-qt main.o mainwindow.o moc_xastir.o -L/usr/lib64 -lQtGui -L/usr/lib64 -L/usr/X11R6/lib64 -lQtNetwork -lQtCore -lpthread
156make: Leaving directory `/home/src/we7u/xastir/xastir-qt'
157Exited with code 0.
158
159
160Here's a Qt Creator Build->Run qmake (I must have something misconfigured in my project):
161-----------------------------------------------------------------------------------------
162Starting: /usr/bin/qmake /home/src/we7u/xastir/xastir-qt/xastir-qt.pro -spec linux-g++-64 -r CONFIG+=debug QMLJSDEBUGGER_PATH=/usr/share/qtcreator/qml/qmljsdebugger
163Exited with code 0.
164
165
166<I'm pretty sure that Curt's notes below assume that there are
167left-over droppings from a previous qmake on another system. None of
168those files are still in CVS, so they shouldn't be relevant: you
169should always need to do a qmake from a fresh check-out, and you are
170highly advised to do an out-of-source build as noted above>
171
172LINUX:
173------
174For Linux: Had to run "qmake;make" on a 32-bit system because all the files
175had been created on a 64-bit system. On a 64-bit system just run "make".
176
177
178
README.sudo
1SUDO Instructions:
2------------------
3
4 "sudo" is a command that can make your life much simpler. After you set
5 it up that is! By adding a couple of lines to your /etc/sudoers file
6 (using the "visudo" command to edit this file), you'll be able to run a few
7 commands as root without having to type the root password each time.
8 Another thing you can do at that point is automate the entire
9 "git pull; mkdir -p build; cd build; ../configure; su; make install"
10 process via a script. Here's how to set all of this up:
11
12 Type "su" to become the root user, then type "visudo". This will bring up
13 the "vi" editor on the /etc/sudoers file. If you'd like to learn more
14 about what I'm going to describe, type "man sudoers" in another window and
15 read about this file. Another man-page that is useful here is the "man
16 sudo" page.
17
18 Back to the editing: There's a section in there for user alias. Mine is
19 labeled "# User alias specification". Add a line there that reads like
20 this:
21
22 User_Alias XASTIR = username1, username2, username3
23
24 where username1, etc, are valid usernames that you wish to be able to do
25 Xastir installs. For instance you might have:
26
27 User_Alias XASTIR = mikey
28
29 Next, add a line near the bottom that reads like this:
30
31 XASTIR ALL = NOPASSWD: /bin/chmod, /usr/bin/make
32
33 Now write out and close the file. At this point the "mikey" user will have
34 root permissions when he/she runs the commands "/bin/chmod" or
35 "/usr/bin/make". Make sure the paths to those programs are correct for
36 your system.
37
38 Exit from "su" so that you're a regular (non-root) user again.
39
40 Now, in the "xastir" source directory (mine is in "~/src/xastir"), create a
41 script that reads like this. I named my script "update-xastir" but nearly
42 any name for the script will do:
43
44 -----------------cut here--------------------
45 #! /bin/sh
46
47 git pull
48 ./bootstrap.sh
49 mkdir -p build
50 cd build
51 ../configure
52 sudo make clean
53 sudo make install
54 sudo chmod 4755 /usr/local/bin/xastir
55 -----------------cut here--------------------
56
57 Now type "chmod u+rwx update-xastir" to make that script executable.
58
59 Actually, we've just created a script for Xastir that implements the above
60 and called it "update-xastir". Do a "git pull" to get it.
61
62 Try out the script. Type:
63
64 ./update-xastir
65
66 It should run through the entire update/configure/make/install process for
67 Xastir. Remember to either change to the proper xastir directory before
68 running it, or add a "cd" command at the beginning of the script so that it
69 will run in the proper directory in all cases. If you add the proper "cd"
70 command you can copy the script to /usr/local/bin and then run it as
71 "update-xastir" from anywhere.
72
73 Windows users: You may need to remove the "sudo" keyword on each line to
74 have it work properly for you.
75
76 A note from Gerry Creager as to another way to set up the sudoers file:
77
78 "I now consider it a good idea to add the "gifted" users to the 'wheel'
79 group and then solely enable wheel in /etc/sudoers; I've seen a recent
80 article also supporting this."
81
82
83 ------------------------------------------------------------------------
84Copyright (C) 1999 Frank Giannandrea
85Copyright (C) 2000-2019 The Xastir Group
86
87