Mapping metal-detector field data as map overlay.

Just add data at the end and the program maps and colour-codes/annotates each site (whose GPS coordinates have been recorded along with the tentative description/dating). I've simply shifted/scaled the GPS Northings and Eastings so they fit the graphic window I've used. For serious use the map ( I used a Google maps grab) needs to be properly scaled and positioned.



    '   ++++++++++++++++++++++++++++++++++++++++
    '   ++         findsMap5.bas              ++
    '   ++++++++++++++++++++++++++++++++++++++++

    nomainwin

    graphicbox #demo.gb1,       10, 30, 520, 600
    statictext #demo.st1, "ST", 10, 10, 600,  20    '

    WindowWidth  =560
    WindowHeight =710


    open "Archaeological finds map" for window as #demo

    #demo "trapclose [quit]"

    #demo.gb1 "down ; size 1"
    #demo.gb1 "font arial 8 bold"

    loadbmp "map", "map.bmp"
    #demo.gb1 "drawbmp map 0 0"
    #demo.gb1 "flush"

    timer 1000, [moveOn]
    wait
[moveOn]
    timer 0

    finds   =  9

    pwide   =500
    gwide   =400                                    '
    pbottom =500
    gdown   =450

[getData]
    read type, gw, gn
    if type =999 and gw =999 and gn =999 then wait

    gpx =int( ( gw -17500) * 7)
    gpy =int( ( gn -90620) * 2)

    #demo.st1, "gpx="; gpx; " gpy= "; gpy; " "; "type = "; type

    #demo.gb1 "place "; gpx; " "; gpy

'   NB '   <<<<< There HAS to be no space before '\' in the following...
    select case type
        case 0
            #demo.gb1 "color 0 0 0 ;   backcolor red ;\+"
        case 1
            #demo.gb1 "color 0 0 255 ; backcolor cyan ;\@"
        case 2
            #demo.gb1 "color cyan ;    backcolor 80 50 255 ;\#"
        case 9
            #demo.gb1 "color 255 100 100 ; circle 1 ; circle 10 ; circle 20"
        case 28
            #demo.gb1 "color white ;   backcolor 80 255 80 ;\N"
    end select

    'timer 200, [continue]                       '   <<<<< Without the delay the screen items are not drawn!
    'wait
    '[continue]
    'timer 0

    goto [getData]

    #demo.gb1 "flush"

    wait  '

[quit]  '
    close #demo  '
    end  '

'Uncorrected gps co-ords finds data ( type, X, Y )

'16 May 14
'AF field data
DATA 0,  17516, 90644    'Thimble Pt
DATA 0,  17531, 90644    'leaf
DATA 0,  17544, 90641    'bullet case end
DATA 28, 17529, 90644    'Naval Button front

'
'31 May 14
DATA 0,  17527, 90706    'stud
DATA 0,  17526, 90697    'Bottle Top
DATA 0,  17523, 90741    '1d 1924 ?
DATA 0,  17515, 90815    '4h r d Button
DATA 0,  17560, 90690    'Button -loop

'
'7 June '14
data 1,  17510, 90805   'old ZX81 computer
data 2,  17550, 90710   'cigarette lighter
data 9,  17520, 90660   'ring pull

data 999, 999, 999      '   sentinel to show all data has been read.

As always, feel free to email me for help..