Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm curious what sort of domain specific languages (DSLs) are used in GIS. The only one I can think of is the DOCELL language that was provided in ArcInfo Workstation GRID, but is no longer supported.

share|improve this question
Please add the definition rather than linking to an external website which may change content/go offline anytime. – johanvdw Nov 25 '11 at 21:33
up vote 9 down vote accepted
  • FME's workbench would classify as a graphical DSL, and its generated/editable scripts as a DSL

  • ArcGIS's Model Builder could also be described as a graphical DSL.

  • MapServer's MapFile syntax (and the language agnostic MapScript)

  • SLD is described as an encoding, but may also fall under the category of an DSL.

share|improve this answer

Map algebra likely qualifies. The data model provided with GDAL (similar to DOCELL), and its VRT format. The simple features model implemented in software such as PostGIS, as an object-relational database extension for domain-specific data.

share|improve this answer

MapBasic, the macro langage of Mapinfo ?

share|improve this answer

If a DSL can include SQL, I imagine that Avenue would be included.

share|improve this answer
Isn't Avenue a dead language? Does ESRI sell ArcView 3.x anymore? – klewis Nov 25 '11 at 23:34
If by dead you mean that it is not actively developed anymore or that hardly anyone uses it, then it is dead. But if it is a domain-specific language it is a valid answer for the question. Since we haven't seen a definition of DSL we can't know that at this point. – jvangeld Dec 2 '11 at 21:22

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.