programming

PD-31 - PySAL and Spatial Statistics Libraries

As spatial statistics are essential to the geographical inquiry, accessible and flexible software offering relevant functionalities is highly desired. Python Spatial Analysis Library (PySAL) represents an endeavor towards this end. It is an open-source python library and ecosystem hosting a wide array of spatial statistical and visualization methods. Since its first public release in 2010, PySAL has been applied to address various research questions, used as teaching materials for pedagogical purposes in regular classes and conference workshops serving a wide audience, and integrated into general GIS software such as ArcGIS and QGIS. This entry first gives an overview of the history and new development with PySAL. This is followed by a discussion of PySAL’s new hierarchical structure, and two different modes of accessing PySAL’s functionalities to perform various spatial statistical tasks, including exploratory spatial data analysis, spatial regression, and geovisualization. Next, a discussion is provided on how to find and utilize useful materials for studying and using spatial statistical functions from PySAL and how to get involved with the PySAL community as a user and prospective developer. The entry ends with a brief discussion of future development with PySAL.

PD-32 - JavaScript for GIS

JavaScript (which has no connection to the Java computer language) is a popular high-level programming languages used to develop user interfaces in web pages. The principle goal of using JavaScript for programming web and mobile GIS applications is to build front-end applications that make use of spatial data and GIS principles, and in many cases, have embedded, interactive maps. It is considered much easier to program than Java or C languages for adding automation, animation, and interactivity into web pages and applications. JavaScript uses the leading browsers as runtime environments (RTE) and thus benefits from rapid and continuously evolving browser support for all web and mobile applications.

PD-37 - Open Source Software Development

Open source geospatial software is now ubiquitous – it is used and supported across industries, in government agencies, as well as research institutions and academia. This entry describes general principles of open source software development and provides an overview of the development platforms and tools. Specific focus is on the Open Source Geospatial Foundation’s software stack, its development principles, practices, and initiatives. Several additional major open source software systems with geospatial support are also briefly discussed with examples of open source applications developed by integrating multiple libraries and packages.

PD-15 - R for Geospatial Analysis and Mapping

R is a programming language as well as a computing environment to perform a wide variety of data analysis, statistics, and visualization. One of the reasons for the popularity of R is that it embraces open, transparent scholarship and reproducible research. It is possible to combine content and code in one document, so data, analysis, and graphs are tied together into one narrative, which can be shared with others to recreate analyses and reevaluate interpretations. Different from tools like ArcGIS or QGIS that are specifically built for spatial data, GIS functionality is just one of many things R offers. And while users of dedicated GIS tools typically interact with the software via a point-and-click graphical interface, R requires command-line scripting. Many R users today rely on RStudio, an integrated development environment (IDE) that facilitates the writing of R code and comes with a series of convenient features, like integrated help, data viewer, code completion, and syntax coloring. By using R Markdown, a particular flavor of the Markdown language, RStudio also makes it particularly easy to create documents that embed and execute R code snippets within a text and to render both, static documents (like PDF), as well as interactive html pages, a feature particularly useful for exploratory GIS work and mapping.

PD-16 - Web GIS Programming

Web GIS programming involves creating, extending, utilizing, Web GIS or web mapping solutions to solve specific problems, build complete applications, or consume or produce data and geospatial processing services. With the expansion of the internet and availability of Web GIS or Web mapping options, web GIS programming is becoming a commonly required skill set in many organizations. Web GIS programming is a type of software development that provides a means of handling internet, browser-based software application development tasks which require unique solutions to web GIS or web mapping problems. In addition, a number of Web GIS software options offer application programming interfaces (APIs) that provide a means by which developers can leverage the published data and processing services of others to build and customize applications through standardized interfaces with external web GIS software, data, and services. Web GIS programming applies to mobile as well as desktop application development. A browser typically runs software applications by submitting Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS) requests to a server hosting resources the application user wishes to access available through a Uniform Resource Locator (URL), and the server replies by providing resources or performing functions requested by the user. This entry reviews the fundamentals of web GIS programming, accompanying the Web Mapping and other entries in the Programming and Development section, the Web GIS entry in the Computing Platforms section, and the User Interface and User Experience (UI/UX) Design entry in the Cartography and Visualization section (Sack, 2017; Quinn, 2018; Roth, 2017).

PD-29 - Programming of Mobile GIS Applications

Mobile technology has significantly changed how we communicate and interact with the outside world. With the increasing use of mobile devices and advancement of information communication information (ICT) technologies, mobile GIS emerged to provide real-time data collection and update, and made GIS easier and convenient to access. This entry introduces the concept, types, and general architecture of mobile GIS, key technologies used for mobile GIS development, and examples of mobile GIS applications.

PD-32 - JavaScript for GIS

JavaScript (which has no connection to the Java computer language) is a popular high-level programming languages used to develop user interfaces in web pages. The principle goal of using JavaScript for programming web and mobile GIS applications is to build front-end applications that make use of spatial data and GIS principles, and in many cases, have embedded, interactive maps. It is considered much easier to program than Java or C languages for adding automation, animation, and interactivity into web pages and applications. JavaScript uses the leading browsers as runtime environments (RTE) and thus benefits from rapid and continuously evolving browser support for all web and mobile applications.

PD-37 - Open Source Software Development

Open source geospatial software is now ubiquitous – it is used and supported across industries, in government agencies, as well as research institutions and academia. This entry describes general principles of open source software development and provides an overview of the development platforms and tools. Specific focus is on the Open Source Geospatial Foundation’s software stack, its development principles, practices, and initiatives. Several additional major open source software systems with geospatial support are also briefly discussed with examples of open source applications developed by integrating multiple libraries and packages.

PD-15 - R for Geospatial Analysis and Mapping

R is a programming language as well as a computing environment to perform a wide variety of data analysis, statistics, and visualization. One of the reasons for the popularity of R is that it embraces open, transparent scholarship and reproducible research. It is possible to combine content and code in one document, so data, analysis, and graphs are tied together into one narrative, which can be shared with others to recreate analyses and reevaluate interpretations. Different from tools like ArcGIS or QGIS that are specifically built for spatial data, GIS functionality is just one of many things R offers. And while users of dedicated GIS tools typically interact with the software via a point-and-click graphical interface, R requires command-line scripting. Many R users today rely on RStudio, an integrated development environment (IDE) that facilitates the writing of R code and comes with a series of convenient features, like integrated help, data viewer, code completion, and syntax coloring. By using R Markdown, a particular flavor of the Markdown language, RStudio also makes it particularly easy to create documents that embed and execute R code snippets within a text and to render both, static documents (like PDF), as well as interactive html pages, a feature particularly useful for exploratory GIS work and mapping.

PD-16 - Web GIS Programming

Web GIS programming involves creating, extending, utilizing, Web GIS or web mapping solutions to solve specific problems, build complete applications, or consume or produce data and geospatial processing services. With the expansion of the internet and availability of Web GIS or Web mapping options, web GIS programming is becoming a commonly required skill set in many organizations. Web GIS programming is a type of software development that provides a means of handling internet, browser-based software application development tasks which require unique solutions to web GIS or web mapping problems. In addition, a number of Web GIS software options offer application programming interfaces (APIs) that provide a means by which developers can leverage the published data and processing services of others to build and customize applications through standardized interfaces with external web GIS software, data, and services. Web GIS programming applies to mobile as well as desktop application development. A browser typically runs software applications by submitting Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS) requests to a server hosting resources the application user wishes to access available through a Uniform Resource Locator (URL), and the server replies by providing resources or performing functions requested by the user. This entry reviews the fundamentals of web GIS programming, accompanying the Web Mapping and other entries in the Programming and Development section, the Web GIS entry in the Computing Platforms section, and the User Interface and User Experience (UI/UX) Design entry in the Cartography and Visualization section (Sack, 2017; Quinn, 2018; Roth, 2017).

Pages