========
Timeline
========
This is a rough list of the major tasks I've undertaken over the years
at Laser-Scan.
.. contents::
Cartographic technologies (1980-1988)
=====================================
* Created a coherent company wide set of utilities from a variety of
individual programmers' PDP-11 libraries.
* Substantial work on Laser-Scan's original PDP-11 based LITES
cartographic editor, including extending it to use colour displays, as
such technology became available.
* Wrote a VMS based digitising system for MCE(RE), and later extended it
for OS(GB). At the time, it was cost effective to have multiple
digitising tables (20 or more) connected to a single computer, without
screens. Many of the ideas in the digitising system were later adopted
for LITES2, the second generation cartographic editor.
* Liaison officer to OS(GB) for two years, whilst OS developed its
in-house digital requirements.
* Liaison officer to MCE(RE).
* Wrote software to transfer data between CADAM systems on IBM
mainframes and INFORMAP systems on VMS, for Wessex Water Authority.
* Translated about 5 inches of (mostly) PL/1 printer output into VMS
Fortran and DCL, for DMA, to allow production of structured DLG-3
data.
* Wrote software to produce output for a variety of plotters, including
a very simple testplot facility for VT200 displays.
* Worked on an Alvey project (joint with UCL) on 2.5d vision systems,
designing appropriate datastructures and writing support code. This
resulted in the "Quadtree storage of vector data" paper, describing
the use of quadtrees for realistic data quantities (at a time when
other papers on the subject just dealt with 512 by 512 matrices).
* Substantial work on the VMS LAMPS software suite, including
- the windowing, patch, sorting and comparison utilities,
- the generic support libraries used across the whole suite,
- translators for a wide variety of transfer formats.
- a variety of DCL, EDT and Runoff systems to support document
maintenance on VMS.
- route finding code for MCE(RE), which formed part of the initial
basis for the ideas leading to Gothic.
GIS development (1988 onwards)
==============================
One of the original team of 3 programmers working full-time to
develop Gothic, Laser-Scan's GIS (Geographic Information System).
* Influential in the decision to use C (and in particular, standard C)
as the implementation language.
* Introduced the use of Emacs as an editor and LaTeX as a documentation
format to the company, and wrote Emacs macros and TeX code to support
their use.
* Provided experience of Laser-Scan's previous cartographically based
systems.
* Wrote (amongst other things):
- the core storage/persistence modules (most of which have since
been rewritten several times, but the module handling references
between objects is essentially in its original form).
- many of the core utility modules (message handling, collections,
general utilities, etc.).
- the object-based backup and restore utility.
- the initial core support for translating data in and out of Gothic,
and specific translators for many formats, including LSL IFF, DXF,
NTF (in some forms), Intergraph SIF, TIFF, IIS, ERDAS raster,
tabular (CSV) data, DX-90.
Further work (1997 and onwards)
===============================
These notes are derived from those I wrote for my assessment in November
2002, and cover what I was doing since the previous assessment, in 1997
- i.e., a period of about 7 years.
* An investigation of shared library support for Gothic on NT.
* Participated in a Y2K project for UKHO.
My involvement was in translating various Fortran algorithms to C,
including explaining to the customer why it would not be feasible to
produce identical numeric results to the old (Fortran) in the new C
code (or, indeed, in code using a more modern Fortran compiler on
another machine).
* Investigated adding support to the LSL IFF text translator for
"patches" - discrete areas of higher resolution. This turned out to be
an equivalent problem to generalisation (i.e., not solvable with the
simple algorithms that could be produced in the timescale), and thus
was only partially satisfactory, although it was an interesting
project.
* Gothic Maintenance and Fixes for various new releases of Gothic.
It can be interesting, it can be frustrating, but it has to be done.
* Work relating to DTM support for OS. Generally speaking, this was
satisfactory, and having an actively involved customer who has
particular needs, which they understand, can be very useful.
* Some support work for the DFAD/DTED translators.
(These are military exchange formats, vector and raster
respectively, with headers that contain 36 bit words, 6 bit
characters.)
This was an odd one, because the project died when the customer
decided to get someone else to handle much of the follow-on work.
I can't say I take any joy in working on DFAD/DTED.
* A small, fast project with specific aims for WhereOnEarth. Much of my
work was writing reflexes (methods triggered when objects are
manipulated).
* Storing NTF metadata, for OS(GB) and EUDL.
For part of this I was overseeing another programmer, which was
instructive in several ways.
This was the first project where I started to keep my progress notes
and reports as HTML pages, so that others could easily find them. This
seems to me to be a very good idea, and one I have kept up.
* Training: FME and Advanced Lull
* Writing a report on "DEM refinement".
Whilst the topic was interesting, and I believe the final report was
useful, it turned out that the customer wanted something rather more
ambitious than we had realised (or had been stated).
* A small amount of web support for the marketing department, using
Python and a CGI-alike. Sensibly, this was only a temporary solution,
until marketing obtained special purpose tools they could use
independently.
* Outputting version tree information as XML.
* OGC/GML, OS/DNF, etc.
Specifically, acting as an internal advisor on the design of the
earlier versions of GML, and one of the company's advisors to OS(GB)
on the early development of DNF.
* Support for UKHO.
It was interesting to be working for a customer again, but my
involvement was mainly trying to trace bugs in code written by the
customer, and find appropriate fixes.
Some of my most valuable input may actually have been to bring other
people into the project - perhaps that comes under "learning to know
when you *can't* efficiently solve a problem yourself".
* Upgraded Python from 1.3 to 1.5.2. Was looking to do another upgrade
sometime in 2003.
* Attended the 2001 ACCU conference, mainly self-funded out of my
2001 bonus, with one day for LSL interests and one day for my own
(which I spent at the UK Python conference which was being held as part
of the event). That was very useful in several respects, not least in
making it plain that J2EE was not of relevance to LSL.
Throughout 2002
---------------
Technical project manager and lead developer for "Java-in-Gothic", a
project to embed Java within Gothic, initially for use writing Gothic
database methods, but ultimately as a general programming language for
use with Gothic. Oversaw one other programmer for about half of this
time.
2003
----
Continued a consultancy and programming role with the Java-in-Gothic
project (now taken up enthusiastically by the company), but mainly
worked on the a generalisation project for German customers:
* Cooperating on the design of an XML Schema to define a parameter file
to define some of the generalisation process.
* Providing software to load the parameter file directly into Java,
using Castor_
* Producing summary documentation of the process methods being written,
for the customer.
* Producing general test mechanisms for the processes.
.. _Castor: http://www.castor.org/
Standards work
==============
UK National Transfer Format
---------------------------
In the mid-1980s, the UK started a standardisation effort to produce a
transfer format for geographic data. The format was initially called
NTF, and the work was run by OS(GB).
As an interested party, Laser-Scan were sent draft documents as they
were produced, and two of us attended the first open meeting, where the
semi-final draft of NTF was presented. Subsequent to this, I submitted
a lot of comments, both of a technical and proof-reading nature, and
then continued to do the same through later versions of the document.
In 1988 I was invited onto the NTF Technical Working Group, which had
taken over production of the NTF specification.
When it became necessary to take NTF to a British Standard (BS 7567), I
was asked to be on the technical committee. The first drafts of the
standard were assembled by myself in LaTeX, before being reformatted in
Word by another member of the committee.
As part of my work on the committee, I worked with Dr A. A. Brooks to
evaluate the utility of ISO 8211 (BS 6690) in future versions of NTF. I
then chaired the working party that produced Part 3 of BS 7567, which
provided the ISO 8211 "encoding" for BS 7567 (in fact, Part 3 was
essentially written by me, with input from the working party).
I was also a member of the raster data working party.
ISO 8211
--------
Every 10 years, ISO inspects each of its standards to see if it needs
throwing away, updating, or just keeping as is. The decision was made
that ISO 8211 needed updating, and the UK was one of the nations with
requirements for change. After my work on NTF/BS 7567, it was natural
for me to be the UK representative in this work, and in fact the new
version of the standard (ISO/IEC 8211:1994) is essentially the work of
Dr Brooks and myself.
My primary inputs were in the actual rewrite of the document (to make it
easier to understand and use), and in the introduction of a simple
textual language for describing the contents ("schema") of an ISO 8211
file.
CEN TC 287/WG 3
---------------
This was a project to produce GIS data transfer mechanisms for use
between European countries.
I was invited onto Working Group 3 (dealing with the actual transfer
layer) in 1992, because of my ISO 8211 knowledge, my experience with the
BS 7567 work, and my general work in GIS. For much of that time I was
the only vendor employee on WG 3, and there were not many vendor
employees in the TC as a whole.
I was a member of Working Group 3 and also of sub-Working Group 3.1, the
latter being particularly tasked with the actual physical part of data
transfer.
I had to leave standards work as WG 3 produced a draft standard (not
being able to travel as easily after the birth of our first child).
OpenGIS and GML
---------------
In the late 1990s, the Open GIS Consortium began to produce GML
(Geographic Markup Language), an industry-led approach to geodata
transfer. Laser-Scan provided technical input, particularly in the areas
of topology and object-referencing.
My experience of transfer formats and standards work, and my interest in
XML and related technologies, were used in the formation of Laser-Scan's
positions.
Glasgow University
==================
From 1991 through 1998, personal reasons required me to be in Glasgow,
where I worked as a Research Assistant in the Topographic Science
Department in Glasgow University, fully-funded by Laser-Scan. My primary
responsibility was continuing with the development of Gothic, but I also:
* Provided support for the department and university in the use of
Laser-Scan software, including student projects on 3d visualisation
and buzzard/raven nest distribution.
* Acted as an advisor on student projects relating to GIS.
* Participated in the VMS Managers Group, and the Unix System Support
Group.
* Installed and supported Emacs and TeX/LaTeX on the University VMS
systems.
* Worked on a project (the JUGGLE project) to investigate the utility of
Java as a programming language for GIS, and the possibility of
embedding Java within Gothic.
Tony Ibbs, July 2003