Welcome to the Landscape Maps and Data forum. This forum is for you to post questions and provide ideas for the ArcGIS for Landscape (beta).
About the Landscape Analysis Layers
These layers are available for use now! Visit the Landscape Layers Group on ArcGIS.com to learn more.
Feedback
Your feedback matters! What layers do you find most useful? How are you using them? Did you use any geoprocessing tools with these services and what was your experience? If you want to let us know, post your feedback here on this forum. Please let us know too, if you have issues or are experiencing problems with any of the layers. We cannot wait to hear from you!
It would be nice if there was a link from the forum to the Landscape Layers web page.
Please sort your posts so the most recent are at the top of the page...tnx
The Landscape Layers are in a group in ArcGIS Online here and also available through the Living Atlas of the World within the Landscape theme.
Hello! Is there any want to get a tabular list of all the Esri Landscape Layers that are available with a basic description of each? I'm basically hoping for a csv dump that I can use to explore the possibilities.
Thanks very much!
Madeline
Here is a link to a tabular listing of Esri Landscape Layers as of today; noting there are plans to add more soon: Landscape Services in Living Atlas.pdf - Box
Also note there is a link at the bottom of the page to the ArcGIS Online group that contains all of these layers.
Each layer in the list is hyperlinked to a corresponding ArcGIS Online content item, or to an ArcGIS Online search result when there are multiple layers that match the name. For instance the latter scenario would include when we have an image service (raster) and a dynamic map service (vector) for the same topic.
The descriptions in the content items introduce the layer, explain a little bit about the characteristics of the underlying data that are relevant for ArcGIS and for landscape applications. For instance, it was often necessary to process the data in order to transform it into a form that would be immediately useful in ArcGIS. Please let us know if we've failed to provide anything critical to successfully using any of these layers.
Hello Charlie,
Thanks for the reply. The tabular list of layers was very handy for us. I see that that link has expired, and am wondering if any new layers have been added since I grabbed a copy. Do you all have plans to regularly update that list and keep it in a standard place? If so, where is that? If not, do you have a more up to date list that you could post now?
I have one other question. I'd really like to access the landscape analysis layers via arcpy, but I suspect this is not possible. As this thread says, "you cannot make a connection from Python to ArcGIS.com." Is this indeed the case? If so, do you know if anyone has created a script tool that allows people to iterate through subsections of a geography until the entire area has been processed as a way to get around the analysis limitations of the landscape layers? If nothing like this exists, I will probably write it myself as we are working on a project that covers most of the western conterminous states and would like to avoid downloading rasters when your excellent services are avaiable.
Thanks very much for you help,
Madeline
Good news on both fronts. There is new content in the landscape layers, however it has not been announced yet, and I'd rather not do that here. I will be updating the PDF, likely in early April, as we have some additional content that will be done in the next week or two as well.
On the Python question, you can use Python to access any public service (meaning if you know the URL to the ArcGIS server folder, it's public). The main consideration is some services are authenticated, and therefore require a token to access. Then it is only a matter of what kind of service is being accessed. I will contact you separately to share this.
Thank you Charlie! I'm looking forward to the new content annoucements!
-Madeline
Hi Madeline,
I’ve enclosed two scripts (not sure how GeoNet will handle enclosures)…
The GeoenrichPoly script uses landscape image services by summarizing them within a polygon. The SupplyDemand script shows how to use feature services, and represents a better formalization of coding practices by separating the getToken assertJsonSuccess functions.
It took about 12 weeks to figure all this out while working with the development team here in Redlands. The point is that this is fairly advanced Python coding, particularly using the HTTPLib, and may take a few days to work through.
Both are provided as is, with the expectation that you will have a username and password from an organization account to use in the variables that are currently defined as: userName = "" & passWord = "".
Let me know if you have questions,
Charlie
Hello Charlie! This group of Landscape Layers is great! I have a few questions in regards to automation. I've come across the "Extract Landscape Source Data" tool here available with the Mapping Service:
http://www.arcgis.com/home/item.html?id=06f9e2f5f7ee4efcae283ea389bded15
I would love to automate this and develop a python script to iterate through and extract a series of desired layers.
I created a simple python script but it fails because credentials (My AGO Organizational account) is not included anywhere:
# Import arcpy module
import arcpy
# Load required toolboxes
arcpy.ImportToolbox("http://landscape1.arcgis.com/arcgis/services;Tools/ExtractData")
# Local variables:
StudyArea = "L:\\temp\\StudyAreas.gdb\\StudyArea"
The following error occurs because I believe, of the lack of credentials
Traceback (most recent call last):
File "L:\Tools\EnE_Python_Tools\Land.py", line 13, in <module>
arcpy.ImportToolbox("http://landscape1.arcgis.com/arcgis/Tools/ExtractData")
File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\__init__.py", line 124, in ImportToolbox
return import_toolbox(input_file, module_name)
File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\toolbox_code.py", line 434, in import_toolbox
toolbox = gp.createObject("Toolbox", tbxfile)
File "C:\Program Files (x86)\ArcGIS\Desktop10.3\ArcPy\arcpy\geoprocessing\_base.py", line 379, in createObject
self._gp.CreateObject(*gp_fixargs(args, True)))
IOError: The toolbox file http://landscape1.arcgis.com/arcgis/Tools/ExtractData was not found.
1. How would I in python supply these credentials.
2. I note some more detailed scripts you've offered on this site such as the Supply Demand Script. That script seems to generate an access token and specfically iterates through items in the Landscape dataset as a Feature Cursor.
Not sure if the latter would work as in this case Extract Data does exactly what I need (depending on the feature limits). I would want to actually clip to my polygon extent (unless I modified something like the Supply Demand tool to extract features, to get around the limit, then executed the clip locally after the fact.
Any thoughts? Thanks!
Hi Greg,
Below are examples for doing what you need. Depending on whether you are accessing image services or feature and dynamic map services, the workflow differs.
Image services, which requires using the MakeImageServerLayer tool:
#-------------------------------------------------------------------------------
# Name: Access Living Atlas Image Service Example ArcPy Python Script
# Purpose: Show how to us image services in scripting
# Created: 07/15/2015
#-------------------------------------------------------------------------------
# Import arcpy module
import arcpy
arcpy.CheckOutExtension("Spatial")
from arcpy import env
from arcpy.sa import *
import os.path
# set geoprocessing environment settings
# including workspace, extent (from existing study area dataset) and coordinate system
env.overwriteOutput = True
env.workspace = r"D:\TestFs"
env.extent = r"D:\TestFs\ImageLayerByPolygon.gdb\studyArea"
env.outputCoordinateSystem = arcpy.SpatialReference(54009) #using WKID for Mollweide, for area-based analysis
# create connection file to esri landscape server from above parametersservername = "landscape7"
userName = "" #supply your own ArcGIS Online Organization account credentials
passWord = ""
servername = "landscape7"
d = arcpy.mapping.CreateGISServerConnectionFile("USE_GIS_SERVICES", arcpy.env.scratchFolder,
servername + ".ags", "http://" + servername + ".arcgis.com/arcgis/rest/services",
"ARCGIS_SERVER", '', '', userName, passWord, "SAVE_USERNAME")
# set up image layer from the landscape server connection, and get its spatial reference
imageservicename = "World_Landforms_Improved_Hammond_Method"
imageService = os.path.join(arcpy.env.scratchFolder, servername, imageservicename + ".ImageServer")
# Create the Image Service Layer
inputImageLayer = arcpy.MakeImageServerLayer_management(imageService,"imageLayer", "")
# Example of using in a subsequent process
outputrastername = "Landforms"
output = r"D:\TestFs\Results.gdb"
pr = arcpy.CopyRaster_management (inputImageLayer, output+"//"+ outputrastername)