Figure 6: Example of autonomous GIS operation where the fine-tuned SLM translates natural language queries into executable functions (addWFS and SetStrokeColor), updating the map visualization in real-time. The screenshot shows the AWebGIS App interface with three main sections: 1) A left sidebar containing 'Analysis Tools' and 'Layer Manager' panels, with options to 'Add WMS', 'Add WFS', 'Import', and 'Add Base', plus layer options for 'states', 'wfs', 'OpenStreetMap', and 'base'; 2) A central map display showing a base map of North America with the United States outlined in red stroke, including state boundaries and the Great Lakes region; 3) A right sidebar with 'Chat Assistant' and 'Activity Log' tabs, showing a conversation thread with timestamps. The chat displays natural language commands such as 'Can you add 'states' layer from [http://localhost:8080/geoserver/cite/wfs](http://localhost:8080/geoserver/cite/wfs)?' (08:19 PM), followed by 'Executed: addWFS('states', '[http://localhost:8080/geoserver/cite/wfs](http://localhost:8080/geoserver/cite/wfs)', 'states')' (08:18 PM), then 'Set the color of the strokes to 'red' for 'states'' (08:19 PM), and 'Executed: SetStrokeColor('states', 'red')' (08:18 PM). At the bottom, the Active Model shows 'T5 Tiny-fine-tuned, Local' with a prompt to 'Ask me to perform GIS operations...' The interface includes top navigation buttons for 'GitHub', 'Print Map', and 'Full Screen'.
Figure 2: Conceptual workflow of the autonomous web-based geographical information systems (AWebGIS) approaches. The diagram shows a natural language query at the top splitting into two parallel processing paths. Approach I (Cloud-based LLMs), shown on the left in a dashed box, follows this sequence: 1) Natural-language query sent via HTTP to cloud API (OpenRouter to DeepSeek V3.1); 2) In the cloud, DeepSeek Chat V3.1 translates the query into a GIS function call using few-shot learning; 3) Predicted function call is returned as a text string to the web browser; 4) The JavaScript engine parses the function call and executes the corresponding GIS operation. Approach II (Browser-executable SLMs), shown on the right in a dashed box, follows this sequence: 1) Natural-language query processed locally through fine-tuned SLMs (e.g., T5-tiny); 2) In the user's web browser, an SLM translates the query into a GIS function call; 3) The JavaScript engine parses the function call and executes the corresponding GIS operation. Both approaches ultimately result in JavaScript execution of GIS operations, but differ in where the natural language processing occurs (cloud versus local browser).
New article! Fantastic article from Mahdi Nazari Ashani and colleagues, showing how a SLM (Small Language Model) running a GIS can be run solely in a web browser tab with no data shared externally doi.org/10.1080/1523... #GISchat See their code at github.com/mahdin75/awe...