What is WebGIS? Presumedly WebGIS is a web-based GIS.
This raises the question of what is a Geographic Information System?
Definitions will vary but typically it consists of 4 components:
data (geographic/spatial), and
methods (input, manipulation, management, query and analysis, or visualization)
GIS software is typically defined as affording:
input and manipulation of geographic information
database management system (DBMS)
tools that support geographic query, analysis, and visualization
a graphical user interface (GUI) for easy access to tools
The definition of WebGIS is vague and contradictory however, esri defines it as the following:
The server has a URL so that clients can find it on the web.
The client relies on HTTP specifications to send requests to the server.
The server performs the requested GIS operations and sends responses to the client via HTTP.
So can we do these things online? What is the difference between web maps and webGIS?
Web maps are at one end of the WebGIS continuum of complexity and completeness, on which we'll be focusing for the next two days. I'll be talking about WebMaps with the understanding that they're a subsection of WebGIS.
Most of us don't create a GIS, but many people create WebMaps and even more complex WebGISs.
Describe how this map works and what data is shown in what formats
What components do you see on this map?
Now look at it again but using Firefox's developer tools (the network and element selector, on the far left, specifically):
Open Firefox developer tools (PC: Ctrl+Shift+I, Mac: Alt+Command+I, or Tools -> Web Developer -> Toggle Tools) and look at the networking - what data is sent to your browser (refresh your page with the console open to see).
Note that tiles are indexed x, y, z.
Let's discuss and describe the sequence and complexity of requests we observe with the airports WebMap.
WebGIS depends on a stack of components:
Within a browser multiple components are combined:
Synchronous vs Asynchronous
What's the difference?
Asynchronicity requires a proper server that processes requests (You would need to install Apache or equiv.)
The beauty of Python being a scripted language means that you can test each line of code before putting it in a file to run later. Integrated Development Environments (IDE) assist you in writing code in various ways. Showing documentation, directories, help, colouring code to be more clear, debugging etc...