USGS Hydrography Seminar Series #3

High-quality hydrographic data are critical to a broad range of government and private applications. Resource management, infrastructure planning, environmental monitoring, fisheries management, and disaster mitigation all depend on up-to-date, accurate, and high-quality hydrographic data.  The U.S. Geological Survey National Geospatial Program has begun a series of virtual seminars to highlight the uses of hydrographic data.  The next seminar will be on July 30 at 2 pm EDT.  These seminars are intended to share success stories from users who have solved real world problems using hydrographic data, provide information about the National Hydrography Dataset and related products, and provide a virtual forum for users, similar to what might be encountered in a conference setting.

Connections are limited, and you will need to register to attend these seminars.  Please visit this site here to sign up. After your registration is approved, you will receive instructions for joining the meeting.

The next seminar will feature Anita Stohr of the Washington Department of Ecology discussing applications of hydrography within the State of Washington.  There will also be lightning talks by Susan Phelps of AECOM, and David Holtschlag of the USGS Michigan-Ohio Water Science Center.  They will discuss developing local-resolution hydrography from lidar; and UFINCH, a method for estimating unit and daily flows in a stream network defined by the National Hydrography Dataset with Value-Added Attributes (NHDPlus) using daily flows from USGS streamgages, respectively.

For full abstracts and biographies of the speakers, or for information about past hydroseminars, please visit the Hydrography Seminar Series website.

2015 ESRI User Conference Workshop Takeaways

After attending a few workshops on ArcGIS Pro and ArcGIS Sever today, here are a few things that I noted and thought you all might find interesting.  If you work on the bleeding edge, you probably already know!

ArcGIS Pro

  1. Uses Python 3.4, full Python is not included, however SciPy and Pandas libraries are included.
  2. Because ArcGIS Pro uses Python 3.4, some of your Python scripts that you created for ArcGIS Desktop, which uses Python 2.7, might not work.  There is a script checker in Pro that will tell you if any lines of code will fail.  For example, printing a variable using the line “print x” must be “print(x)” in Python 3.4.
  3. At version 1.2, Pro will have concurrent use licenses.

ArcGIS Server

  1. Version 10.3 now has service usage statistics, which includes total requests, average response times, and timeouts.  You can create reports at the service, folder, and site level.
  2. You can preserve layer IDs so they don’t change when you republish a map service that has new layers in it.  There is an option in the Layer properties in ArcMap to turn this feature on.  You can also change the layer ID for your different layers before you publish to a map service.
  3. Server has expanded Linux support.  Now works with redhat, SUSE, CentOS, Scientific Linux, and Oracle Linux.

Ventura College GIS Program 2015/2016

For the 2015/2016 school year we will be offering our full suite of GIS courses. Normally it takes 1.5 to 2 years to earn our Proficiency Award in Basic GIS (certificate), but this year it will be possible to earn the certificate in one year.
Fall 2015 (starting August 17)
GIS V22 (aka GEOG V22): Fundamentals of Mapping and GIS (our broad survey course of geospatial technologies)
GIS V28A (aka GEOG V28A): GIS projects course that starts Oct. 12 … will work with students who do not have ArcGIS experience (Students who have already had V28 should enroll in the V28B version of the course)
Spring 2016
GIS V26 (aka GEOG V26): Introduction to ArcGIS (10.3)
GIS V28A/28B: GIS Projects courses.
Contact Steve Palladino at Ventura College for more information.

2015 ESRI User Conference Plenary

For those of you that arrived in San Diego on Sunday, you were greeted by a downpour of rain that lasted into the night. However, that all cleared up today for the 36th Annual ESRI User Conference.


During this morning’s Plenary Session, Jack emphasized the “Geography Everywhere” theme and touched on the usual things like web GIS and sharing data. Really there were few surprises. However, they did have a cute little skit about all their apps, posing like individuals in a dating service to get your attention to use them. It was a different way of showing you all the choices you have when it came to apps.  You can even vote for your favorite app here.

Here are a few new announcements that might be of interest:

  1. Vector tiles, finally!
  2. New Workforce/Dispatcher, Workforce/Mobile, and Navigator apps that will work with Collector
  3. New AppStudio for ArcGIS that will help you build your own native apps in Android, iOS, Windows, and Linux
  4. ArcGIS Earth, full KML file support
  5. New drone app
  6. Statistical and scientific packages like R and SciPy will be able to run directly as geoprocessing tools/scripts in ArcGIS
  7. ArcGIS for home use licensing will now extend to the entire ArcGIS product, not just Desktop
  8. Expect ArcGIS 10.4 and Pro 1.2 in Winter 2016

I would suspect that ESRI will have the Plenary Session video online sometime today. I will update this post when it becomes available for you to watch at home! -mike

4:25pm update:  Click here for today’s videos.

New Release of ArcGIS Pro

This week ESRI has released ArcGIS Pro 1.1.  Here is a list of some of the enhancements:

  • A new SDK for .NET to customize and extend ArcGIS Pro
  • A Range Slider that allows you to dissect and visually analyze your numeric data
  • The ability to publish 3D scenes containing multipatches
  • Layout enhancements, like guides and snapping and the ability to add extent indicators
  • Support for working with Excel tables directly
  • Date line wrapping allowing you to pan, edit, and work across the international date line

Click below to read more about the release.

Disneyland’s 60th Anniversary Tomorrow

This year in July will be Disneyland’s 60th anniversary.  Disneyland opened on July 17, 1955 in Anaheim California and was the only theme park designed and built under the direction of Walt Disney.

Opening day was broadcast live by ABC (one of the investors and joint owner of Disneyland) and was hosted by three of Walt’s friends: Art Linkletter, Bob Commings, and Ronald Reagan.  About 28,000 people visited the park.  Watch the whole thing below!

Believe it or not, Disneyland was built in 7 months before opening day!  Also, Tomorrowland construction was delayed and was put together in the last 2 months!  Before building began, Walt Disney was insightful to place towers around the area to film time-lapse movies during the construction.  Check out this video of one of the film reels.  It is really cool to see what that area of Anaheim looked like before Disneyland was built.

When guests entered the park, they were given little guides that told them about all the attractions at Disneyland.  Check out this 1958 guide and maps.


I like in the Tomorrowland section there is a caption that reads “The colorful Avenue of Flags marks the entrance to Tomorrowland, the world of 1987”.  I don’t remember 1987 looking like that!

Note no Monorail, Matterhorn, or Submarine Voyage.  Those came in the summer of 1959.  Check out this insert that was placed in the guides.


If you plan on visiting Disneyland tomorrow on anniversary day … all I can say is good luck to you and stay sane!

Changing a Field’s Length

From time to time I encounter the issue of a text field that is too small.  A great example would be a street name field that was fine for a while, but now you have new street names that require more characters.  Here are a few examples on how to change the field length.  I will be using ArcGIS 10.2.2 and a feature class in a file geodatabase to demonstrate.

The Traditional Way

Open the feature class in ArcMap and bring up the attribute table.  Below is a feature class representing schools.


Add a new text field to the table with more characters.


Right click on the new field name in the table and select the field calculator option to calc the new field to the old one.


And finally right click on the old field name and delete it.  Here is mine.


What I don’t like about this method is that I could not reuse the field “NAME” and had to create “NAME2”.  Also I liked the original order, and now my field is at the end of the table.  Sure, I could do it again by adding back the field name “NAME” and recalcing again, but my field is still at the end.  Yes you can reorder fields for display in ArcMap, but it does not do anything to the real order of the fields in the geodatabase … and that bugs me!  So on to the second option.

The Feature Class to Feature Class Tool

A better way of doing this is by using the Feature Class to Feature Class tool.  The tool allows you to change the field mapping, thus allowing you to change the field length and keep the field name and position if you want.  You can find the tool by doing a tool search.  Open the tool and load in your input feature class.


You have to specify a new output feature class.  Also note the fields that are listed in the field map section.  Right click on the field you want to change the length of and select Properties.


Change the Length property and click OK.  Then click OK on the tool.  A new feature class is created with the larger field.  Just to verify, you can use ArcCatalog to view the field information.


Field mapping with the tool allows you to shuffle around the fields, rename them, or remove ones you do not want as well.  The down side?  A new feature class has to be created, which might be an issue if you have millions of records and limited space, however you probably don’t so it works out fine.

After the tool is done, you can delete your old feature class and rename the new one to whatever you want.

So now that leaves the last option … a python script that will do this.

The Python Script

# Change a text field length

# Import arcpy module
import arcpy

# Overwrite exising output
arcpy.env.overwriteOutput = True

# Setup feature class and field info
infc = "c:/temp/fieldtest/data.gdb/schools"
outloc = "c:/temp/fieldtest/data.gdb"
outfc = "schools2"
fieldname = "NAME"
fieldlen = 50

# Setup field mappings
skipfields = ["OBJECTID", "FID", "Shape"]
fms = arcpy.FieldMappings()
fields = arcpy.ListFields(infc)
for field in fields:
  if in skipfields:
    fm = arcpy.FieldMap()
    if == fieldname:
      newfield = fm.outputField
      newfield.length = fieldlen
      fm.outputField = newfield

# Copy feature class with new field mappings
arcpy.FeatureClassToFeatureClass_conversion(infc, outloc, outfc, field_mapping=fms)

# All done!
print "Done!"

So let’s step through this.  The arcpy module is imported and we set our overwrite output to True so we can rerun this script and overwrite our output feature class.

Next are some variables that you can modify.  The input feature class “infc”, the output location “outloc”, the output feature class name “outfc”, the text field “fieldname” that we want to change the length of, and the new field length “fieldlen”.

Next, we setup field mappings, but we only want the non-system type fields.  Fields like OBJECTID, FID, and Shape are maintained by ArcGIS, so we don’t want to mess with them.  A list of fields we want to avoid, “skipfields”, is set, a blank field mappings “fms” is set, and we collect all the fields in the input feature class and store them in “fields”.

Next, we loop through all the fields and check if each one is a field we should skip.  If so, we do nothing “pass”.  If not, we setup a blank field map “fm”, add all the field information to it (field type, length, etc.) from the field in the input feature class, then check if the field is the one we need to change.  If so, we make a new field variable “newfield” set to the current field map, change the length property of the “newfield” to the value we set in “fieldlen”, then reset the current field map to our “newfield” setting.  We then add the field map to the field mappings “fms”.  Think of the field mappings as the list of fields and their properties, while a field map is the properties of one field.

Once the loop is done building the field mappings “fms”, it is used in arcpy.FeatureClassToFeatureClass_conversion to create our new feature class “outfc”.

Give the script a try and see if it works for you.  One thing you could do with the script at the end is to rename or delete the old input feature class and then rename the new output feature class to the old name.  Just a thought!  -mike