# Tag Info

35

I've been exploring SciPy's signal.convolve approach (based on this cookbook), and am having some really nice success with the following snippet: import numpy as np from scipy.signal import fftconvolve def gaussian_blur(in_array, size): # expand in_array to fit edge of kernel padded_array = np.pad(in_array, size, 'symmetric') # build kernel ...

23

Gaussian blur is just a weighted focal mean. You can recreate it to high accuracy with a sequence of short-distance circular neighborhood (unweighted) means: this is an application of the Central Limit Theorem. You have a lot of choices. "Filter" is too limited--it's only for 3 x 3 neighborhoods--so don't bother with it. The best option for large DEMs is ...

12

go to kingchaos and you have all the FOSS4G desktop GIS compiled for Mac: - GRASS GIS - Quantum GIS + PostgreSQL, PostGIS, GDAL and others (Mapserver) You have also OpenJump, GvSIG, Udig, Ossim and Cartographica (not free, 495 \$) + R and R spatial packages + Merkatoor (OpenStreetMap editor) + some other things

12

Because even the Microsoft code is buggy, it may be useful to provide correct pseudocode for the conversion. To convert decimal degrees x to degrees (d), minutes(m), and (decimal) seconds (s), do the following: Declare d, m as integer, s as float If x < 0, then sign = -1 else sign = +1 Let y = Abs(x) ' Work with positive values only. Let d = ...

9

9

As far as I am aware there is currently no way to make schema edits in a geodatabase without either dropping and adding fields, or deleting and reloading feature classes/tables. The latter is what I recommend in order to maintain field order. What I normally do is: Make a backup of the original feature class Export the original feature class's schema to ...

8

Portable Python http://www.portablepython.com/ Interesting project you have will it be available to the GIS community? Maybe of interest Portable GIS http://www.archaeogeek.com/blog/portable-gis/

8

To revert to the ArcGIS 9 editing environment: "The setting is found in the Advanced ArcMap Settings utility, located in the \Utilities directory where you installed ArcGIS." From http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Reverting_to_the_ArcGIS_9_editing_environment/001t00000013000000/

8

I would say that a GIS is a tool, while geographic information science is a science.

8

I'm not 100% clear on the effect you're looking for but... there is a geoprocessing tool called "Create Fish Net" that lets you create a grid of lines, and points, then you could use your polygons to clip the points. For "irregular" you can use the "Create Random Points" which creates N points inside a polygon and you can specify a minimum distance between ...

8

I thought there must be a way to do this, so I created my what I believe to be a pretty good solution. I have posted it on the ArcGIS Resources site and in the Community->Technical->Analysis & Geoprocessing->Analysis->Gallery. The tool is called Split Polygons With Lines and requires an ArcInfo license because of some of the tools used within the model....

7

This worked for me using ArcGIS 10 SP1. My custom tool is not on a toolbar: Dim UIDCls As ESRI.ArcGIS.esriSystem.UID = New ESRI.ArcGIS.esriSystem.UIDClass() ' id property of menu from Config.esriaddinx document UIDCls.Value = "ClassLibraryAddin_MyTool" Dim document As ESRI.ArcGIS.Framework.IDocument = My.ArcMap.Document Dim commandItem ...

7

I like Esri's ArcGIS API for Microsoft Silverlight/WPF, and also the ArcGIS Viewer for Silverlight. You can use Bing with these, or base maps from ArcGIS.com. Also, consider using SQL Server 2008 with Sql Server Management studio to prototype spatial sql queries. Isaac Kunen's blog is a good resource. Best when used with the Sql Server Spatial Tools from ...

7

I had the same issue a while back. It's a pretty easy fix, just use the the describe tool. Your already getting the layer name from your parameters. So all you have to do is describe the layer, find the path then merge the two. layer = arcpy.GetParameterAsText(0) desc = arcpy.Describe(layer) path = desc.path layersource = str(path) + "/" + layer That ...

6

Expanded answer based on @petr k.'s accepted answer. The example in the ESRI forum is using a URL, but I was able to knock out the src attribute and set the height to 0 in order to control my width: <iframe width="500" height="0"></iframe> In my case, I'm not concerned about the height of the window. In ArcGIS 10, I selected the "As a ...

6

I think you have to rely on your file system for this information. I've used openfiles from the command prompt to get this information from window file shares. You would need admin access to the actual server, so this might not be an option for you. C:\WINDOWS\system32>openfiles INFO: The system global flag 'maintain objects list' needs to be enabled ...

6

There are many, but QGIS is probably the most robust current offering. A few others: Mapnik -- high quality output, can render with Cairo and AGG for very nice results. GRASS GIS has multiple ways of composing maps, including wx.psmap MapWindow if you're on Windows TileMill is a web-based interface for generating maps using Mapnik as the backend Lastly I'...

6

If you have ArcGIS 10 and the 3D Analyst, you could use the "Add Surface Information Tool". It populates the attribute table of the Polyline Feature Class/Shapefile with basic elevation and slope statistics.

6

What you need is basically build topology for you vector layer. One option is using ArcGIS, convert your shapefiles to ESRI GeoDataBase, create topology using different rules defined in ArcGIS and then clean your data. Here is a short tutorial for the same. Another option is using postgis and check for dataset validation. Here is a tutorial for this.In that ...

6

First, full installation of OSGeo4W: http://trac.osgeo.org/osgeo4w/ Use the binary package(#1 under step 2). Second, fetch the Sextante plugin for QGIS, and add it. You should now be able to access the GRASS modules(I have currently 154 geoalgorithms). Source: I used this over the weekend to perform various raster analysis operations, most of which ...

6

You can't hide parameters, but you can enable/disable them through script tool validation. E.g.: if self.params[0].value: self.params[1].enabled = True else: self.params[1].enabled = False Will enable parameter 1 if and only if parameter 0 has a value. This would go in the ToolValidator's updateParameters function.

5

You are better off using a remote sensing application. Of course, you need to have the raster imagery on your computer. There are tons of methods that can help you determine woodland areas, such as: using Neural Networks, trained patches of imagery, supervised/unsupervised segmentation and classification. I'm not sure if this solves your problem, but it's a ...

5

The answer on this question might also help: ArcGIS Desktop 10 Tips and Tricks If you prefer the old method, you can revert by setting by running ArcGIS\Desktop10.0\Utilities\AdvancedArcMapSettings.exe, clicking the Editor tab, and unchecking Create features using templates and restarting ArcMap.

5

Shapely for quick geometry work xlrd because spreadsheets are ubiquitous

5

after obtaining the square grid, clip it with: Vector>Geoprocessing Tools>Intersect intersect it with the poligon.

5

Hiring a surveyor a Mapperz suggests is probably the most sensible thing to do if you're committed to putting a lot of money into landscaping. That said, see if there is LIDAR data available for your area. Some U.S. states provide it at an accuracy of ~18cm for free. It might be sufficient for your planning needs.

5

Maybe Multitemporal Multivariate data visualization plugin for QGIS is closer to what you're looking for. Screenshot: http://www.bernawebdesign.ch/byteblog/wp-content/uploads/2011/04/multiview.png

5

It's not very complicated to do, but I tend to just use this webpage. But let's work through the latitude in your example. The decimal degrees are the same, in this case 41. Now, take the remainder and multiply by 60. This gives you 35.44998. The integer part is the seconds (35'). Now, take the remainder and multiply by 60 again. You get the seconds (26.9998)...

5

Erase is the tool for this in ArcGIS. http://resources.arcgis.com/en/help/main/10.1/index.html#//00080000000m000000 Kind of like an "opposite clip" You need a higher level license to do this.

5

You can do this using 2 os.path functions (splitext and basename): import os os.path.splitext(os.path.basename(r'C:\user\shapefiles\polygon.shp'))[0] # returns 'polygon'

Only top voted, non community-wiki answers of a minimum length are eligible