I'd like to learn how to use a neural network in GIS. I surfed in the internet to find good resources or a tutorial about this but I couldn't find any helpful resources. Are there any good references or tutorials about using neural networks in GIS? I'd like to use an artificial neural network (ANN) in mapping hazard zones, for example flood zones or landslides. I use ArcGIS 10 to process the layers but don't know how can use an ANN.
[GIS] How to use a neural network in GIS
arcgis-10.0arcgis-desktopreferences
Related Solutions
Works fine for me at 10.1. I made a slight modification (other than the obvious configuration variable changes) for the case when the Layer.datasetName
property is not supported:
#Select map
map_path = r"C:\GISData\BloomfieldTownship\BloomfieldTownship.mxd"
#define dictionary
PathDict = {
"SiteAddress": r"C:\GISData\BloomfieldTownship",
"RoadCenterline": r"C:\GISData\BloomfieldTownship",
"SchoolTaxDistrict": r"C:\GISData\BloomfieldTownship"}
import arcpy
mxd = arcpy.mapping.MapDocument(map_path)
for df in arcpy.mapping.ListDataFrames(mxd):
for lyr in arcpy.mapping.ListLayers(mxd,"",df):
layername = lyr.datasetName if lyr.supports("datasetName") else ""
if layername in PathDict.keys():
new_path = PathDict[layername]
lyr.replaceDataSource(new_path,"SHAPEFILE_WORKSPACE", layername)
if lyr.workspacePath == new_path:
print "Workspace path for " + layername + " is updated."
else:
print "Path not updated for " + layername
mxd.save()
print "Map Saved"
del mxd
This question has been converted to Community Wiki and wiki locked because it is an example of a question that seeks a list of answers and appears to be popular enough to protect it from closure. It should be treated as a special case and should not be viewed as the type of question that is encouraged on this, or any Stack Exchange site, but if you wish to contribute more content to it then feel free to do so by editing this answer.
I'd like to suggest two books. The first one is Learn to Think Spatially from the National Academies Press.
It is actually about the nature and functions of spatial thinking and shows how spatial thinking can be supported across the K-12 curriculum through the development of appropriate support systems like GIS but it should give you an idea on how to include spatial thinking in your classes.
The second book is Practical GIS Analysis.
It is practical guide for solving geo-spatial problems independent of specific GIS software and hardware. It focuses on how GIS tools work, and how you can use them to solve problems in both vector and grid GIS worlds. It teaches the basic GIS operations like overlay, intersect, etc and how you can combine those together instead of teaching you about specific GIS software packages' tools.
It also includes real-life applications from urban problems including real estate query, irrigation analysis, urban emergency response, address geocoding, street management, resource allocation, groundwater analysis, auto accident analysis, parcel analysis, and optimal path analysis. There are also more than eighty GIS problems (and solutions) which should help you test problem-solving abilities. This should make a good starting point for your classes. You can view the table of contents here.
Hopefully those two books should help you achieve. I'm glad your school has this initiative. For so long the focus has been on specific tools, to the point that students equate GIS to ArcGIS when it is so much more.
Best Answer
Lee and Evangelista (2006) have a good article on earthquake-induced landslide-susceptibility mapping using an artificial neural network. They appear to do their GIS analysis in ArcGIS and implement a ANN algorithm in Matlab.
Spatial Data Modeler (SDM) is available as a collection of geoprocessing tools for ArcGIS (earlier Arc 9.x version here). The author describes SDM NN tools as follows:
If you find NNs useful for your projects, I suspect you will want to utilize the functionality of NNs in R. The following are links to useful sites and packages:
Overview [technical] article in the R Journal
Package ‘nnet’
Package ‘AMORE’
Package ‘neuralnet’