WEB GIS DEVELOPER SPECIALIST
ONLINE TRAINING
START DATE: AVAILABLE SOON (450 hours)
PRICE: 1200 € (Standard fee) | 1080 € (Student / Unemployed fee)
This course is destined to those who want to specialize in GIS programming languages and become a professional developer. The training material is focused on: programming languages like JavaScript, a very powerful tool for developing cartographic viewers, developing new tools through ArcObjects and learn coding with one of the most used programming language by all GIS communities, Python.
The course content is well structured providing a complete training and integration with all ESRI development tools.
Enrolled students in this online course will have access to our virtual e-learning platform (which is available 24 hours), where they will find the content of the course, practical exercises, forum discussion and additional content. One of the advantages of this online platform, is that students can benefit of real time support and assistance offered by the instructor (2 hours per week), whom they can contact via direct messages, regarding course related issues, at any moment. They can also contact the instructor via email.
- Offer specialized training that focus on the programming languages ESRI products are based on.
- Work with ArcGIS API for JavaScript, create web maps and publish them online through ESRI ArcGIS Server.
- Learn programming using Python and develop useful tools and scripts for automating GIS workflows.
- Find out about ArcObjects work environment and its straightforward role in ArcGIS.
- Perform practical exercises that will allow you to practice your new skills and develop your own Web GIS project.
Part I. Introduction
Part II. ESRI – ArcGIS API for JavaScript
1 - INTRODUCTION TO JAVASCRIPT PROGRAMMING LANGUAGE
2 - DEBUGGING APPLICATIONS
- What is Firebug?
- Using Console and Script tabs
- Highlighting HTML Elements
- Using CSS tab
- Debugging JavaScript code
- Error monitoring & reporting
- DOM Tab
- RED Tab
- Documentation
3 - WORKING WITH DOJO AND ARCGIS SERVER
- Introduction to Dojo
- Dijit
- Dojox
- Dojo architecture
- Integrating Dojo with ArcGIS Server
- ArcGIS Server resources
- Initialization script
- Templates
- Dojo base and Dojo core
- Type checking
- String utilities
- Array processing
- JavaScript events and Dojo. What are the events?
- dojo.connect ()
- Managing events
- Should we record all the events?
- Mouse and Keyboard Event Normalization
- Publish/Subscribe Event Mechanism
4 - ARCGIS SERVER FOR DEVELOPERS
- What is ArcGIS Server?
- GIS resources and services
- ArcGIS Server components
- ArcSDE
- ArcGIS Server editions
- What’s new in ArcGIS Server 10.1.
- What’s new in ArcGIS Server 10.3.1
5 - INTRODUCTION TO JAVASCRIPT API FOR ARCGIS SERVER
- Aptana plugin
- Short overview of JavaScript API for ArcGIS Server
- Why JavaScript?
- Working with maps
- Tiled and dynamic/feature layers’ services
- Working with map extension
- Working with graphics and graphic layers
- Feature layers
- Drawing graphics and elements
- Map events
- Info window
- Adding toolbars
- Controls (widgets)
- Editing
- Design a basic application
- ArcGIS templates
- API configuration parameters
6 - ADVANCE TECHNIQUES USING JAVASCRIPT API FOR ARCGIS SERVER
- Introduction to ArcGIS Server tasks
- Performing Spatial and Attribute Queries
- Identifying Entities
- Finding elements
- Perform geocoding and reverse geocoding
- Geometry Service
- Route Task and Network analysis services
- Geoprocessing services
- Working with spatial data
- Multiple types of layers
- com integration
- Using proxy with ArcGIS API for JavaScript
- Working with secure services
7 - GOOGLE AND BING MAPS INTEGRATION
- ArcGIS Server extension for Google Maps
- Add an ArcGIS Server Dynamic Map Service to Google Maps
- Creating a query layer
- Search features
- Identify features
- Geocoding
- Geometry Service
- Geoprocessing services
8 - ADVANCED RESOURCES OF DOJO
- Introduction
- Accessing Multiple Data Formats with the Dojo Data API
- Working with JSON
- Reading JSON Data with Dojo
- Working with XML Data
- How to read CSV file
- Ajax for client-server communication
- dojo.xhr
- Cross Domain Scripting Issues & JSONP
- Using Iframe
- JSON-RPC
- User interface manipulation using DOM
- Display a simple dialog box and store input data from user
- Advanced Dijit Selects with Dojo
- Create dynamic graphs and charts using Dojo
- Display Image with Dojo
9 - ADVANCED DESIGN TECHNIQUES FOR MAP APPLICATIONS
- User-centered design (UCD)
- KISS Design principles
- Prototypes
10 - INTRODUCTION TO USER INTERFACE DESIGN. CSS BASICS
- What is User Centered Design?
- CSS Syntax
- Comments in CSS
- ID selectors
- Class selectors – CSS
- External Style Sheet
- Internal Style Sheet
- How to add CSS styles to HTML code
- Cascading Style Sheets
- CSS Backgrounds
- CSS Text
- Font styles
- Link styles
- List styles
- Use an image as a list marker
- Table styles
- Design better data tables
- CSS Box Model
11 - ADVANCED STYLING WITH CSS
- Grouping Multiple CSS Selectors in One Style Property
- CSS Display and Visibility
- CSS Sizing
- CSS Positioning
- Overlapping elements in CSS
- Floating Elements with CSS
- CSS Image Transparency
- CSS image hover effects
12 - USER INTERFACE DESIGN FOR IPHONE AND IPAD
- Compact development (compact build)
- Initializing Display Parameters
- iOS Gestures
- Map interaction using IOS gestures
- API Geolocation
- Dojox.mobile
13 - THE NEW JAVASCRIPT API 4.X
- What does the new version provide?
- Limitations
14 - CONSTRUCTORS PROGRAMMING
- What is a constructor in programming?
- Constructor proprieties
- Collections
- Promise Object
15 - MAPS, VIEWS AND LAYERS
- Maps and Views
- The new API version, MapView, SceneView and LayerView
- Maps as a data sources
- Web Mapping: Building Great Web Maps and manipulate data
- Maps and Layers. Types of Layers:
– GraphicsLayer
– FeatureLayer
– MapImageLayer
– SceneLayer
– VectorTileLayer
– GroupLayer - How to access feature data via LayerView object?
- Working with FeatureLayer object
16 - WORKING WITH 3D SCENES
- Scenes and Web Scenes. How to add a Web Scene to your application?
- Use Topographic Elevation Data to Create a 3D Map
- Edit the Scene View: Camera & Environment
– Display Sun and Shadows
– Local Scenes - How to add Scene layers?
- 3D representation and symbology. Use of Visual Variables
- Symbologies
13 - THE NEW JAVASCRIPT API 4.X
- What does the new version provide?
- Limitations
Part III. Programming in ArcGIS with Python
1 - FIRST STEPS WITH PYTHON AND ARCGIS
- Create a Python script file
- Comments
- Variables and types
- Strings
- Numbers
- Lists
- Dictionaries
- Statements
- Python – Decision Making – if statements
- Loop Statements
- Python File I/O – Read and Write Files in Python
- Modules
2 - PYTHON PROGRAMMING LANGUAGE
- The geoprocessing framework in ArcGIS
- What is Python?
- Introducing Python using the Python window in ArcGIS
- Python Development Environment
- Integrate Python in the Geoprocessing environment
3 - WHAT IS ARCPY?
- Introduction to ArcPy
- Data access module – arcpy.da
- Accessing geoprocessing tools
- ArcPy Features
- ArcPy Classes
- ArcPy Modules
- Importing ArcPy
- Python and ArcPy versions
4 - ENVIRONMENT CONFIGURATION
- Getting and setting environment settings
- Most used configurations/settings
- Environment settings
– Environment levels and hierarchy
– Switch from application to tool
– Scripts - “Env” class
5 - ARCGIS GEOPROCESSING SERVICES AND TOOLS IN PYTHON
- Introduction to Geoprocessing tools
- Toolbox names, labels and alias
- Understanding tool syntax
- How to use Geoprocessing tools
– Tool examples
– Buffer
– Append - Help
- How to Create a Custom Tools
- Exploring and working with toolboxes
6 - ERROR HANDLING
- Error messages
– Understanding message types and severity
– Receive and Respond to a Text Message with Python - Result Objects
- Python – Exceptions Handling and how to manage them
– Python exception message capturing
– Event notification system
– Handling special cases - Exploring the default Python error messages
– try statement
– try/except/else
– try/finally
– raise
7 - INTRODUCTION TO ARCPY.MAPPING
- What is arcpy.mapping?
- Using arcpy.mapping to control map documents and layer objects
– Getting a list of layers in a map document
– DataFrame
– Fixing Data Sources
– ListTableViews
– ListLayoutElements
– Adding, Working and updating layers in a map document - Printing or exporting maps
– Export and print map documents to PDF using Python - Publishing a map service to ArcGIS Server
– Use the arcpy.mapping function AnalyzeForSD to analyze your draft service
– Converts a map to a map service definition (.msd) file
– PublishMSDToServer
8 - CREATE LISTS OF DATA
- Introduction
- List of ArcPy functions
- Field
- Index
9 - HOW TO OBTAIN DESCRIPTIVE INFORMATION ABOUT DATA
- Describe function – ArcPy Functions
- FeatureClass properties – ArcPy Functions
- Get Raster Properties
- Get Layer properties
- Table properties – ArcPy Functions
- Dataset properties
- Workspace properties
10 - USE GEOPROCESSING TO SELECT, EDIT AND ADD DATA TO EXISTING TABLES AND LAYERS
- Introduction
- Cursor object functions
– InsertCursor
– SearchCursor
– UpdateCursor - Geometry Objects
11 - OTHER ARCPY ELEMENTS
- SpatialReference
- Extend
- FieldMappings, FieldInfo, FieldMap
- Point, Polyline, Polygon
- Array
12 - ACCESSING LICENSES AND EXTENSIONS
- Introduction
- Licenses for ArcGIS products: Desktop, Engine, Server
- Extension Licensing
13 - GEOPROCESSING REPORTS
- Using geoprocessing options to control tool execution
- Viewing script tools execution history
- Using the Results window
- History log files
- Viewing metadata
14 - CREATING TOOLS WITH PYTHON SCRIPTING
- Scripting: Your First Steps to create a tool
- Understanding messages in script tools
- Writing messages in script tools
- Progressor in script tools
- SetProgressor
15 - DEVELOP ADD-INS FOR ARCGIS DESKTOP WITH PYTHON
- Introduction to Add-In
- Creating a Python Add-In tool
- Share and install Add-Ins
- Editing Add-Ins
- Python Miscellaneous Topics
16 - CREATE GRAPHICS WITH ARCPY
- Graph
- Graph proprieties
- Graph methods
- Make Graph
- GraphTemplate
- Exporting a graph to a native format
- Save Graph
17 - CONVERT GeoJSON OBJECTS TO GEOMETRY
- What is the GeoJSON format?
- GeoJSON code example
- Converting geometries between GeoJSON and ArcPy objects
18 - ADVANCED TOOLS
- Introduction
- FieldMappings processes
- Proprieties and methods of FieldMappings object
- The FieldMappings object
- Working with multivalue inputs
- Working with feature sets and record sets
- Create and use RecordSet/FeatureSet objects
- Create RecordSet/FeatureSet from input tools
- How to get results from a geoprocessing server tool
19 - USING CUSTOM TOOLBOXES
- Importance of custom geoprocessing tools
- Use a custom geoprocessing tool
- ArcGIS Server toolboxes
- Geoprocessing tasks with Python scripts
20 - MANAGE ArcSDE GEODATABASES WITH PYTHON
- Introduction
- Validate table names
- Validate field names
- How to parse table and field names
- Using SQL with ArcSDE
- Transactions with ArcSDESQLExecute
- Workflow Transactions
21 - INTRODUCTION TO RASTER ANALYSIS WITH SPATIAL ANALYST MODULE OF ARCPY
- Introduction to Spatial Analyst module of ArcPy
- Raster – ArcPy Classes
- Working with Raster Objects – overview of Map Algebra
- Raster Dataset properties
- Raster Methods
- An overview of Spatial Analyst classes
Part IV ArcGIS ArcObjects and Visual Studio
1 - INTRODUCTION TO ARCOBJECTS. ARCGIS EXTENSION
- History of ESRI Programming Languages
- Advantages and disadvantages
- ArcGIS framework customization
Practical Exercise 1: Adding a zoom button in ArcGIS
2 - BASIC PROGRAMMING PRINCIPLES
- GIS data access and manipulation with Python, add layers, edit proprieties and table attributes
- How we do declare the variables
- Constants
- Enumerations
- Declaring variables and constants
- Expressions
- Operators
- Programming Statements
- Putting comments in code
- Matrices
- Code reuse
- Functions
- Classes and Modules
- Variables scope
- Forms
- Control proprieties: Control-textbox, ComboBox
Practical Exercise 2: Adding a description to a form field, create a toolbar, modifying field properties, set proprieties for a field.
3 - OBJECT ORIENTED PROGRAMMING
- Programming style
- Object-Oriented Programming Principles
- Create a new instance of an object
- Interfaces
- Object hierarchy
- Collections of objects
- Access Members of an Object
- Objects in ArcGIS
- Declare an object
- Explicit conversions
- Object model diagrams (OMD)
Practical Exercise 3: Creating object model diagrams.
4 - WORKING WITH MAP DOCUMENTS
- Application and document objects
- Hiding or displaying the status bar
- Progress bar
- Setting map document properties
- ActiveView
- Output parameters
- Map
- Graphic elements
- Adding a marker element to the map
- ArcObjects colors
- Code modulation
5 - WORKING WITH LAYERS
- ArcObjects Object Model
- iLayer
- iFeatureLayer2
- Accessing Feature Layers
- Working with enumerations
- Types of Operators
- Working with group layers
- ArcObjects data model
- IFeatureClass
- Cursors
- Resource Management
- IFeature
- Boards
- Access classes
- Get Field Value
- Fields
- Create a new custom field from scratch
Practical Exercise 4: Add graphics to layers; Add XY data to a polygon.
6 - WORKING WITH GEOMETRIES
- iGeometry
- Point
- IPoint Interface
- Creating a point feature
- How to create AWARE points?
- ArcObjects Geometry Object Model
- Interfaces: IPath, IPolyline6, IPointCollection4, IGeometryCollection, IRing, IPolygon4, IPolycurve2
- Access feature geometries and graphic elements
- Shape vs. IFeature.ShapeCopy
- Spatial reference: ISpatialReferenceFactory Interface
Practical Exercise 5: Building a geometric structure.
7 - WORKING WITH GEOMETRIC OPERATIONS
- Introduction
- What is a geometry operation?
- iArea Interface
- Other types of operators
- Topological operators
- iTopologicalOperator Interface
- iRelationalOperator2
- iProximityOperator
Practical Exercise 6: Creating a buffer around a feature, sum of areas.
8 - INTERROGATIONS (QUERIES) AND SELECTIONS
- iQueryFilter
- SQL examples
- SQL questions
- iSQLSyntax interface
- Other resources
- iSpatialQuery
- What can you do with a Query Filter?
- iSpatialQuery example
- Working with Selections
- iFeatureSelection
- iSelectionSet
9 - OBTAIN ACCESS TO THE DATA
- The architecture of a geodatabase
- File Geodatabase in ArcObjects
- IFeatureWorkspace interface
- IDataset interface
- IFeatureClassContainer interface
- Dataset Objects
- Dynamic layers, dynamic workspaces
- IWorkspaceFactory Interface
- Types of workspace factories
- Working with shapefiles
- Opening a feature class in a geodatabase
- Add a feature class to a map
Practical Exercise 7: How to access local data?
11 - OTHER APPLICATIONS AND USEFUL TOOLS
- ArcObjects Geoprocessing
- How to use the Geoprocessor
- Geoprocessor examples
- Working with time-aware layers
- Software products life cycles
10 - WORKING WITH RASTERS
- The raster data model
- IPnt interface
- IRasterProps interface
- IRaster interface
- IRaster2 interface
- IRasterEdit interface
- IPixelBlocks interface
- IRasterBandCollection interface
- IRasterDataset2 interface
- IRasterWorkspace2 interface
- Raster Access
- Reading & Writing Cell Values
Practical Exercise 8: Obtain an elevation profile over a predefined line
Alberto Santos Estévez
Consultant and Geospatial Developer with more than 15 years’ experience in GIS integrated solutions and high performance systems.
Chencho Martín Lagunas
GIS Developer with extensive experience in Full-Stack software development, specialized in GIS data analysis and pre-processing using Python.
Why starting to study ArcGIS 10.x?
The usage of Geographic Information Systems (GIS) is rapidly growing, becoming an essential tool in a variety of business sectors like engineering, environment, geography, mining or geomarketing.
Among GIS tools, ArcGIS is one of the most used GIS software worldwide, the most stable and versatile, comprised by a set of integrated applications, with a solid documentation over a wide range of tools being also supported by a large community.
ArcGIS provides contextual tools for data visualization, mapping and spatial analysis, connecting and combining information from varied sources (local and online), offering complex capabilities in order to explore, gain and enquire knowledge, that will lead to the best decisions. It can be also handled using a user interface as well as in command line using specific programming languages, like Python.
Do I need previous knowledge in ArcGIS 10.X?
Yes, for undertaking this course you will need previous Geographical Informational Systems training and knowledge.
I do not have ArcGIS 10.x software. What can I do?
ESRI (creators of the ArcGIS program) provides a free trial license for a 2 month. You only need to create an account, download the program and follow the installation steps (see the website). However, we will assist you in any problem you may encounter.
Our online courses, are distributed via Moodle, the world’s most popular learning platform. It is a highly flexible Learning Management System that can be used to conduct and access courses, accomplish tasks of practical exercises, interact face-to-face to the teaching staff or benefit of support and resources at any time.
The online platform can be accessed 24 hours a day, in which the student will be able to ask for help at any given moment. The instructors will act as supervisors during all the training process, offering support for any possible difficulty encountered by the students along the course.
The course is structured in different modules, making it easy for the student to search for training material, download information, complete practical exercises and take assessments in order to verify their new gained abilities. The instructors will assist the students throughout all the course period, offering progressive help and information according to their evolution.
1200 € (Standard fee) / 1080 € (Student / Unemployed fee)*
*To enjoy this discount, you must include a copy of a document that proves your situation along with the registration form.
** If you want to know the price in other currencies, you can consult the following online converter: The Money Converter
Step 1. Request your registration to the training course completing the pre-registration document (Registration Form) and send it via email to training@tycgis.com.
Step 2. As soon as we receive it, we will send you an enrolment guide with the complete information to enroll in the course: dates, schedule, software needed for the course and the installation guide. The payment methods are included in this document.
Step 4. Once we receive the receipt, we will confirm your registration to the course via email.
NATIONAL WIRE TRANSFERS (INSIDE SPAIN):
ACCOUNT NUMBER: 0049 1809 222710347481 (Banco Santander)
BENEFICIARY: TYC GIS Soluciones Integrales SL
SUBJECT: “Student Name” and WEB GIS DEVELOPER COURSE ON
INTERNATIONAL WIRE TRANSFERS:
BANK NAME: Banco Santander
BANK ADDRESS: Glorieta Ruiz Jiménez 1, 28015 Madrid (España).
BENEFICIARY: TYC GIS Soluciones Integrales SL
BENEFICIARY ADDRESS: Calle Fuencarral 158, Entreplanta, Oficina 16-17 28010 Madrid (España).
ACCOUNT NUMBER: ES90 0049 1809 222710347481
SWIFHT: BSCHESMM – IBAN: ES90
4 - WORKING WITH 3D SCENES
- Scenes and Web Scenes. How to add a Web Scene to your application?
- Use Topographic Elevation Data to Create a 3D Map
- Edit the Scene View: Camera & Environment
Display Sun and Shadows
Local Scenes - How to add Scene layers?
- 3D representation and symbology. Use of Visual Variables
- Symbologies
If you have payment difficulties, contact us