LiDAR Training

Source: U.S. Forest Service Remote Sensing Applications Center

Lidar Training

Lidar Supporting Documentation

ArcGIS Python API 1.0 Released

Source: ArcGIS Python API 1.0 Released

At the Esri User Conference in San Diego last year, a small team of Esri engineers from the Python and Server teams huddled together with Scott Morehouse, who is one of the original designers of geographic information systems, to conceive what a modern Python API for the Web GIS would look like. Today, after eighteen months of endless design discussions, debates, development and demos, we are excited to announce the release of the ArcGIS Python API.

The project (codename Geosaurus) was initiated with this scope and vision:

Geosaurus is a project to design and implement a pythonic API for a GIS.  A GIS consists of:

–          An information model

–          Visualization functionality

–          Editing functionality

–          Information management functionality

–          Analysis functionality

A pythonic API is one which corresponds to Python best practice style in its design and implementation (e.g. PEP 8) and which leverages standard Python types, classes, and packages.

The Geosaurus API has Python modules, classes, functions, and types for managing and working with the elements of a GIS information model.  This includes both data and visualization elements (i.e. maps, scenes, layers as well as datasets).

The API design of Geosaurus will be generic – not tied to specific ArcGIS jargon or implementation patterns.  Although a “pure Python” implementation is possible for the API, it is intended to be implemented by leveraging Esri native code libraries.

In Python, a package consists of modules containing classes and functions.  A module is an installable component, with all the Python and native code necessary for execution.  Functions, classes, and class methods are parameterized using Python types.  These types include built-in primitives (e.g. string, number) and structures (list, dictionary), as well as object class instances.  Where possible, Geosaurus will employ “native” Python types (e.g. primitives, lists, dictionaries, and standard library objects) rather than introducing new types.

So, what is the ArcGIS Python API?

It is the Python API to your Web GIS, which could be online or on-premises.

It’s powerful, modern and easy to use.

What do I mean by that?

It’s powerful as it harnesses the full power and content of your Web GIS, including the ability to create, use and manage GIS resources such as users, groups and content including web maps and web layers, and provides access to the rich analytical capability of the ArcGIS platform.

The API is modern as it’s a new library built for Python 3 and integrates well with popular Python libraries such as Pandas, Numpy and the SciPy stack. It works especially well with the Jupyter Notebook and is distributed using Conda – a modern package and environment management system for Python.

And it’s easy to use. It uses standard Python idioms and types and avoids introducing a complex type system or API. We’ve worked very hard on keeping the API ‘short and sweet’.

It’s implemented on top of the REST APIs of the Web GIS platform – that’s just an implementation detail, so you know where it sits in an Architecture diagram. However, the API is a pythonic representation of a GIS and you don’t need to know anything about REST, such as how GET and POST work, how to obtain access tokens, and so on to use it.

ArcGIS Online is built into the API and everyone can use the GIS() to work with the rich collection of public-access maps, layers and tools published by Esri and authoritative sources from around the world, as well as use essential GIS and mapping functionality.

GIS(public account) lets you use the public content and tools to create, store, and manage maps, apps, and data, and share them with others using this API.

With GIS(org account), you have access to the subscriber content from the Living Atlas as well as the rich collection of spatial analysis tools and can publish, share and use content throughout your organization, across a community, and openly on the Web. The API has great support for managing and administering your ArcGIS Online Organization or ArcGIS Enterprise – users, groups and content included.

GIS(enterprise account) enables you to keep your GIS under your complete control, online or on-premises. You can use the latest geoanalytics and raster analysis tools with this API and leverage distributed analysis of large datasets to gain insights from big data or create information products. We’re dying to hear about the amazing things you will do by combining Python and the Scipy stack with realtime GIS, imagery and geoprocessing!

A free developer account lets you get started quickly with free credits, features like geocoding, routing and geoenrichment and premium content like demographic and traffic maps from Esri.

Who is this API for and what can you do with it?

If you’re a Web GIS Administrator or a DevOps person, you can automate most of your repetitive tasks and use scripts instead of using the UI and clicking your way through. You can schedule these scripts to run at periodic intervals and do things like standing up Portals or your online org, creating users, assigning roles, creating groups and set access restrictions and so on.

If you’re a content publisher, you can take care of repeated content creation and content validation workflows using scripts. You can clean up and fix stale items in your GIS, script and automate the creation of web maps and web layers, update tiles and features, fix broken links in web maps and layers and update them  – doing things that may be tedious or not apparent through the UI.

If you’re an analyst, data scientist or academic user, you can use all of the analytical capabilities of the ArcGIS platform including spatial analysis as well as the recently introduced geoanalytics and raster analytics tools that provide distributed analysis of large datasets.

You can also use the API through the Jupyter notebook to record your workflows and share how you arrived at your conclusions. You can combine this API with the rich set of libraries in Python, especially in the machine learning and analysis space and do all sorts of amazing things.

And finally, an important category of users this API is targeted towards is that of a Web GIS power user.

If you know a lot about Web GIS, use it everyday, and want to become more efficient by automating your workflows, this could be the first ArcGIS API for you. Python is a great language for people who want to start programming, and is very readable…

… and conversely, this API is geared towards a Python programmer who doesn’t know a lot about GIS but wants to add geographic analysis to his or her workflows. It provides a gentle introduction to GIS for the Python programmer as it models a generic GIS system through its simple, intuitive design.

That’s quite a mouthful. It’s probably best seen through a demo. So, here is the ArcGIS Python API explained in a quick 5 minute video:

A Pythonic API for GIS

The ArcGIS Python API is Pythonic representation of a GIS. We designed the API to be modular – the modules make it easy to learn and use the API. Each module has a handful of types and functions that are focused towards one aspect of the GIS.

 Pythonic GIS API

The gis module is the most important and provides the entry point into the GIS. It lets you manage users, groups and content in the GIS. GIS admins spend a lot of time on this module.

The modules in green are used to access the various spatial capabilities or geographic datasets in the GIS. These module includes a family of geoprocessing functions, types and other helper objects for working with spatial data of a particular type. Some examples are these modules:

  • The features module is used for working with feature data, feature layers and collections of feature layers in the GIS. It also contains the spatial analysis geoprocessing tools which operate against feature data.
  • The raster module containing classes and raster analysis geoprocessing tools for working with raster data and imagery layers.
  • The geoanalytics module provides types and geoprocessing tools for distributed analysis of large feature and tabular datasets.

The modules in blue provide additional functionality for your workflows. They include the geocoding module which is for finding places and the geoprocessing module that makes it easy to import third party geoprocessing tools and work with them.

The modules in orange allow you to visualize GIS data and analysis. They include the MapView Jupyter notebook widget for visualizing maps and layers and classes and functions for working with web maps and web layers.

Where can I get it?

All the information you need about the API can be found in the product website at http://developers.arcgis.com/python.  From here, you can find links that take you to the API guide, sample notebooks, API reference, a helpful forum to ask and answer questions and quick links that tell you how to install the API and get started quickly.

The samples are organized by the different user profiles that I mentioned earlier. There are samples for power users and developers, administrators, analysts and data scientists and for content publishers.

The samples and guides are in the form of Jupyter Notebooks that you can download from the GitHub repository, and run locally on your system. The samples also serve as starter templates on which you could base your scripts upon.

Reflection and the Road Ahead

While there’s still a lot of ground to cover and we have a busy year planned for this exciting, new API, Scott has this to say about reaching this important milestone of the first public release of this API:

Rohit and his development team has been remarkably successful in carrying out this vision and in developing a great Python experience for working with maps and geographic information.

I’m looking forward to the capabilities of the ArcGIS Python API to continue to grow, with functionality expressed clearly in a way that leverages the Python scientific programming environment.

In this festive season, when families huddle together to celebrate Christmas and bring in the new year and programmers recharge their batteries and sharpen their knives by looking at what the latest developments are in the technology space, we’re excited to release this powerful, modern and easy to use API, and hope you’ll find it useful!

Invitation to participate in AWRA 2017 Special Session on GIS/RS approaches to aquatic connectivity

connectivity

Dear Colleagues,

Dr. Melanie Vanderhoof and myself are proposing a Special Session for the AWRA 2017 Specialty Conference, focused on Aquatic System Connectivity, and we would like you to consider giving a talk within our Special Session (www.awra.org/meetings/Snowbird2017). This conference will be held April 30 – May 3, 2017 in Snowbird, Utah. Our proposed session is entitled, “Using GIS and remote sensing approaches to inform aquatic system connectivity.” A summary of the Special Session is below. Conference organizers are requesting that we confirm at least a partial list of Special Session participants prior to submitting our session proposal, hence our invite.

If you are thinking of attending the conference and would like to tentatively commit to giving a talk in our Special Session then please send Melanie and myself an email with a draft topic or title.  We are hoping to receive responses within the next 2 weeks, or by October 10, 2016. Also please forward this invite to others for which it may be relevant.

We are loosely coordinating our session with another proposed Special Session, “Tackling connectivity through cross-scale integration: Lessons learned in the Prairie Pothole Region” organized by Laurie Alexander, Renée Brooks, and Jay Christensen with USEPA.

The conference organizers have requested that we let you know that all speakers must pay the registration fee. Regardless it looks to be a great conference and we look forward to hopefully seeing many of you there!

Best Wishes,

Melanie Vanderhoof and Qiusheng Wu

Special Session Title: Using GIS and remote sensing approaches to inform aquatic system connectivity

Organizers: Melanie Vanderhoof and Qiusheng Wu

Affiliations:

Melanie Vanderhoof, PhD, mvanderhoof@usgs.gov, Research Geographer, Geoscience and Environmental Change Science Center, USGS, Denver, CO

Qiusheng Wu, PhD, wqs@binghamton.edu, Assistant Professor, Department of Geography, Binghamton University, Binghamton, NY

Special Session Description:

This session will focus on approaches that use GIS and remote sensing to inform hydrological, geochemical and biological connectivity on a watershed to landscape scale. This session seeks to explore connectivity at a coarser scale than measurements at individual sites. GIS can provide spatially explicit predictions of connectivity at a landscape scale, while remote sensing datasets can, in turn, provide predictions of surface depressions, flow paths, and help quantify variability in surface water extent and arrangement. This data can be used to directly predict and bound estimates of landscape-scale surface water connectivity as well as inform and validate hydrological and geochemical models of aquatic connectivity.

——————————
Qiusheng Wu
Department of Geography
Binghamton University
wqs@binghamton.edu
http://wetlands.io
——————————

Setting up Anaconda, PySAL with ArcGIS Python environment

This tutorial shows you how to set up conda environment to work with ArcGIS 10.4 and ArcGIS Pro 1.3. You can download a pdf copy of the tutorial with screenshots HERE. At the 2016 Esri International User Conference in San Diego last month, Esri released ArcGIS Pro 1.3, which can now use conda for packaging Python libraries. This allows support of python under multiple Python environments. You no longer need to install a separate Python install to get the full Python capability with ArcGIS as you did with past versions.

Workflow to set up Anaconda with ArcGIS 10.4

  • Install Anaconda without fouling the Windows environment (paths, registry) to break Esri’s python stack
  • Configure Anaconda with the particular add-ons you want, and
  • Configure ArcGIS’s Python so that it is aware of the appropriate Anaconda content.

1) Install Anaconda for All Users

  1. Go to http://continuum.io/downloads
  2. Download the 32-bit version of Anaconda (Python 2.7)
  3. In the install dialogs:
    • Select install for All Users
    • conda01
    • Install to a folder by default (C:\Anaconda2)
    • conda02
    • IMPORTANT: To avoid breaking ArcGIS (or other software), uncheck the checkboxes (a) make Anaconda the default Python and (b) add Anaconda’s Python to the PATH.
    • conda03
  4. Go to Start > All Programs(apps) > Anaconda2(32-bit) > Anaconda Prompt. Right click, run as administrator

2) Configure an Anaconda environment for use with ArcGIS

  1. Find the versions of numpy and matplotlib ArcGIS is using.

Open ArcMap and its Python window, and enter these commands:

    • >>> import sys, numpy, matplotlib
    • >>> print(sys.version, numpy.__version__, matplotlib.__version__)
    • (‘2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)]’, ‘1.9.2’, ‘1.4.3’)
    • conda04
  1. Create an Anaconda environment that is compatible with ArcGIS
    • Get to the Anaconda Command Prompt (Start > All Programs(apps) > Anaconda2(32-bit), pick “Anaconda Prompt“), Right click, Run as Administrator.
    • Type (depending on ArcGIS version, I am using ArcGIS 10.4 as an example here):
    • “conda create -n arc104 python=2.7.10 numpy=1.9.2 matplotlib=1.4.3 pyparsing xlrd xlwt pandas scipy ipython ipython-notebook ipython-qtconsole”
    • conda05
    • Enter y to proceed.
    • Anaconda’s conda command will then set up an environment subdirectory, ex: ” C:\Anaconda2\envs\arc104 “, installing the downloaded packages into it.
    • conda06
  2. Test the virtual environment
    • At the Anaconda Command Prompt, type: activate arc104
    • Type: conda list. You can see the list of packages installed.conda07
  3. Add more packages
    • You can add more packages using conda install, but make sure you specify version numbers for these that won’t change the environment’s version of python or numpy (or ArcGIS will not be able to use that environment anymore).
    • Let’s add the Python Spatial Analysis Library (pysal) module.
    • Type the following command at the Anaconda Prompt:”conda install -n arc104 python=2.7.10 numpy=1.9.2 matplotlib=1.4.3 pysal”
    • conda08

3) Configure ArcGIS to see Anaconda and vice versa

  1. Anaconda Python to ArcPy
    • Copy the Desktop10.4.pth file to the Anaconda environment site-packages folder:
    • From: C:\Python27\ArcGIS10.4\Lib\site-packages\Desktop10.4.pth
    • To: C:\Anaconda2\envs\arc104\Lib\site-packages\Desktop10.4.pth
  2. Arcpy to Anaconda Python
    • Create a zconda.pth (path) file with the content “C:\Anaconda\envs\arc104\lib\site-packages” in it.
    • Then copy zconda.pth to C:\Python27\ArcGIS10.4\Lib\site-packages
  3. Testing in ArcMap
    • As a regular user, start ArcMap, open the Python window
    • type “import pysal”
    • type “pysal.” A popup menu with a list of pysal-provided functions is a pretty good sign the installation succeeded.
    • conda09
  4. Testing in PyCharm
    • Start PyCharm, in File\Settings…, choose Project then Project Interpreter
    • Ignore the drop down list for Project Interpreter, and click the cog button to Add Local, and in the file browser pick C:\Anaconda2\envs\arc104\python.exe
    • conda10
    • To run your script, right click it in the Project window, and choose either Run or Debug
    • Restart PyCharm for the Python Console to use the arc104 environment.
    • conda11

Workflow to set up Anaconda with ArcGIS Pro 1.3

1) Create an Anaconda environment that is compatible with ArcGIS Pro

  • Copy the folder arcgispro-py3 from C:\Program Files\ArcGIS\Pro\bin\Python\envs and paste to C:\Anaconda2\envs
  • Rename the copied folder arcgispro-py3 in C:\Anaconda2\envs to arcpro

2) Test the virtual environment

  • At the Anaconda Command Prompt, type: activate arcpro
  • Type: conda list. You can see the list of packages installed

3) Add more packages

  • Let’s add the Python Spatial Analysis Library (pysal) module.
  • Type the following command at the Anaconda Prompt:”conda install pysal”

4) Configure ArcGIS to see Anaconda and vice versa

  • Arcpy to Anaconda Python
    • Create a zconda.pth (path) file with the content “C:\Anaconda2\envs\arcpro\lib\site-packages” in it.
    • Then Copy zconda.pth to C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages
  • Testing in ArcGIS Pro
    • Start ArcGIS Pro, open the Python window
    • type “import pysal”
    • type “pysal.” A popup menu with a list of pysal-provided functions is a pretty good sign the install succeeded.
    • conda12
    • conda13
  •  Testing in PyCharm
    • Start PyCharm, in File\Settings…, choose Project then Project Interpreter
    • Ignore the drop down list for Project Interpreter, and click the cog button to Add Local, and in the file browser pick C:\Anaconda2\envs\arcpro\python.exe
    • conda14
    • To run your script, right click it in the Project window, and choose either Run or Debug
    • Restart PyCharm for the Python Console to use the arcpro environment.

References

  1. USGS: https://goo.gl/xd6xz2
  2. Esri: https://goo.gl/tYGHrw
  3. GeoNet: https://goo.gl/mTLWMG
  4. UC-Davis: http://goo.gl/3bdbwz

CFP Remote Sensing Special Issue

The journal Remote Sensing (ISSN 2072-4292, SCIE journal, Impact Factor: 3.036) is currently running a Special Issue entitled “Remote Sensing of Climate Change and Water Resources“. Drs. Qiusheng Wu, Charles Lane, Melanie Vanderhoof, and Chunqiao Song are serving as Guest Editors and kindly invite you to consider submitting your full paper to our special issue.

Special Issue Website:
http://www.mdpi.com/journal/remotesensing/special_issues/climatechange_water
Submission Deadline: 28 February 2017
Journal Homepage: http://www.mdpi.com/journal/remotesensing

Authors are invited to submit papers related to the following topics:

  • climate change
  • wetland ecosystems
  • water resources
  • lake water dynamics
  • sea-level change
  • ice and snow cover
  • cryosphere
  • soil moisture and precipitation
  • droughts effects
  • floods

Journal Citation Reports 2016 (JCR) Released

The Journal Citation Reports 2016 (JCR), with the Journal Impact Factors of 2015, have been released by Thomson Reuters. You can download the complete list here.

I sorted out some journals related to Remote Sensing, Geography, Hydrology, and Wetlands. You can download my sorted list here. Note that this is only my personal classification. My apologies if some of your preferred journals are not on the list here.

Keep in mind that journal impact factor is just one metrics, so don’t take it too seriously!

Remote Sensing Journals Total Cites  Impact Factor
Remote Sensing of Environment 36,252 5.881
Isprs Journal of Photogrammetry and Remote Sensing 5,125 4.188
International Journal of Applied Earth Observation and Geoinformation 3,638 3.798
IEEE Transactions on Geoscience and Remote Sensing 26,086 3.36
Remote Sensing 5,061 3.036
International Journal of Digital Earth 694 2.762
Giscience & Remote Sensing 638 2.482
IEEE Geoscience and Remote Sensing Letters 5,572 2.228
IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing 3,033 2.145
Canadian Journal of Remote Sensing 1,634 1.976
International Journal of Remote Sensing 16,510 1.64
Remote Sensing Letters 638 1.487
Photogrammetric Engineering and Remote Sensing 5,570 1.288
European Journal of Remote Sensing 161 1.173
Journal of Applied Remote Sensing 1,189 0.937
Journal of the Indian Society of Remote Sensing 571 0.676

Remote Sensing Journals Google Scholar Ranking

Geography Journals – SCIE Total Cites Impact Factor
Nature Geoscience 14,574 12.508
Global Ecology and Biogeography 7,915 5.84
Geophysical Research Letters 77,712 4.212
Landscape and Urban Planning 8,923 3.654
Journal of Geophysical Research 198,092 3.318
Geomorphology 15,494 2.813
Progress in Physical Geography 2,966 2.728
Computers & Geosciences 7,567 2.474
International Journal of Health Geographics 1,596 2.27
International Journal of Geographical Information Science 3,556 2.065
Permafrost and Periglacial Processes 1,555 2
Journal of Geographical Sciences 1,276 1.923
Chinese Geographical Science 630 1.145
Physical Geography 778 0.875
Frontiers of Earth Science 207 0.76
Isprs International Journal of Geo-Information 133 0.651
Geography Journals – SSCI Total Cites Impact Factor
Nature Climate Change 9,526 17.184
Progress in Human Geography 4,360 5.162
Journal of Economic Geography 2,456 3.429
Geographical Journal 1,483 3.206
Transactions of the Institute of British Geographers 2,871 3.17
Economic Geography 1,880 2.824
Annals of the Association of American Geographers 4,439 2.756
Political Geography 2,052 2.733
Applied Geography 3,563 2.565
Journal of Transport Geography 3,067 2.09
International Journal of Geographical Information Science 3,556 2.065
Social & Cultural Geography 1,208 1.663
Geographical Analysis 1,750 1.571
Transactions in Gis 918 1.537
Professional Geographer 1,632 1.407
Geographical Research 445 1.353
Urban Geography 1,171 1.322
Journal of Geography 423 1.213
Australian Geographer 668 1.193
Journal of Geographical Systems 569 1.175
Moravian Geographical Reports 111 1.093
Singapore Journal of Tropical Geography 415 1.085
Journal of Geography in Higher Education 704 1.034
Canadian Geographer-Geographe Canadien 707 0.878
New Zealand Geographer 193 0.765
Geography 276 0.719
Scottish Geographical Journal 274 0.686
Geographical Review 1,170 0.5
South African Geographical Journal 128 0.423

Geography Journal Google Scholar Ranking

Hydrology Journals Total Cites Impact Factor
Water Research 61,285 5.991
Advances in Water Resources 8,156 4.349
Environmental Modelling & Software 8,255 4.207
Hydrology and Earth System Sciences 10,606 3.99
Water Resources Research 42,682 3.792
Journal of Hydrometeorology 6,766 3.511
Journal of Hydrology 37,044 3.043
Freshwater Biology 12,798 2.933
Hydrological Processes 16,884 2.768
Agricultural Water Management 8,901 2.603
Journal of Water Resources Planning and Management 3,692 2.521
Water Resources Management 6,400 2.437
Freshwater Science 957 2.433
Hydrological Sciences Journal-Journal Des Sciences Hydrologiques 4,664 2.182
Ecohydrology 1,507 2.138
Journal of Contaminant Hydrology 4,615 2.063
Hydrobiologia 21,166 2.051
Hydrogeology Journal 4,364 2.028
Journal of Hydro-Environment Research 481 1.971
Groundwater 5,078 1.947
Hydrology Research 653 1.779
Inland Waters 246 1.776
Journal of Soil and Water Conservation 3,037 1.752
Vadose Zone Journal 3,134 1.737
Water 1,035 1.687
Journal of the American Water Resources Association 4,644 1.659
Marine and Freshwater Research 4,207 1.583
Water Air and Soil Pollution 11,490 1.551
Journal of Hydrologic Engineering 3,231 1.53
Urban Water Journal 910 1.478
Journal of Hydrology and Hydromechanics 275 1.469
International Journal of Water Resources Development 898 1.463
International Review of Hydrobiology 1,047 1.459
Journal of Hydroinformatics 984 1.18
Water Science and Technology 16,933 1.064
Water International 1,093 1.04
Journal of Water and Health 1,320 1.025
Canadian Water Resources Journal 468 1.018
Water and Environment Journal 565 0.895
Paddy and Water Environment 450 0.871
Journal of Hydrodynamics 1,028 0.776
Journal of Water and Climate Change 154 0.775
Water Environment Research 2,455 0.659
Soil and Water Research 130 0.58

Hydrology Journals Google Scholar Ranking

Wetland Journals Total Cites Impact Factor
Landscape Ecology 6,478 3.657
Wetlands 3,660 1.504
Wetlands Ecology and Management 1,284 1.407

New article on sinkhole detection published in Geomorphology

My new peer-reviewed article titled “Automated delineation of karst sinkholes from LiDAR-derived digital elevation models” has been published in the latest issue of Geomorphology. You can download a free online copy using this link: http://authors.elsevier.com/a/1T3d9_,Oh6mAl8 (expires on July 8, 2016). In this paper, we present a localized contour tree method for automated extraction of sinkholes in karst landscapes. The study area was Fillmore County in southeastern Minnesota, USA. See some figures below:

Fig1_study_area

Fig. 1. Distribution of sinkhole inventory points in Fillmore County, Minnesota, USA.

Fig2_contour_tree

Fig. 3. Contour representation of a compound surface depression. (a) Contours overlain on DEM shaded relief. (b) Elevation profile of the transect A–B shown in (a).

Fig7_sinkhole_distriutions

Fig. 8. LiDAR DEM shaded relief (a) and examples of extracted sinkhole boundaries overlain on LiDAR DEM shaded relief (b) and color infrared aerial imagery (c).

Fig9_sinkhole_comparison

Fig 9. Sinkhole boundaries delineated using different methods. (a) The sink-filling method. (b) The localized contour tree method.

NASA and Japan make ASTER imagery available for free

Source: http://goo.gl/f9ECIG

The Advanced Spaceborne Thermal Emission and Reflection Radiometer (ASTER) is one of the instruments on NASA’s Terra satellite. Although it is a NASA satellite, the instrument belongs to Japan’s Ministry of Economy, Trade and Industry (METI). The instrument was launched in 1999 and has captured more than 2.95 million individual scenes since then. On the first of April this year NASA announced that the full catalogue of imagery is being made available to the public at no cost. The instrument, amongst other things, takes stereoscopic images that enables it to calculate altitudes albeit rather low resolution. The elevation data has always been available to the public at no cost.

The most interesting images have been collected in a gallery found here. You can also see some of the more interesting images in this article and this one.


Mt. Etna, when it erupted in July 2001. The full resolution image and description can be found here.


This image shows the 3D capabilities of ASTER. The full resolution image and description can be found here.

To access the full database of imagery, you can use the MADAS (METI AIST Data Archive System). A really nice feature is that it allows you to download the images as network-linked KML files.

The imagery has a similar resolution to Landsat imagery (approximately 30 m per pixel), so is really only suitable for viewing large scale phenomena. As with Landsat imagery its best use would be to see current events before other satellite imagery becomes available. In December last year we used Landsat imagery to look at the scar made by a tornado near Holly Springs, Mississippi. We found it relatively easy to find an ASTER image of the same region captured on March 28th, 2016, and the scar is still visible. Download this KML file to view it in Google Earth.


The image only covers a small part of the tornado’s track.

Esri Releases Drone2Map for ArcGIS

Drone2Map for ArcGIS, released on February 24 by Esri, is a stand-alone desktop app for processing imagery collected by drones. Check out the Drone2Map FAQ and an interesting presentation (Working With Drone Data In ArcGIS) by Tony Mason of Esri. Interested users can visit esri.com/drone2map for more information.

Q: Is Drone2Map for ArcGIS going to be an ArcGIS Extension?
A: No. It is a stand-alone 64-bit Windows desktop app that will run alongside ArcMap and ArcGIS Pro.

Q: What does Drone2Map for ArcGIS do?
A: Drone2Map for ArcGIS is a desktop app that turns raw still imagery from drones into  stunning information products in ArcGIS. Now, with drone hardware becoming more accessible, you can create 2D and 3D maps of features and areas.

Q: Can Drone2Map for ArcGIS be used to make 3D models?
A: Yes, Drone2Map for ArcGIS will produce 3D colorized point clouds in LAS format as well as 3D textured meshes for use in ArcGIS Desktop and Web Apps.

Q: Does the Drone2Map for ArcGIS work only with a specific type of drone?
A: Drone2Map for ArcGIS is designed to be generic for all drones. What is important is that the drone collects certain types of metadata. At a very minimum, this metadata needs to include Latitude, Longitude, and Altitude. The addition of orientation, focal length and pixel size of the sensor will greatly improve results. Many commercially available drones have this capability and automatically add this information to the image metadata.

Snap3

Snap4

R script for updating student grades on Blackboard

This might be of interest to some of you teaching large enrollment courses and using scantrons for quizzes/exams. I developed a script using R programming language to automatically extract scores from ITS test scoring results and upload the grades to Blackboard.

The script needs two CSV format input files: the student info file from Blackboard (Full Grade Center -> Work Offline – Download) and the ITS test scoring results (convert the Excel file to CSV). It takes less than one second to get the results.

Feel free to let me know if you have any questions.

########################################

BBfile <- file.choose()  #”roster.csv”    ### The file downloaded from Blackboard
ITSfile <- file.choose()   #”result.csv”   ### The file received from ITS scantron results

# BBfile <- “roster.csv”
# ITSfile <- “result.csv”
output <- “score.csv”
scale.factor <- 1  ### scale factor multiplied by the scantron results.
### Extract students’ fullname from Blackboard roster
roster <- read.csv(BBfile,header = TRUE,stringsAsFactors = FALSE)
str(roster)
roster$firstname = as.character(lapply(strsplit(as.character(roster$First.Name), split=” “), “[“, 1))
roster$fullname <- tolower(paste(roster$Last.Name,roster$firstname,sep=””))
### read the ITS results
df <- read.csv(ITSfile,stringsAsFactors = FALSE)
df <- df[nchar(gsub(” “,””,df$X))>0,]
df <- df[!is.na(as.numeric(df$X.5)),c(“X”,”X.2″)]
colnames(df) <- c(“Name”,”Score”)
df$Score <- as.numeric(df$Score) * scale.factor
str(df)
### extract student names from ITS results

lastname <- as.character(lapply(strsplit(as.character(df$Name), split=” “), “[“, 1))
firstname <- as.character(lapply(strsplit(as.character(df$Name), split=” “), “[“, 2))
df$fullname  <- tolower(paste(lastname,firstname,sep = “”))
### match student names from Blackboard and ITS
m.x <- merge(roster,df,by = “fullname”,all.x = TRUE)
fix(m.x)
m.x$raw <- m.x$Score / scale.factor
### save the results to csv file
write.csv(m.x,output,na = “”,row.names = FALSE)
m.y <- merge(roster,df,by = “fullname”,all.x = TRUE,all.y = TRUE)
m.y.sub <- m.y[is.na(m.y$Last.Name), ]
score <- read.csv(output,header = TRUE,stringsAsFactors = FALSE)
summary(score)

########################################

REDD+ for the Guiana Shield

Technical Cooperation Project

LidarBlog.com

Dr. Qiusheng Wu @ SUNY Binghamton

Writing Science

How to write papers that get cited and proposals that get funded

GIS In Ecology

Providing Training, Advice And Consultation On The Use Of GIS In Ecology

metrhispanic

On cities, land, ...

GeoAcademy

Open GIS: No Bounds

Scientia Plus Conscientia

Thoughts on Science and Nature

r4hydrology

Learning hydrology with R

Karl Hennermann

GIS at the University of Manchester

GIS and Science

Applications of geospatial technology for scientific research and understanding.

GISblog.com

GIS, Mapping, Remote Sensing, Geodata, Geospatial news

Whitebox Geospatial Analysis Tools

Open-source GIS development and spatial analysis with Whitebox GAT

TopoToolbox

MATLAB-based software for topographic analysis

Anything Geospatial – AnyGeo

Dr. Qiusheng Wu @ SUNY Binghamton

GeospatialPython.com

Dr. Qiusheng Wu @ SUNY Binghamton

Another GIS Blog

Dr. Qiusheng Wu @ SUNY Binghamton

ArcPy Café

Get all your ArcGIS Python Recipes here!

Planet Python

Dr. Qiusheng Wu @ SUNY Binghamton