1 ST ESA SNAP HACKATHON

Size: px
Start display at page:

Download "1 ST ESA SNAP HACKATHON"

Transcription

1 1 ST ESA SNAP HACKATHON SNAP Architecture SNAP Development Team ESA ESRIN, October 2015

2 SNAP Architecture Dynamic, module-based architecture, with various extension points and extensions Install and update of extension modules Use from Java and Python programs, extend by Java and Python plugins Write a SNAP plugin, use it in all toolboxes High-level architecture comprises two subsystems SNAP Engine, the core and command-line interface SNAP Desktop, the graphical user interface

3 SNAP Architecture Sentinel-1 Toolbox (S1TBX) SNAP Desktop Sentinel-2 Toolbox (S2TBX) SNAP Engine Sentinel-3 Toolbox (S3TBX) Any combination of toolboxes add-ons is allowed, even none, as SNAP Desktop is a already a useful stand-alone application for EO data exploitation. SNAP layer NetBeans RCP GeoTools JAI NetCDF 3rd-party library layer Java SE 8 Platform Python Programming language layer

4 Graph Processing Framework Majority of SNAP functions are implemented as operators Each operator can be invoked from SNAP Desktop and from the command line Processing chains ( graphs ) are configured in XML files Graphical Graph Builder Graph Processing Tool (gpt) for executing of graphs (chains) >gpt -help

5 Generic Functions and Tools Applicable for all toolboxes and wide range of sensors Raster data and vector data tools Visualisation Multi-layer displays, layer editors Image, mask, shapes overlays Colour management, fast navigation Data Analysis Various statistics and plot types Spectrum display (optical) Data processing Reprojection, Collocation, Mosaicing Level-3 processor Graph processing, ürocessing graph builder

6 SNAP Basic Concept SST ECV Reader Impl. v1.2 GeoTIFF Writer Impl. v1.0.1 Gap-Filling Alg. Impl. v2.1 Gap-Filling GUI Impl. v2.2 Reader API Writer API Operator API RCP Product Data Model NetBeans Platform SNAP Engine SNAP Desktop

7 Basic Concepts SNAP has been designed as a EO raster data visualisation, analysis and processing system However vector data is supported through an OGC compatible model (GeoTools) In SNAP, almost all EO data processing is done through a pull-processing approach: If some raster data is required, such as for display or processing, it is obtained from some raster data source The source can be a product reader that reads from a file, or a raster data operator that computes its output from other raster data This way, raster data read/computation requests are made from one raster data node to another forming directed acyclic imaging graphs

8 Basic Concepts Product Data Model Product : has a file-name, type-name has a scene raster size has a GeoCoding has a model coordinate reference system (CRS) has any number of RasterDataNodes has any number of VectorDataNodes has MetadataElements RasterDataNode: has a name, unit, description has a raster data type and size provides raster data can be a TiePointGrid, Band, VirtualBand, FilteredBand, Mask

9 Basic Concepts Product Data Model TiePointGrid: a grid that is up-sampled by linear interpol. to a larger raster size Band: receives its raster data on-demand from a ProductReader or an Operator or a MultiLevelImage VirtualBand: a band which computes its raster data on demand from an band maths expression FilteredBand: a band which computes its raster data on demand from filter kernels Mask: a band with 1-byte Boolean pixels which can be used as ROI

10 Basic Concepts - Behaviour ProductWriter: 1. writes header once (structure + metadata) 2. writes raster data to output on demand 3. requests raster data from sources Operator: 1. One target product, N source products 2. computes raster data for target on demand 3. requests raster data from sources ProductReader: 1. reads product header once (structure + metadata) 2. reads raster data regions from input on demand

11 Programming Language SNAP is programmed entirely in Java. Why? Java is cool and beautiful. Java is also very fast (as C), secure, and truly platform independent. So we have a SNAP Java API SNAP now supports also Python. Why? Python is cool and beatiful, and most of you use it. However, for raster data processing plain Python is very, very slow. Unless you use numpy and the like. Therefore SNAP supports two Python implementations CPython 2.7, 3.3, 3.4 to use with numpy etc ( snappy) Jython 2.7 to develop also SNAP GUI extensions There is no dedicated SNAP Python API Instead we reuse the SNAP Java API from Python

12 SNAP API Use Cases Use case #1: Toolbox reuse SNAP calls into user s code via extension point API (e.g. Operator) User s code calls back into SNAP libraries via SNAP API Use case #2: SNAP extension User s Java Program User s program calls into SNAP libraries via SNAP API e.g. ProductIO.readProduct(..) User s Python Program SNAP Engine - Product - Band - TiePointGrid - - ProductIO - GPF - In-built or user s native Java Extension In-built or user s native Python extension In-built or user s executable extension Native R extension SNAP invokes external user tool with selected ECV file, e.g. a MATLAB program, then ingests generated outputs: stand-alone tools adapter

13 Development Environment SNAP 2.0 beta 8, the installed version Python coding Python 2.7, 3.3 or 3.4 git to clone code from github.com/senbox-org, especially snap-examples PyCharm, probably the best Python IDE Java coding JDK 1.8 update 60 IntelliJ IDEA for sure the best Java IDE Maven to compile and package Java sources

14 Java API Docs Java API Docs SNAP Engine SNAP Desktop Start Python coding by looking at the examples by looking up classes used in the Java API Docs How to interpret as Python developer?

15 Java API Docs - ProductIO

16 Java API Docs Python code From ProductIO: From Product: from snappy import ProductIO p = ProductIO.readProduct( /eodata/test.nc ) b13 = p.getband( radiance_13 )

17 Java API Docs Python (cont.) Java to (C)Python type conversions: Java java.lang.string boolean byte, short, int, long float, double byte[], short[], int[], long[], float[], double[] null value any java.lang.object Python str bool int float Python buffer protocol, Python sequence protocol e.g. pass to numpy array constructors None value Wrapped Java object

18 Product Data Model - Product Product * * VectorDataNode uuid: String filelocation: URI starttime: UTC stoptime: UTC * RasterDataNode

19 Product Data Model Metadata Node name: String 0..1 metadata MetadataElement 0..* children attributes 0..* MetadataAttribute value: Object

20 Product Data Model Node Groups Node 0..n children Group<T extends Node> getnodecount(): int getnode(index: int): T iterator(): Iterator<T> addnode(node: T) insertnode(i: int, node: T) removenode(node: T) 0..1 parent

21 Product Data Model Node Observation Product Data Model (SNAP-Engine) RCP (SNAP Desktop) register listener implementation ProductExplorerController Node NodeListener ProductExplorerNodeListener addnodelistener(l: NodeListener) removenodelistener(l: NodeListener) firenodechanged() firenodedatachanged() * nodelisteners nodechanged(e: NodeChangeEvent) nodedatachanged(e: NodeChangeEvent) nodesadded(e: NodeChangeEvent) nodesremoved(e: NodeChangeEvent) nodechanged(e: NodeChangeEvent) nodedatachanged(e: NodeChangeEvent) nodesadded(e: NodeChangeEvent) nodesremoved(e: NodeChangeEvent)

22 Product Data Model Vector Data Node featuretype 1 SimpleFeatureType Point Polyline Polygon MultiPolygon VectorDataNode 0..* features SimpleFeature Geometry MultiGeometry

23 Product Data Model - Raster Data RasterDataNode MultiLevelImage getlevelcount(): int getlevelimage(level:int): RenderedImage provide RenderedImage gettilewidth(): int gettileheight(): int getwidth(): int getheight(): int getdata(): Raster getdata(r: Rectangle): Raster gettile(tilex:int, tiley:int): Raster 1 sourceimage role: String rasterwidth: int rasterheight: int getgeophysicalimage(): MultiLevelImage getsourceimage(): MultiLevelImage setsourceimage(img: MultiLevelImage) createsourceimage(): MultiLevelImage readpixels(x:int, y:int, w:int, h:int, data:int[]) readpixels(x:int, y:int, w:int, h:int, data:float[]) readpixels(x:int, y:int, w:int, h:int, data:double[]) writepixels(x:int, y:int, w:int, h:int, data:int[]) writepixels(x:int, y:int, w:int, h:int, data:float[]) writepixels(x:int, y:int, w:int, h:int, data:double[]) 0..* ancillarybands Used to represent uncertainty information. TiePointGrid Band 0..1 validpixelmask VirtualBand FilteredBand Mask Used to reflect missing-data, e.g. given by a nodata-value or quality flag combintation, etc.

24 Product Data Model Flags and Index Coding Node MetadataElement SampleCoding rasterwidth: int rasterheight: int rastertype: int RasterDataNode flagcoding indexcoding FlagCoding IndexCoding

25 Product Data Model Geo Coding TiePointGeoCoding RasterDataNode rasterwidth: int rasterheight: int rastertype: int 0..1 geocoding GeoCoding getgeocrs(): CRS getmapcrs(): CRS getimagecrs(): CRS getpixelpos(g: GeoPos): PixelPos getgeopos(p: PixelPos): GeoPos PixelGeoCoding GcpGeoCoding CrsGeoCoding

26 Data Pull Processing SstCciProductReader: ProductReader reader FileReadOperator: Operator SubsetOperator: Operator AggregOperator: Operator GapFillOperator: Operator targetproduct operator targetproduct operator targetproduct operator targetproduct operator <CDM-Instance-1>: Product sourceproduct <CDM-Instance-2>: sourceproduct <CDM-Instance-3>: sourceproduct Product Product <CDM-Instance-4>: Product convert and write ECV data AnimGifWriter: ProductWriter

Proba-V and S3-SYN SNAP Toolbox: status and updates

Proba-V and S3-SYN SNAP Toolbox: status and updates Proba-V QWG-07 Proba-V and S3-SYN SNAP Toolbox: status and updates Carsten Brockmann 04.05.2018 SNAP 6 Release January 2018 SNAP http://step.esa.int Version 6 Direct data access (SciHub) integration Plotting

More information

SNAP-Sentinel-1 in a Nutshell

SNAP-Sentinel-1 in a Nutshell SNAP-Sentinel-1 in a Nutshell Dr. Andrea Minchella 1 st ESA Advanced Training Course on Remote Sensing of the Cryosphere 13 September 2016, University of Leeds, Leeds, UK What is SNAP? Credit: SNAP The

More information

SeaDAS and BEAM User Tools

SeaDAS and BEAM User Tools Sean Bailey NASA GSFC Norman Fomferra Brockmann Consult SeaDAS and BEAM User Tools Data Processing, Analysis and Exploitation Tools International Ocean Colour Science Meeting 2013 Darmstadt, 07.05.2013

More information

SNAP-Sentinel-1 in a Nutshell

SNAP-Sentinel-1 in a Nutshell SNAP-Sentinel-1 in a Nutshell Dr. Andrea Minchella 21-22/01/2016 ESA SNAP-Sentinel-1 Training Course Satellite Applications Catapult - Electron Building, Harwell, Oxfordshire What is SNAP? Credit: SNAP

More information

*Open source (GIT) *Server : data storage and indexing, web server. *Client : web and stand alone (under development)

*Open source (GIT) *Server : data storage and indexing, web server. *Client : web and stand alone (under development) EO Open Science 2.0, ESRIN, Oct. 13 2015 *The main objective of the project is to allow oceanographers experts to discover the existence and then to handle jointly, in a convenient, flexible and intuitive

More information

NEST 4C-1.1: an ESA toolbox for scientific exploitation of SAR data

NEST 4C-1.1: an ESA toolbox for scientific exploitation of SAR data NEST 4C-1.1: an ESA toolbox for scientific exploitation of SAR data Andrea Minchella RSAC c/o European Space Agency ESRIN EO Science, Applications and New Technologies Department Exploitation & Services

More information

NEST (Next ESA SAR Toolbox) 2C release demonstration

NEST (Next ESA SAR Toolbox) 2C release demonstration NEST (Next ESA SAR Toolbox) 2C release demonstration Andrea Minchella 1 July 2009 D3l1b CONTENTS - Brief introduction to the NEST project - Basic concepts 1. How accessing data: Product readers, Open Raster

More information

Processing and analysis of Earth Observation data

Processing and analysis of Earth Observation data Processing and analysis of Earth Observation data Carsten Brockmann, Brockmann Consult GmbH ESA Climate Change Initiative Toolbox Science Lead Big Data Analytics & GIS, Münster 20.-21. September 2017.

More information

Ice surface velocities using SAR

Ice surface velocities using SAR Ice surface velocities using SAR Thomas Schellenberger, PhD ESA Cryosphere Remote Sensing Training Course 2018 UNIS Longyearbyen, Svalbard 12 th June 2018 thomas.schellenberger@geo.uio.no Outline Data

More information

NEST: the ESA toolbox for scientific exploitation of SAR data

NEST: the ESA toolbox for scientific exploitation of SAR data NEST: the ESA toolbox for scientific exploitation of SAR data Andrea Minchella (1), L. Veci (2), Marcus Engdahl (3) and Petar Marinkovic (4) (1) RSAC c/o European Space Agency, ESA-ESRIN (2) Array Systems

More information

CROP MAPPING WITH SENTINEL-2 JULY 2017, SPAIN

CROP MAPPING WITH SENTINEL-2 JULY 2017, SPAIN _p TRAINING KIT LAND01 CROP MAPPING WITH SENTINEL-2 JULY 2017, SPAIN Table of Contents 1 Introduction to RUS... 3 2 Crop mapping background... 3 3 Training... 3 3.1 Data used... 3 3.2 Software in RUS environment...

More information

NEST: an ESA toolbox for scientific exploitation of SAR data

NEST: an ESA toolbox for scientific exploitation of SAR data NEST: an ESA toolbox for scientific exploitation of SAR data M.Engdahl (ESA-ESRIN), A. Minchella (RSAC c/o ESA), P. Marinkovic (Ppo.Labs), L. Veci (Array Systems Computing) 26/07/2012 IGARSS 2012 Munich

More information

Using and Managing Raster Data in Server Applications

Using and Managing Raster Data in Server Applications Using and Managing Raster Data in Server Applications Peter Becker Feroz Abdul-Kadar ESRI Developer Summit 2008 1 Schedule 75 minute session 60 65 minute lecture 10 15 minutes Q & A following the lecture

More information

Geoapplications development Control work 1 (2017, Fall)

Geoapplications development Control work 1 (2017, Fall) Page 1 Geoapplications development Control work 1 (2017, Fall) Author: Antonio Rodriges, Oct. 2017 http://rgeo.wikience.org/ Surname, name, patronymic: Group: Date: Signature: Select all correct statements.

More information

TrueOrtho with 3D Feature Extraction

TrueOrtho with 3D Feature Extraction TrueOrtho with 3D Feature Extraction PCI Geomatics has entered into a partnership with IAVO to distribute its 3D Feature Extraction (3DFE) software. This software package compliments the TrueOrtho workflow

More information

PUG List. Raster Analysis 3D Analysis Geoprocessing. Steve Kopp

PUG List. Raster Analysis 3D Analysis Geoprocessing. Steve Kopp PUG List Raster Analysis 3D Analysis Geoprocessing Steve Kopp Contour Polygons Spatial Analyst - color-filled contours. Similar to thematic classification, where blue = -1000 to zero, and red = 0 to +1000,

More information

Hands on practices on products and applications.

Hands on practices on products and applications. Hands on practices on products and applications. Karol Paradowski Senior Specialist Institute of Geodesy and Cartography Modzelewskiego 27 Street 02-679 Warsaw Poland karol.paradowski@igik.edu.pl www.igik.edu.pl

More information

Terms and definitions * keep definitions of processes and terms that may be useful for tests, assignments

Terms and definitions * keep definitions of processes and terms that may be useful for tests, assignments Lecture 1 Core of GIS Thematic layers Terms and definitions * keep definitions of processes and terms that may be useful for tests, assignments Lecture 2 What is GIS? Info: value added data Data to solve

More information

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME

Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Scripting without Scripts: A User-Friendly Integration of R, Python, Matlab and Groovy into KNIME Felix Meyenhofer Technology Development Studio 3. March 2011 4th KNIME Users Group Meeting and Workshop

More information

ArcGIS Enterprise Building Raster Analytics Workflows. Mike Muller, Jie Zhang

ArcGIS Enterprise Building Raster Analytics Workflows. Mike Muller, Jie Zhang ArcGIS Enterprise Building Raster Analytics Workflows Mike Muller, Jie Zhang Introduction and Context Raster Analytics What is Raster Analytics? The ArcGIS way to create and execute spatial analysis models

More information

FLOOD MONITORING WITH SENTINEL-1 USING S-1 TOOLBOX - JANUARY 2015, MALAWI

FLOOD MONITORING WITH SENTINEL-1 USING S-1 TOOLBOX - JANUARY 2015, MALAWI TRAINING KIT HAZA01 FLOOD MONITORING WITH SENTINEL-1 USING S-1 TOOLBOX - JANUARY 2015, MALAWI Table of Contents 1 Introduction to RUS... 2 2 Training... 2 2.1 Data used... 2 2.2 Software in RUS environment...

More information

State of JTS. Presented by: James, Jody, Rob, (Martin)

State of JTS. Presented by: James, Jody, Rob, (Martin) State of JTS Presented by: James, Jody, Rob, (Martin) Welcome Martin Davis James Hughes Jody Garnett Rob Emanuele Vivid Solutions CCRi Boundless Azavea 2 Introducing JTS Topology Suite udig Introduction

More information

Thermo-Calc Property Model Framework Documentation

Thermo-Calc Property Model Framework Documentation Thermo-Calc Property Model Framework Documentation Release 2017b Thermo-Calc Software AB Aug 23, 2017 CONTENTS 1 Introduction 1 1.1 Thermo-Calc Custom Property Models.................................

More information

Creating Mosaic Datasets and Publishing Image Services using Python

Creating Mosaic Datasets and Publishing Image Services using Python Creating Mosaic Datasets and Publishing Image Services using Python Jie Zhang, Jamie Drisdelle Session Offering ID: 305 Overview Introduction to mosaic dataset Raster product for sensor imagery Automatic

More information

What s New in ecognition 9.0. Christian Weise

What s New in ecognition 9.0. Christian Weise What s New in ecognition 9.0 Christian Weise Presenting ecognition 9 Release Date: March 2014 Who s eligible? All user with a valid ecognition maintenance contract Presenting ecognition 9 ecognition version

More information

Serving Large-Scale Coverages - How to Tame an Elephant

Serving Large-Scale Coverages - How to Tame an Elephant Serving Large-Scale s - How to Tame an Elephant OGC Workshop 2 INSPIRE Conference Edinburgh, 29-jun-2011 Peter Baumann Jacobs University rasdaman GmbH OGC WCS.SWG chair OGC spec editor Sensor & Image Data

More information

NV CCS USER S GUIDE V1.1 ADDENDUM

NV CCS USER S GUIDE V1.1 ADDENDUM NV CCS USER S GUIDE V1.1 ADDENDUM PAGE 1 FOR CREDIT PROJECTS THAT PROPOSE TO MODIFY CONIFER COVER Released 5/19/2016 This addendum provides instructions for evaluating credit projects that propose to treat

More information

Esri Geodatabase (File Geodatabase API) Reader/Writer

Esri Geodatabase (File Geodatabase API) Reader/Writer FME Readers and Writers 2013 SP1 Esri Geodatabase (File Geodatabase API) Reader/Writer The Esri Geodatabase (File Geodatabase API) reader and writer modules allow FME to store data in and retrieve data

More information

Use Case 2: Extending object/application to support a new object attribute and a validation for that attribute using either Scripting or Java.

Use Case 2: Extending object/application to support a new object attribute and a validation for that attribute using either Scripting or Java. Overview This use case in this document show how the tooling provided with the products based on Tivoli s process automation engine can help you add value through product extensions and/or integration

More information

Introduction to the Image Analyst Extension. Mike Muller, Vinay Viswambharan

Introduction to the Image Analyst Extension. Mike Muller, Vinay Viswambharan Introduction to the Image Analyst Extension Mike Muller, Vinay Viswambharan What is the Image Analyst Extension? The Image Analyst Extension (IA) is an application extension which extends ArcGIS Pro with

More information

GENeric European Sustainable Information Space for Environment.

GENeric European Sustainable Information Space for Environment. GENeric European Sustainable Information Space for Environment http://www.genesis-fp7.eu/ Outline Introduction The GENESIS FP7 project The GENESIS solution s architecture GENESIS experience with INSPIRE

More information

State of JTS. Presented by: James, Jody, Rob, (Martin)

State of JTS. Presented by: James, Jody, Rob, (Martin) State of JTS Presented by: James, Jody, Rob, (Martin) Welcome Martin Davis James Hughes Jody Garnett Rob Emanuele Vivid Solutions CCRi Boundless Azavea 2 Introducing JTS Topology Suite udig Introduction

More information

Hands on practices on products and applications.

Hands on practices on products and applications. Hands on practices on products and applications. Karol Paradowski Senior Specialist Institute of Geodesy and Cartography Modzelewskiego 27 Street 02-679 Warsaw Poland karol.paradowski@igik.edu.pl www.igik.edu.pl

More information

SENTINEL-2 PROCESSING IN SNAP

SENTINEL-2 PROCESSING IN SNAP SENTINEL-2 PROCESSING IN SNAP EXERCISE 1 (exploring S2 data) Data: Sentinel-2A Level 1C: S2A_MSIL1C_20170316T094021_N0204_R036_T33SVB_20170316T094506.SAFE 1. Open file 1.1. File / Open Product 1.2. Browse

More information

Next generation of raster support for the GeoTools-GeoServer stack

Next generation of raster support for the GeoTools-GeoServer stack Next generation of raster support for the GeoTools-GeoServer stack Dott. Ing Simone Giannecchini (GeoSolutions), Ing. Alessio Fabiani (GeoSolutions), Dott. Ing. Daniele Romagnoli (GeoSolutions), PhD, Elena

More information

WA1278 Introduction to Java Using Eclipse

WA1278 Introduction to Java Using Eclipse Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc WA1278 Introduction to Java Using Eclipse This course introduces the Java

More information

Distributed Image Analysis Using the ArcGIS API for Python

Distributed Image Analysis Using the ArcGIS API for Python Distributed Image Analysis Using the ArcGIS API for Python Jie Zhang, Elizabeth Graham The ArcGIS Platform Is a Comprehensive Imagery Platform System of Engagement System of Insight Professional Imagery

More information

Co-ReSyF Hands-on sessions

Co-ReSyF Hands-on sessions This project has received funding from the European Union s Horizon 2020 Research and Innovation Programme under grant agreement no 687289 Co-ReSyF Hands-on sessions Coastal Waters Research Synergy Framework

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Getting started with Eclipse 05/02/2010 Prepared by Chris Panayiotou for EPL 233 1 What is Eclipse? o Eclipse is an open source project http://www.eclipse.org Consortium of companies,

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

File Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos.

File Input/Output. Introduction to Computer Science I. Overview (1): Overview (2): CSE 1020 Summer Bill Kapralos. Bill Kapralos. File Input/Output Tuesday, July 25 2006 CSE 1020, Summer 2006, Overview (1): Before We Begin Some administrative details Some questions to consider The Class Object What is the Object class? File Input

More information

DevKitchen 2018 Python in Cinema 4D R20

DevKitchen 2018 Python in Cinema 4D R20 Python in Cinema 4D R20 Disclaimer text if necessary. Python in R20 Changes New Console c4dpy MAXON API 2 Python in R20 Changes Python API not affected by C++ API backward compatibility break See Python

More information

Your Prioritized List. Priority 1 Faulted gridding and contouring. Priority 2 Geoprocessing. Priority 3 Raster format

Your Prioritized List. Priority 1 Faulted gridding and contouring. Priority 2 Geoprocessing. Priority 3 Raster format Your Prioritized List Priority 1 Faulted gridding and contouring Priority 2 Geoprocessing Priority 3 Raster format Priority 4 Raster Catalogs and SDE Priority 5 Expanded 3D Functionality Priority 1 Faulted

More information

What s New for Developers in ArcGIS Maura Daffern October 16

What s New for Developers in ArcGIS Maura Daffern October 16 What s New for Developers in ArcGIS 10.1 Maura Daffern October 16 mdaffern@esri.ca Today s Agenda This seminar is designed to help you understand: 1) Using Python to increase productivity 2) Overview of

More information

Integrated Map Tool. Overview, Current Status, and Things to Come

Integrated Map Tool. Overview, Current Status, and Things to Come Integrated Map Tool Overview, Current Status, and Things to Come Integrated Mapping and Analysis Tool (IMAT) map widget Integrated Mapping Tool IMAT Reusable components for portrayal, query, analysis,

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

PROGRAMMING FUNDAMENTALS

PROGRAMMING FUNDAMENTALS PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write

More information

Chapter 4 Introduction to Control Statements

Chapter 4 Introduction to Control Statements Introduction to Control Statements Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives 2 How do you use the increment and decrement operators? What are the standard math methods?

More information

Raster Analysis and Image Processing in ArcGIS Enterprise

Raster Analysis and Image Processing in ArcGIS Enterprise Raster Analysis and Image Processing in ArcGIS Enterprise Vinay Viswambharan, Jie Zhang Overview Patterns of use - Introduction to image processing and analysis in ArcGIS - Client/Server side processing

More information

Automating Distributed Raster Analysis using the Image Server REST API. Jie Zhang Zikang Zhou Demo Theater 2 - Oasis 1

Automating Distributed Raster Analysis using the Image Server REST API. Jie Zhang Zikang Zhou Demo Theater 2 - Oasis 1 Automating Distributed Raster Analysis using the Image Server REST API Jie Zhang Zikang Zhou Demo Theater 2 - Oasis 1 What is Distributed Raster Analysis? From 10.5, ArcGIS has a new way to create and

More information

The NetRexx Interpreter

The NetRexx Interpreter The NetRexx Interpreter http://www2.hursley.ibm.com/netrexx/ RexxLA / WarpTech -- 26 May 2000 Mike Cowlishaw IBM Fellow mfc@uk.ibm.com netrexxi Overview Introduction to NetRexx Demo. -- compiling and interpreting

More information

PYTHON FOR MEDICAL PHYSICISTS. Radiation Oncology Medical Physics Cancer Care Services, Royal Brisbane & Women s Hospital

PYTHON FOR MEDICAL PHYSICISTS. Radiation Oncology Medical Physics Cancer Care Services, Royal Brisbane & Women s Hospital PYTHON FOR MEDICAL PHYSICISTS Radiation Oncology Medical Physics Cancer Care Services, Royal Brisbane & Women s Hospital TUTORIAL 1: INTRODUCTION Thursday 1 st October, 2015 AGENDA 1. Reference list 2.

More information

What s New in ecognition 9.0

What s New in ecognition 9.0 What s New in ecognition 9.0 Dr. Waldemar Krebs tranforming data into GIS ready information Trends in Earth Observation Increasing need for detailed, up-to-date information as a basis for planning and

More information

Pulp Python Support Documentation

Pulp Python Support Documentation Pulp Python Support Documentation Release 1.0.1 Pulp Project October 20, 2015 Contents 1 Release Notes 3 1.1 1.0 Release Notes............................................ 3 2 Administrator Documentation

More information

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass

More information

Quick Guide to MapWindow GIS Desktop Application

Quick Guide to MapWindow GIS Desktop Application Quick Guide to MapWindow 1 Quick Guide to MapWindow GIS Desktop Application Version 2 January 2007 Adapted by Tom Croft. This is a summary user guide for commonly used tools and capabilities and does not

More information

GEOSPATIAL ENGINEERING COMPETENCIES. Geographic Information Science

GEOSPATIAL ENGINEERING COMPETENCIES. Geographic Information Science GEOSPATIAL ENGINEERING COMPETENCIES Geographic Information Science The character and structure of spatial information, its methods of capture, organisation, classification, qualification, analysis, management,

More information

ERDAS Image Web Server Datasheet

ERDAS Image Web Server Datasheet ERDAS Image Web Server Datasheet age 1 of 10 ERDAS Image Web Server Image serving protocols Multi-protocol support Expose images with different protocols. ERDAS Compressed Wavelet Protocol (ECWP) image

More information

Chapter 3 Syntax, Errors, and Debugging. Fundamentals of Java

Chapter 3 Syntax, Errors, and Debugging. Fundamentals of Java Chapter 3 Syntax, Errors, and Debugging Objectives Construct and use numeric and string literals. Name and use variables and constants. Create arithmetic expressions. Understand the precedence of different

More information

Raster Analytics in Image Server: An Introduction. Mike Muller

Raster Analytics in Image Server: An Introduction. Mike Muller Raster Analytics in Image Server: An Introduction Mike Muller Introduction and Context The ArcGIS Platform and ArcGIS Image Server enable access to imagery and analysis through a wide range of integrated

More information

Netbeans Notes ( )

Netbeans Notes ( ) Netbeans 6.9.1 Notes (2011-02-08) [Note: Netbeans is a Sun-Oracle IDE (integrated development environment) open source product almost 10 years old by now (2011). These are all free downloads. The latest

More information

SHIP DETECTION WITH SENTINEL-1 USING SNAP S-1 TOOLBOX - GULF OF TRIESTE, ITALY

SHIP DETECTION WITH SENTINEL-1 USING SNAP S-1 TOOLBOX - GULF OF TRIESTE, ITALY TRAINING KIT - OCEA01 SHIP DETECTION WITH SENTINEL-1 USING SNAP S-1 TOOLBOX - GULF OF TRIESTE, ITALY Table of Contents 1 Introduction... 3 2 Training... 3 2.1 Data used... 3 2.2 Software in RUS environment...

More information

Cloud scaling of Visual Weather

Cloud scaling of Visual Weather Cloud scaling of Visual Weather Jozef Matula CTO 1 EGOWS Reading, United Kingdom, 15 th -17 th October 2018 Cloud - Separation of responsibilities 2 https://blogs.technet.microsoft.com/yungchou/2010/11/15/cloud-computing-primer-for-it-pros/

More information

Features available in this release of Encom Discover are: Simplified installation - Discover and Discover 3D are now bundled in the same installer

Features available in this release of Encom Discover are: Simplified installation - Discover and Discover 3D are now bundled in the same installer EncomTM DiscoverTM v12.0 Pitney Bowes Business Insight s latest release of Encom Discover showcases the ongoing innovative developments that have made Discover the must-have GIS application for geoscientists

More information

XAL Status Report Spring, 2008

XAL Status Report Spring, 2008 Spring, 2008 Thomas Pelaia II EPICS Meeting March 14, 2008 What is XAL? Development environment for creating accelerator physics applications, scripts and services Control room applications Analysis applications

More information

Software Development & Education Center. Java Platform, Standard Edition 7 (JSE 7)

Software Development & Education Center. Java Platform, Standard Edition 7 (JSE 7) Software Development & Education Center Java Platform, Standard Edition 7 (JSE 7) Detailed Curriculum Getting Started What Is the Java Technology? Primary Goals of the Java Technology The Java Virtual

More information

Webservices In Java Tutorial For Beginners Using Netbeans Pdf

Webservices In Java Tutorial For Beginners Using Netbeans Pdf Webservices In Java Tutorial For Beginners Using Netbeans Pdf Java (using Annotations, etc.). Part of way) (1/2). 1- Download Netbeans IDE for Java EE from here: 2- Follow the tutorial for creating a web

More information

IADS Training Syllabus. December 2014 SYMVIONICS Document SSD-IADS SYMVIONICS, Inc. All rights reserved.

IADS Training Syllabus. December 2014 SYMVIONICS Document SSD-IADS SYMVIONICS, Inc. All rights reserved. IADS Training Syllabus December 2014 SYMVIONICS Document SSD-IADS-015 1996-2015 SYMVIONICS, Inc. All rights reserved. 1 Length: 8 Hours Prerequisite: None IADS Basic Module Introduction IADS Real-Time

More information

Chapter 11 Introduction to Programming in C

Chapter 11 Introduction to Programming in C Chapter 11 Introduction to Programming in C C: A High-Level Language Gives symbolic names for containers of values don t need to know which register or memory location Provides abstraction of underlying

More information

Serving Imagery with ArcGIS Server 10.1

Serving Imagery with ArcGIS Server 10.1 Serving Imagery with ArcGIS Server 10.1 Presented by: André Piasta apiasta@esri.ca Esri Canada Users Conference Calgary, AB 28 May 2013 Today s Agenda ArcGIS server and image services Publishing of imagery

More information

What's New in ecognition 9

What's New in ecognition 9 Christian Weise Product Manager APRIL 2016 What's New in ecognition 9 Introduction Background ecognition Suite Advanced analysis software and development environment available for geospatial applications

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

A Framework for Variational Calculation of Uncertainty. Carsten Brockmann , Proba-V QWG #5

A Framework for Variational Calculation of Uncertainty. Carsten Brockmann , Proba-V QWG #5 A Framework for Variational Calculation of Uncertainty Carsten Brockmann 10.05.2017, Proba-V QWG #5 Rationale Uncertainties of EO derived products are required By end users, for comparison with other measurements,

More information

ASPRS LIDAR Data Exchange Format (LAS) Reader/Writer

ASPRS LIDAR Data Exchange Format (LAS) Reader/Writer FME Readers and Writers 2013 SP1 ASPRS LIDAR Data Exchange Format (LAS) Reader/Writer Format Note: This format is not supported by FME Base Edition. The American Society Photogrammetry and Remote Sensing

More information

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017 Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began

More information

ENVI Tutorial: Introduction to ENVI

ENVI Tutorial: Introduction to ENVI ENVI Tutorial: Introduction to ENVI Table of Contents OVERVIEW OF THIS TUTORIAL...1 GETTING STARTED WITH ENVI...1 Starting ENVI...1 Starting ENVI on Windows Machines...1 Starting ENVI in UNIX...1 Starting

More information

The XML PDF Access API for Java Technology (XPAAJ)

The XML PDF Access API for Java Technology (XPAAJ) The XML PDF Access API for Java Technology (XPAAJ) Duane Nickull Senior Technology Evangelist Adobe Systems TS-93260 2007 JavaOne SM Conference Session TS-93260 Agenda Using Java technology to manipulate

More information

Introduction. Martin Ledvinka. Winter Term 2018

Introduction. Martin Ledvinka. Winter Term 2018 Introduction Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2018 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Introduction Winter Term 2018 1 / 23 Contents 1 Organization 2 Projects in Semester

More information

SHIP DETECTION IN SENTINEL-1 OCTOBER 2016, GULF OF TRIESTE

SHIP DETECTION IN SENTINEL-1 OCTOBER 2016, GULF OF TRIESTE TRAINING KIT SHIP DETECTION IN SENTINEL-1 OCTOBER 2016, GULF OF TRIESTE Table of Contents 1 Introduction... 2 2 Barcolana Regatta - Gulf Of Trieste, 9 October 2016... 2 3 Training... 3 3.1 Data used...

More information

pvextractor Documentation

pvextractor Documentation pvextractor Documentation Release 0.0.dev289 Adam Ginsburg and Thomas Robitaille Sep 12, 2017 Contents I Extracting slices programmatically 3 1 Defining a path 5 2 Extracting a slice 7 3 Saving the slice

More information

CS2113 Lab: Collections 10/29/2018

CS2113 Lab: Collections 10/29/2018 CS2113 Lab: Collections Yawei Wang 10/29/2018 Install and Use IntelliJ on Mac or Window If you haven t installed JDK before, go to https://www.oracle.com/technetwork/java/javaseproducts/downloads/in dex.html

More information

Glacier Mapping and Monitoring

Glacier Mapping and Monitoring Glacier Mapping and Monitoring Exercises Tobias Bolch Universität Zürich TU Dresden tobias.bolch@geo.uzh.ch Exercise 1: Visualizing multi-spectral images with Erdas Imagine 2011 a) View raster data: Open

More information

ArcGIS for Geoscientists

ArcGIS for Geoscientists School of Geosciences ArcGIS for Geoscientists R. Armit & T. Carmichael GIS A geographic information system (GIS) is a system designed to capture, store, manipulate, analyze, manage, and present all types

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;

More information

Project Name. The Eclipse Integrated Computational Environment. Jay Jay Billings, ORNL Parent Project. None selected yet.

Project Name. The Eclipse Integrated Computational Environment. Jay Jay Billings, ORNL Parent Project. None selected yet. Project Name The Eclipse Integrated Computational Environment Jay Jay Billings, ORNL 20140219 Parent Project None selected yet. Background The science and engineering community relies heavily on modeling

More information

Fundamentals: Expressions and Assignment

Fundamentals: Expressions and Assignment Fundamentals: Expressions and Assignment A typical Python program is made up of one or more statements, which are executed, or run, by a Python console (also known as a shell) for their side effects e.g,

More information

Python Working with files. May 4, 2017

Python Working with files. May 4, 2017 Python Working with files May 4, 2017 So far, everything we have done in Python was using in-memory operations. After closing the Python interpreter or after the script was done, all our input and output

More information

1 Shyam sir JAVA Notes

1 Shyam sir JAVA Notes 1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write

More information

ArcGIS Runtime SDK for Java: Building Apps. Mark Baird

ArcGIS Runtime SDK for Java: Building Apps. Mark Baird ArcGIS Runtime SDK for Java: Building Apps Mark Baird Agenda Getting started with 100.4 JavaFX Base maps, layers and lambdas Graphics overlays Offline data Licensing and deployment What is happening in

More information

Notes of the course - Advanced Programming. Barbara Russo

Notes of the course - Advanced Programming. Barbara Russo Notes of the course - Advanced Programming Barbara Russo a.y. 2014-2015 Contents 1 Lecture 2 Lecture 2 - Compilation, Interpreting, and debugging........ 2 1.1 Compiling and interpreting...................

More information

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR InCLUDE Data Exchange Julia Harrell, GISP GIS Coordinator, NC DENR Julia.harrell@ncdenr.gov InCLUDE Project Partners NC Department of Environment & Natural Resources: The State of NC s lead environmental

More information

Developing Imagery Apps Using the ArcGIS API for JavaScript and WebApp Builder. Naila Khan, Chayanika Khatua

Developing Imagery Apps Using the ArcGIS API for JavaScript and WebApp Builder. Naila Khan, Chayanika Khatua Developing Imagery Apps Using the ArcGIS API for JavaScript and WebApp Builder Naila Khan, Chayanika Khatua What are we talking about today Custom applications Map Viewer Web AppBuilder ArcGIS API for

More information

Act 1. Introduction to Programming with Java

Act 1. Introduction to Programming with Java Act 1 Introduction to Programming with Java Legal Mumbo Jumbo Based on content shamelessly stolen from FIRST Team 1764. No Robots we harmed in the making of these slides. Expectations Programming can be

More information

Simple Component Writer's Guide

Simple Component Writer's Guide Simple Component Writer's Guide Note that most of the following also applies to writing ordinary libraries for Simple. The preferred language to write Simple components is Java, although it should be possible

More information

B.V. Patel Institute of BMC & IT, UTU 2014

B.V. Patel Institute of BMC & IT, UTU 2014 BCA 3 rd Semester 030010301 - Java Programming Unit-1(Java Platform and Programming Elements) Q-1 Answer the following question in short. [1 Mark each] 1. Who is known as creator of JAVA? 2. Why do we

More information

IApioneer v3.0.3 Technical Specifications. Powered by the GeoSPHERIC v3.0 Common Code Foundation

IApioneer v3.0.3 Technical Specifications. Powered by the GeoSPHERIC v3.0 Common Code Foundation IApioneer v3.0.3 Technical Specifications Powered by the GeoSPHERIC v3.0 Common Code Foundation TABLE OF CONTENTS Introduction...1 IApioneer Environment...1 Backstage... 1 Session Panel... 2 Help Panel...

More information

Michal Kuneš

Michal Kuneš The Open Microscopy Environment A DataBase for the storage and manipulation of image data Michal Kuneš xkunes@utia.cas.cz ZOI UTIA, ASCR, Friday seminar 13.12.2013 OMERO http://www.openmicroscopy.org/site/support/omero4/users/index.html

More information

Javadoc. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 7

Javadoc. Computer Science and Engineering College of Engineering The Ohio State University. Lecture 7 Javadoc Computer Science and Engineering College of Engineering The Ohio State University Lecture 7 Motivation Over the lifetime of a project, it is easy for documentation and implementation to diverge

More information

Bazaar Architecture Overview Release 2.8.0dev1

Bazaar Architecture Overview Release 2.8.0dev1 Bazaar Architecture Overview Release 2.8.0dev1 Bazaar Developers November 30, 2018 Contents 1 IDs and keys ii 1.1 IDs..................................................... ii File ids..................................................

More information

3D Graphics Programming Mira Costa High School - Class Syllabus,

3D Graphics Programming Mira Costa High School - Class Syllabus, 3D Graphics Programming Mira Costa High School - Class Syllabus, 2009-2010 INSTRUCTOR: Mr. M. Williams COURSE GOALS and OBJECTIVES: 1 Learn the fundamentals of the Java language including data types and

More information