That process looks like it would work, it's pretty vague though.
Saving and loading maps: You can use the FILE COMMANDS:
OPEN TO WRITE
WRITE FILE
OPEN TO READ
READ FILE
CLOSE FILE
To save each segment's type and locations. For example, if all you needed to save was a segment's location and an ID telling what type it is, you could use something like this: (untested example)
function SaveLevel(Filename$)
open to write 1,Filename$
for c=1 to array count(Segments(0))
write file 1,Segments(c).XPos
write file 1,Segments(c).YPos
write file 1,Segments(c).ID
next c
close file 1
endfunction
function LoadLevel(Filename$)
open to read 1,Filename$
for c=1 to array count(Segments(0))
read file 1,Segments(c).XPos
read file 1,Segments(c).YPos
read file 1,Segments(c).ID
`[Make a segment with this info]
next c
close file 1
endfunction