120 likes | 126 Views
Programming vs. Packaged. Packaged: Easier if what you need is available Programming: Takes longer, can do anything. Related Classes. GSP 470/570: Spatial Modeling GSP Programming II: Fall 2018 CS 325 Database Design W3Schools and other great web sites!. Servers. Workstation. Sensors.
E N D
Programming vs. Packaged • Packaged: • Easier if what you need is available • Programming: • Takes longer, can do anything
Related Classes • GSP 470/570: Spatial Modeling • GSP Programming II: Fall 2018 • CS 325 Database Design • W3Schools and other great web sites!
Servers Workstation Sensors Mobile
Types of Languages • Scripted • Each line of code is parsed, then executed • Fast to write, slow to execute • Great for data acquisition and preparation • Compiled • Entire program is compiled, then executed • Slower to write, faster to execute • Best where speed is needed • Large data prep (LiDAR, UAV) • Simulations
Applications w/Scripting • Excel w/VBA • R, SPSS, SAS • ArcGIS, QGIS, BlueSpray… • MatLab • Logo • Stella, GME • Browsers: JavaScript • Others…
Scripting Languages • VBA in Excel • Easiest to prep data in Excel • Python • Most common for GIS • Interfaces to SciPy, R • R • Vector and Matrix based statistics • PHP • Was most popular for server-side-scripting • Python!
Excel VBA • File -> Options -> Customize Ribbon • Under “Customize the Ribbon”, check “Developer” • Developer Tab -> Visual Basic • Right Click on the menu bar and select “Debug” to show debugging tools
Compiled Languages • VB • Windows-only • Visual Studio: powerful but expensive • Visual Studio Code? • Relatively easy to write • Java • Portable • Relatively easy to write • Free • C#: Microsoft’s answer to Java • C++: Too hard to write • Fortran: Going away
Servers Workstation Sensors Mobile
Programming Languages • Servers: • PHP • Python • C++ • C# • Java • Mobile: • Android: Java • Apple: xCode • Sensors: • Python • Workstations: • C++ • Java • Python • SQL (database) • C# • Browsers: • HTML • CSS • JavaScript
Python GIS Libraries • ArcGIS: lots of functions, expensive, slow • QGIS API is really challenging • BlueSpray: fast, limited features, documentation, testing • GeoPandas: Up and coming? • Lots of open source libraries • Only can get it to work with Anaconda? • Not as many features as ArcPy but we can do anything in Python!