Create your own maps
You're supporting an event and want to draw a custom map to use? There are ways.
Download a GPS track
TBD. We used to recommend GPSMan, but none of our current users use
this anymore. If you can get your GPS data pulled off into a GPX
file, there are many ways to convert this into a shapefile. See
Map Converters, as this is just the sort of job that ogr2ogr
lives for. We also have a Helper Script called "gpx2shape" that
might do the trick for you.
Have someone travel a route and save their APRS track log
You can use Xastir's "Save Track" feature to create a shapefile map of an APRS station's track log.
You can travel along a given route (or have an APRS co-conspirator do so) transmitting APRS packets and observe the track on Xastir's display. When the route is complete, right-click on the station's icon, select "Station Info", and click the "Store Track" button.
A shapefile named
WeekDay_Month_Day_Hour_Min_Sec_TZone_Year_CALLSN-SSID_APRS_Trail_Red.shp and
its associated DBF and PRJ files will be created in the
.xastir/tracklogs directory of your home directory.
Move all the files with that base name to your maps directory (renaming them if needed) and create a dbfawk file to go with it.
BEGIN {dbfinfo="Credits:DateTime";dbffields="Credits:"}
BEGIN_RECORD {key=""; lanes=4; color=12; name=""; filled=0;
pattern=1; display_level=8192; label_level=32; symbol=""}
Give this file the same name as the others, but with a ".dbfawk" extension. This specific DBFAWK will make thick, red lines. Customize it as needed.
You just made a map for APRS using APRS.
You can do the same thing with objects
Right click on the map where you want your shapefile to start, choose "Object/Item->Create" to get started.
Select the "Move" button at the top of the map.
Using your mouse, left-drag your object to a new point. Keep doing that until your course is mapped out.
Deselect the "Move" toggle button at the top.
Right-click on your object, select "Station Info" and save the track. From here it's just as if you'd saved an APRS track.
Note
If you're transmitting these objects and your packet is digipeated, you may find your object moving back to a prior position. It is best if you do this work with transmit disabled for objects, which can be done by selecting the "Disable Transmit: Objects/Items" in the Interface menu.
Use Xastir and one of its scripts to create point maps from objects
You can also use objects to create point shapefiles
- Turn off object transmission using Interface->Disable Transmit:Objects
- Put objects where you want. Set the display symbol as you like it.
- run the "object2shp.pl" script in the scripts directory to generate
a shapefile. If your install is the typical one, this script is in
/usr/local/share/xastir/scripts/object2shp.pl:
This requires the four shapelib utilities "dbfcreate", "shpcreate", "shpadd", and "dbfadd" that should come with shapelib./usr/local/share/xastir/scripts/object2shp.pl ~/.xastir/object.log myshape - EXIT XASTIR
- REMOVE ~/.xastir/config/object.log
- move "myshape.shp," "myshape.shx," and "myshape.dbf" to your maps directory.
- restart xastir.
- select your newmap in the map chooser.
Creating maps in this way is basically just a scripted version of the manual map generation technique below.
Use shapelib tools manually
object2shp.pl is just a perl script that runs shpcreate, dbfcreate, shpadd, and dbfadd using coordinates taken out of Xastir's object log. You can skip the object creation step and just make maps using these tools yourself.
An example creating mileposts for a marathon
rm -f posts.shp posts.dbf
shpcreate posts point
dbfcreate posts -n ID 8 0 -s CFCC 3 -s NAME 30
shpadd posts -74.0570 40.6025
dbfadd posts 1 'X\m ' Start
shpadd posts -74.0443 40.6065
dbfadd posts 2 'X\m ' 1M
shpadd posts -74.0353 40.6093
dbfadd posts 3 'X\m ' 2M
shpadd posts -74.0268 40.6260
dbfadd posts 4 'X\m ' 3R
shpadd posts -74.0200 40.6277
dbfadd posts 5 'X\m ' 3G
shpadd posts -74.0270 40.6252
dbfadd posts 6 'X\m ' 3B
shpadd posts -74.0197 40.6395
dbfadd posts 7 'X\m ' 4R
shpadd posts -74.0203 40.6388
dbfadd posts 8 'X\m ' 4BG
shpadd posts -74.0077 40.6508
dbfadd posts 9 'X\m ' 5R
shpadd posts -74.0083 40.6503
dbfadd posts 10 'X\m ' 5BG
shpadd posts -73.9957 40.6623
dbfadd posts 11 'X\m ' 6R
shpadd posts -73.9962 40.6617
dbfadd posts 12 'X\m ' 6BG
shpadd posts -73.9850 40.6743
dbfadd posts 13 'X\m ' 7R
shpadd posts -73.9858 40.6738
dbfadd posts 14 'X\m ' 7BG
shpadd posts -73.9782 40.6865
dbfadd posts 15 'X\m ' 8M
shpadd posts -73.9597 40.6890
dbfadd posts 16 'X\m ' 9M
shpadd posts -73.9573 40.7007
dbfadd posts 17 'X\m ' 10M
shpadd posts -73.9622 40.7122
dbfadd posts 18 'X\m ' 11M
shpadd posts -73.9515 40.7230
dbfadd posts 19 'X\m ' 12M
shpadd posts -73.9520 40.7345
dbfadd posts 20 'X\m ' 13M
shpadd posts -73.9525 40.7465
dbfadd posts 22 'X\m ' 14M
shpadd posts -73.9403 40.7503
dbfadd posts 23 'X\m ' 15M
shpadd posts -73.9578 40.7587
dbfadd posts 24 'X\m ' 16M
shpadd posts -73.9556 40.7675
dbfadd posts 25 'X\m ' 17M
shpadd posts -73.9465 40.7808
dbfadd posts 26 'X\m ' 18M
shpadd posts -73.9372 40.7935
dbfadd posts 27 'X\m ' 19M
shpadd posts -73.9272 40.8047
dbfadd posts 28 'X\m ' 20M
shpadd posts -73.9343 40.8142
dbfadd posts 29 'X\m ' 21M
shpadd posts -73.9453 40.8050
dbfadd posts 30 'X\m ' 22M
shpadd posts -73.9525 40.7923
dbfadd posts 31 'X\m ' 23M
shpadd posts -73.9630 40.7810
dbfadd posts 32 'X\m ' 24M
shpadd posts -73.9720 40.7696
dbfadd posts 33 'X\m ' 25M
shpadd posts -73.9811 40.7683
dbfadd posts 34 'X\m ' 26M
shpadd posts -73.9763 40.7720
dbfadd posts 35 'X\m ' Finish
The shpcreate command creates an empty shapefile of type "point". The dbfcreate command creates an empty DBF file with a signature that happens to match the "tgrlpt.dbfawk" file in the config directory, which was augmented to treat any CFCC value that is four characters starting with "X" as an APRS symbol expressed as symbol table, symbol, and overlay. These dbfadd lines all have 'X\m ' for that field, and so create symbols from the secondary ("\") symbol table, symbol "m", and no overlay (the signpost symbol).
Each shpadd run adds a single longitude/latitude point to the shapefile, and the following dbfadd adds a mile marker with a "signpost" icon and the point name.
You can do the same thing for line maps
The previous example creates a point map, but it is possible to create
line shapefiles or even polygon shapefiles the same way. You would
instead use shpcreate filename arc to create the line file, and each
shpadd command would have the complete list of longitude/latitude
pairs for the line.
Convert an old "Overlay" ".pos" file to a shapefile
This one's just for nostalgia: Bob Bruninga had added a feature to his APRSDOS program to "overlay" point data on the map using a format he called MAP-OVERLAY files which were just text files in a rigid format with the file extension ".pos" or ".wes".
.pos files consist of lines of text. The format is a name of up to nine characters, an exclamation point, and then a lat/lon pair with symbol embedded just like an APRS posit, followed by a comment. For example, Bob's old "RSHACKS.WES" file (documenting Radio Shack locations) has lines like:
RS!3252.00N\11144.00Wh#01-3457
RS!3318.00N\11150.00Wh#01-3466
RS!3120.00N\10933.00Wh#01-3463
Each of these lines is defining a point with the name "RS", with symbol "\h" (secondary symbol table, "h", no overlay, which translates to the "ham store" or "store" symbol).
Xastir ships with a script called pos2shp.pl that can convert those files to shapefile. It is nothing more than a scripted use of shpcreate/dbfcreate/shpadd/dbfadd as described above.
Since you have to make the file in a rigid format and embed the APRS symbol, you might as well just use the manual process described above and save yourself a conversion step. But if you already have a .pos file, you can convert it with:
/usr/local/share/xastir/scripts/pos2shp.pl file.pos myshape
to create a file called "myshape.shp" and its friends from an old APRSDOS overlay file called "file.pos".
Welcome to Xastir
Installation
Starting up for the first time
Configuration
General
Setting up Xastir
-
Individual configuration dialogs
Radio
Radio Interface Types
APRS-IS Internet Server interface
Weather interfaces
Weather station interface types
Mobile or portable stations
Maps
-
-
Supported Map Types
-
Offline maps
-
Online maps
-
-
Operation
- Operating Xastir
- APRS Objects
- Using APRS Paths
- Search and Rescue
- Helper Scripts
- Keyboard And Mouse operations
- Search for a Location
- Send Message Dialog
- Server Ports
- Weather Alerts
Linux Notes
Future
Developers and Contributors
Wiki contents Copyright © 2026 The Xastir Group