C, C++, PYTHON AND JAVA IN GIS
DEVELOPMENT
Presented by:
Sakthivel.R
33218214
M.Tech Geoinformatics
PROGRAMMING IN GIS
• Programming is used with many goals in mind,
whether it is automating geoprocessing tasks or
implementing an algorithm for all sorts of tasks,
programming goes a long way in problem
solving.
• It helps us tackle those tasks which require a
different degree of operations, where the
problems we are facing need some specific
manipulation that is not provided.
• This is one of the reasons why many GIS
software allow access to API for customizing the
application according to your specific needs.
TIOBE PROGRAMMING COMMUNITY INDEX
C IN GIS DEVELOPMENT
• C is the granddaddy of the family. When
you need top performance, you use C, it
is "close to the metal." This is great if
you need to code a device driver, not
great if you need to create a web app.
• Many lively open source GIS projects
are written in C, for example, the Very
Awesome GDAL (Geospatial Data
Abstraction Library).
GDAL
• The Geospatial Data Abstraction Library (GDAL) is
a computer software library for reading and writing
raster and vector geospatial data formats, and is
released under the permissive X/MIT style free
software license by the Open Source Geospatial
Foundation.
• As a library, it presents a single abstract data model
to the calling application for all supported formats. It
may also be built with a variety of useful command
line interface utilities for data translation and
processing.
C++ IN GIS DEVELOPMENT
• A vast majority of the software we use is
written using C++. Most companies still prefer
to develop applications using C++ due to this
very reason.
• In fact, GRASS GIS, QGIS and many other
GIS software were written using C++ (and
python).
• Most GPS receivers have their firmwares
written in C++. If you are look at Geospatial
industry as a whole, C++ is a certainly good
language to know.
JAVA IN GIS DEVELOPMENT
• A Java is a powerful, general-purpose, platform-independent,
object-oriented programming language.
• Java is used when you develop the backbone of the
application, especially for desktop applications as an
alternative to C/C++ or C#. Nonetheless, Java has proven
itself as a particularly useful language even for map servers.
• one of the most popular web map server, GeoServer is
written in Java.
• Notable examples: GeoServer, GeoTools, ArcGIS Runtime
SDK, gvSIG, OpenJump, uDig, WhiteBox (GAT), Java
Topology Suite etc. Last but not least, Android apps are most
of the time built with Java, thus you’d have to know it if you
want to go in that direction.
GEOSERVER
• GeoServer is an open-source server written in Java that
allows users to share, process and edit geospatial data.
Designed for interoperability, it publishes data from any
major spatial data source using open standards.
• GeoServer has evolved to become an easy method of
connecting existing information to virtual globes such as
Google Earth and NASA World Wind as well as to web-
based maps such as OpenLayers, Google Maps and Bing
Maps.
PYTHON IN GIS DEVELOPMENT
• Python is an extensively used high-level programming language for over-all-purpose
programming. It is one of the extremely popular programming languages in the world.
This is easy to learn plus has a clear syntax.
• It is flawless for automating redundant geoprocessing as well as it removes human
error. There are several GIS software’s that can integrate jobs automating using Python;
• For example Arcpy, ArcGIS Python API. Moreover, any QGIS user might start writing
small Python script for automating, modifying and spreading QGIS, creating their
everyday workflow an easier and additional fun task toward complete.
• There are also other GIS-libraries for Python, mainly Shapely, Fiona and Rasterio, as
well as several other tools.
• On the applications side there is the tile server MapProxy and several other utilities.
ArcPy
• ArcPy is a Python site package that
provides a useful and productive way to
perform geographic data analysis, data
conversion, data management, and map
automation with Python.
• This package provides a rich and native
Python experience offering code
completion and reference documentation
for each function, module, and class.
SUMMARY OF THE VARIOUS
PROGRAMMING LANGUAGES USED IN GIS
• GIS Scripting and applications (Python, R)
• Data processing, analysis, and modeling (Python, R)
• Web Mapping (JavaScript, Python)
• Geospatial databases (SQL)
• Map Servers (Java, C# .NET, C++)
• GIS heavy-weight development (Java, C/C++, C#)
• Mobile development (Android, iOS, JavaScript)
• Geospatial libraries (JavaScript, Python, Java, R, C/C++)
According to Indeed job trends, GIS programmers and developers are one of the highest in
demand.
>> printf (“thank you”);

c,c++,java and python in gis development

  • 1.
    C, C++, PYTHONAND JAVA IN GIS DEVELOPMENT Presented by: Sakthivel.R 33218214 M.Tech Geoinformatics
  • 2.
    PROGRAMMING IN GIS •Programming is used with many goals in mind, whether it is automating geoprocessing tasks or implementing an algorithm for all sorts of tasks, programming goes a long way in problem solving. • It helps us tackle those tasks which require a different degree of operations, where the problems we are facing need some specific manipulation that is not provided. • This is one of the reasons why many GIS software allow access to API for customizing the application according to your specific needs.
  • 3.
  • 4.
    C IN GISDEVELOPMENT • C is the granddaddy of the family. When you need top performance, you use C, it is "close to the metal." This is great if you need to code a device driver, not great if you need to create a web app. • Many lively open source GIS projects are written in C, for example, the Very Awesome GDAL (Geospatial Data Abstraction Library).
  • 5.
    GDAL • The GeospatialData Abstraction Library (GDAL) is a computer software library for reading and writing raster and vector geospatial data formats, and is released under the permissive X/MIT style free software license by the Open Source Geospatial Foundation. • As a library, it presents a single abstract data model to the calling application for all supported formats. It may also be built with a variety of useful command line interface utilities for data translation and processing.
  • 6.
    C++ IN GISDEVELOPMENT • A vast majority of the software we use is written using C++. Most companies still prefer to develop applications using C++ due to this very reason. • In fact, GRASS GIS, QGIS and many other GIS software were written using C++ (and python). • Most GPS receivers have their firmwares written in C++. If you are look at Geospatial industry as a whole, C++ is a certainly good language to know.
  • 7.
    JAVA IN GISDEVELOPMENT • A Java is a powerful, general-purpose, platform-independent, object-oriented programming language. • Java is used when you develop the backbone of the application, especially for desktop applications as an alternative to C/C++ or C#. Nonetheless, Java has proven itself as a particularly useful language even for map servers. • one of the most popular web map server, GeoServer is written in Java. • Notable examples: GeoServer, GeoTools, ArcGIS Runtime SDK, gvSIG, OpenJump, uDig, WhiteBox (GAT), Java Topology Suite etc. Last but not least, Android apps are most of the time built with Java, thus you’d have to know it if you want to go in that direction.
  • 8.
    GEOSERVER • GeoServer isan open-source server written in Java that allows users to share, process and edit geospatial data. Designed for interoperability, it publishes data from any major spatial data source using open standards. • GeoServer has evolved to become an easy method of connecting existing information to virtual globes such as Google Earth and NASA World Wind as well as to web- based maps such as OpenLayers, Google Maps and Bing Maps.
  • 9.
    PYTHON IN GISDEVELOPMENT • Python is an extensively used high-level programming language for over-all-purpose programming. It is one of the extremely popular programming languages in the world. This is easy to learn plus has a clear syntax. • It is flawless for automating redundant geoprocessing as well as it removes human error. There are several GIS software’s that can integrate jobs automating using Python; • For example Arcpy, ArcGIS Python API. Moreover, any QGIS user might start writing small Python script for automating, modifying and spreading QGIS, creating their everyday workflow an easier and additional fun task toward complete. • There are also other GIS-libraries for Python, mainly Shapely, Fiona and Rasterio, as well as several other tools. • On the applications side there is the tile server MapProxy and several other utilities.
  • 10.
    ArcPy • ArcPy isa Python site package that provides a useful and productive way to perform geographic data analysis, data conversion, data management, and map automation with Python. • This package provides a rich and native Python experience offering code completion and reference documentation for each function, module, and class.
  • 11.
    SUMMARY OF THEVARIOUS PROGRAMMING LANGUAGES USED IN GIS • GIS Scripting and applications (Python, R) • Data processing, analysis, and modeling (Python, R) • Web Mapping (JavaScript, Python) • Geospatial databases (SQL) • Map Servers (Java, C# .NET, C++) • GIS heavy-weight development (Java, C/C++, C#) • Mobile development (Android, iOS, JavaScript) • Geospatial libraries (JavaScript, Python, Java, R, C/C++)
  • 12.
    According to Indeedjob trends, GIS programmers and developers are one of the highest in demand.
  • 13.