Hi John,

Thanks for the suggested enhancement. Before we get to more detailed review, perhaps you can describe how you handle 4-character locators that span include more than one US state.

        -- Joe, K1JT

On 11/18/2021 1:12 PM, John Korpal via wsjt-devel wrote:

  Grid Locator to State Mapping Enhancement

The following is a description of the enhancement to WSJT-x -2.5.2 that maps the grid locator in the message to be mapped to the state located in that grid.


    Why

The grid to state mapping helps the operator to know what state are located within that grid. This helps when the operator is working on WAS for that band. He then knows which stations he needs to focus on and which ones he can work later.


    How does the mapping work?

There is a grid to state file called grid.dat. it is in the same format as the cty.dat file. This grid.dat file is read into two grid tables (gridPrefix and gridState). The first two characters of the grid locator is the two characters (A-Z) and is refer as the grid prefix. The second two characters are numbers (0-1) and are refer as the grid index. When a message is received with a grid locator in the message the grid prefix is used to perform a binary search of the gridPrefix table.  This table is small (currenly only 25 entries) so the search is fast. This finds a one of the indexes for the second table the gridState table. The second index is obtained from the grid index of the grid locator. The gridState table contain string of the states that as within that grid.

#define maxPrefix 25 //NJ0A

#define maxIndex 100 //NJ0A

QString gridPrefix [maxPrefix];        //NJ0A

QString gridState [maxPrefix] [maxIndex];   //NJ0A

int gridNumPrefix; //NJ0A


    What has changed

The following files were added to WSJT-X-2.5.2

1.grid.dat

The following files were modified to WSJT-X-2.5.2

2.CMakeList.txt

a.Grid.dat was added

3.Logbook/AD1CCTY.cpp

a.Add gridPrifix and gridState tables.

b.Read in the grid.dat file into gridPrefix and gridState table

c.Add member findState that will parse the grid locator to state.

4.Logbook/ADQCCTY.hpp

a.Add findState to class

5.Widgets/displaytext.cpp

a.In displayDecodedText make call to logbook.contries()->findStat(dxGrid)

b.Add state to message

6.Configuration.ui/Configuration.cpp/Configuration.hpp

a.Added two switches to turn on/off this feature.

b.

Graphical user interface, text, application, email Description automatically generated

A picture containing application Description automatically generated


I have fork the of the current wsjtx-2.5.2 into my branch (jlkorpal/wsjt). Your can review the changes there. Also I have build packages for MAC and window in my source forge account (jlkorpal) https://sourceforge.net/projects/jlk-wsjtx/files/ <https://sourceforge.net/projects/jlk-wsjtx/files/>. Another ham (K6FA) and I have been running the enhancement for close to two years and have seen no issue today.


I wanted to run this by the group before request a merge.

John (NJ0A)




_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel



_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to