View Single Post
  #19   Report Post  
Old July 6th 05, 06:27 PM
Fabian Kurz
 
Posts: n/a
Default

J Tabor wrote:
The primary prefix is not neccesarily included in the list for all

prefixes because it might be a subset of the 'all prefixes' list.

FB, understand about the "D" and even Eu Russia. Here are the ones I was
thinking about:
below do not include "primary prefix" in alts list, as others
Easter I.: 12: CE0Y:


Well, here the list only has
3G0,CA0,CB0,CC0,CD0,CE0,XQ0,XR0;
_but_ any CE0-call is a priori Easter Island, _except_ when the first
letter of the suffix is X (CE0X, covered by San Felix I.) or Z (CE0Z,
Juan Fernandez Isl.). So it enough to assign CE0 to Easter Island and
for the exceptions, CE0Z and CE0X there are special entries which match
with more characters.

Malpelo I.: 09:


Malpelo I.: 09: 12: SA: 4.00: 81.10: 5.0: HK0/m:
5J0M,5K0M,HJ0M,HK0M,HK0TU;

Well, all calls from Malpelo Isl. have a M as the first letter of the
suffix; I am not sure why the primary prefix is HK0/m and not HK0M.

Argentina: 13: LU:


Same thing as with DL: the list includes "L", and all L*-calls, except
those covered by other entries (like Norway, LA, LB, ..., LN) count as
Argentinia.

Macquarie I.: 30: VK0M:


Same as CE0. The list contains VK0 only, so any VK0 is Macquarie,
except when it's covered with more letters by another entry (in this
case VK0IR/HI for Heard Island).

Norfolk I.: 32: VK9N:


Ditto, but VK9 instead of VK0.

South Shetland: 13: VP8/h:


Well, that is because South Shetland is not a political country and it
doesn't have an ITU allocation. So the full callsign must be known to
tell that it is from VP8/h. In the list there are only full callsigns;
for example DP1KGI. DP = extraterrestian German station, it does not
indicate the locaton (except that it is not on German territory).

BELOW doesn't have either primary in alts list
Antarctica: 13: CE9:


Same thing.

The algorithm is to look for the longest matching prefix;


So am guessing this is how you handle the entire call in the cty.dat file
when the call is not in "home" area.


Actually first the prefix after the WPX rules is determined by the wpx
subprogram, in case there is a "/" in the callsign. If so, only the
DXCC of the prefix will be searched for. Otherwise the full callsign.

The full calls in the list, of course, serve very well for its intended
purpose - contesting and loggers. However, they work not at all for a true
"prefix search". i.e. when a user types prefix then there is a conflict
between the true country prefix and the call not in home area.
For example:
France: 14: F: 4U1SCO...
--
user types 4U1, -- and no more -- does he get ITU or does he get France?
Yes, he would want ITU, but of course depends on how code is written?


Well, 4U1 alone will not match, because it is tested against 4U1ITU,
4U1VIC etc, and the callsign to be tested has to be longer or of equal
length as the minimum prefix which it is tested against. 4U1 will not
match against either of the given full 4U1-calls.

And I think this behaviour is just right, because 4U1 could be ITU, UN
HQ, USA (4U1WB) and so on.

OK, I admit it, I've been working on how to do prefix lookup for years.
Many, many folks on here more capable than me. G


That is why I make my programs open source and publish it under the
GPL, so anyone can take advantage of it by using the code for own
projects (provided the source is kept open), or just take ideas and
inspirations...

It seemed the real best prefix search would be using the international
allocation list. But that isn't so good either. Thus the cty.dat type lists
of active prefixes is superior in many ways.


The international allocation list of the ITU doesn't help for figuring
out the DXCC entity, because that is just an invention of the ARRL.
The ITU only knows political countries, and for example UA, UA9
are the same for the ITU list.

An option would be to use the official ARRL DXCC country list,
maintained by K2DI. It is actually about as easy/difficult to parse as
K1EA's list, and also contains deleted DXCCs.. However I sticked with
K1EA, mainly becuase it knows a lot of exceptions.

Thanks,
Jim - KU5S


73,
--
Fabian Kurz, DJ1YFK * Dresden, Germany * http://fkurz.net/