Tag Info

Hot answers tagged

24

Try these steps with ArcMap 10: Buffer your point feature (ArcToolbox > Analysis Tools > Proximity > Buffer). Make sure to select the correct distance in the Linear unit box. Input your newly created buffers into the Feature Envelope to Polygon tool (Data Management Tools > Features > Feature Envelope to Polygon). Make sure to select the "Create multpart ...


19

The buffer size is always applied in the layer CRS units. Therefore, the layer CRS has to use meters if you want to buffer in meters. You don't need ftools to change the CRS. Open the original layer in WGS84 CRS. Right-click in layer list and select "Save as ...". (DON'T change the CRS in layer options!) Set the target CRS to NAD83/Maryland and save. ...


18

Use the Erase (Analysis) Tool:


17

The Python GDAL/OGR Cookbook has some sample code to Buffer a Geometry. from osgeo import ogr wkt = "POINT (1198054.34 648493.09)" pt = ogr.CreateGeometryFromWkt(wkt) bufferDistance = 500 poly = pt.Buffer(bufferDistance) print "%s buffered by %d is %s" % (pt.ExportToWkt(), bufferDistance, poly.ExportToWkt()) and to Calculate intersection between two ...


15

Summary This answer places the question into a larger context, describes an efficient algorithm applicable to the shapefile representation of features (as "vectors" or "linestrings" of points), shows some examples of its application, and gives working code for using or porting into a GIS environment. Background This is an example of a morphological ...


12

If you are interested in an implementation look at jsts a Javascript implementation of the much used Java Topology Suite library -- depending on whether you prefer reading Javascript or Java, I suppose. A general idea of how the algorithm works. For points, it is trivial, you simply buffer them by a given radius. If you have multiple points, you will have ...


11

Here is my list of Python geoprocessing software. Shapely, python OGR, python QGIS, pyqgis, python SagaGIS, python Grass, python spatialite, pyspatialite, python PostreSQL/PostGIS, Psycopg, python R Project, rpy2, python Whitebox GAT, python GeoScript, jython


10

Proper one-sided buffers were supposed to have landed in 1.5, but it looks to me that while the styles did land, sidedness didn't make it in. There is however a current patchset which exposes GEOSSingleSidedBuffer and performs the one-sided buffer as expected, under the name ST_OffsetCurve; see further background in ticket #413. In use: select ...


10

ArcGIS is utterly woeful for dissolving/merging. We had to do a buffer/merge for 3 million points recently and soon gave up on using ArcGIS -- their help desk didn't have much clue either. Postgres did it in less than an hour using the st_union function. see http://blog.cleverelephant.ca/2009/01/must-faster-unions-in-postgis-14.html


10

You can use the "Intersect" tool on the buffer and land use layers. This should create a third layer where buffers are "cut out of" the land use polygons. Then you can calculate the area of the resulting polygons using Field Calculator. Village buffer before and after the Intersect operation and calculation of area using Field Calculator: Divide by ...


10

A possible solution would be to create your "normal" round buffers using the standard ESRI buffer tool with whatever radius you would like and then performing a Feature Envelope To Polygon on that resulting feature class of buffers. This creates a square envelope feature around the extent of each feature. Feature Envelope to Polygon is located within Data ...


10

Let's break this down into simple pieces. By doing so, all the work is accomplished in just a half dozen lines of easily tested code. First, you will need to compute distances. Because the data are in geographic coordinates, here is a function to compute distances on a spherical datum (using the Haversine formula): # # Spherical distance. # `x` and `y` ...


10

To simplify, Shapely: manual allows all geometry processing of PostGIS in Python. The first premise of Shapely is that Python programmers should be able to perform PostGIS type geometry operations outside of an RDBMS... The first example of PolyGeo from shapely.geometry import Point, LineString, Polygon, mapping from shapely.wkt import loads pt = ...


9

As Underdark comments ST_Dwithin is the recommended way of finding geometries at a distance. In many other gis-systems the buffer method is the only way but building buffers is quite costly. But there is other use cases when you need to buffer. One reason can be to visualize a buffer. If you for instance wants to show the area closer than 100 meters from a ...


9

The steps to do this are: Select your layer by clicking on it From the Editor toolbar, select Start Editing On the Editor Menu, select Buffer Write a Negative Distance Amount to create an inside buffer... Without Inner Buffer: With Inner Buffer:


9

Shapely gives python access to GEOS which can do buffers/intersects/etc. GEOS is the library most OSGeo programs use to perform those operations.


9

I made a custom Create Buffer Interval toolbox for you: In ArcMap open ArcToolbox, right click in the whitespace and click Add Toolbox. Browse to the one I made and run the Create Buffer at Interval tool. Here's a screenshot of the parameters: It should be pretty straightforward, but let me know if you have any questions!


8

You don't say which software you're using, but the thing you're looking for is Voronoi polygons (AKA Theissen polygons). This is the set of polygons such that any point within a polygon is nearest to its seed point. You will find that the polygons tessellate, which might be a problem if your offices have a maximum distance of responsibility. If that is the ...


8

For this application, I would use an Azimuthal Equidistant projection centered in the middle of your source points. This projection has the nice feature of all radial distances around the center of the projection being accurate. That particular projection is not part of QGIS standard projections. You can define your own using Settings/Custom CRS with the ...


8

Since Erase (as @Jens linked) only is available with an Advanced license, you can download ET Geowizards. It can be installed as an Arcmap toolbox. Although you have to pay for the full suite, there's a free part of the program and the Erase function is included there (Overlay group).


7

The comments suggest the 5% does not need to be attained with high accuracy. (If it does, it will take a long time to buffer a million polygons!) We can therefore invoke the Pizza Principle: linearly rescaling a 2D feature by a factor a rescales its area by a^2. Here's how the reasoning goes: When the shape is not too convoluted--especially if it's ...


7

If you are referring to the tools in ArcGIS, then one difference is that using the tool provides an output dataset, whereas Select by Location does not.


7

Defining a line's side is rather straight forward on an orientable surface, which a 2D plane in a GIS is. If you define a start point and an end point for a line, you can unambiguously define "left" and "right" sides. This is the case even if the line crosses itself. From a more practical standpoint, simple workflow for creating a one-sided buffer includes ...


7

From the menu choose: Vector --> Geoprocessing tools --> Buffer(s) To aggregate, check box 'Dissolve buffer results'.


7

As MappaGnosis indicated, you could write a little script for this. Here's one called polygonbuffer which takes three arguments: The output file name, the radius of your buffer, and the number of corners of the polygons. Open a Python console in QGIS, paste the script and press enter to define the function, then call using something like ...


7

It sounds like you are entering a value in miles or km (ie 10) but the projection is in geographic. The buffer tool will interpolate that as a 10 degree buffer. You will need to do one of two things. 1) translate you value to equal the buffer size in degrees, or, 2) reproject your data into a projection that is not geographic


7

Here is a pure raster solution in Python 2.7 using numpy and scipy: import numpy as np from scipy import ndimage import matplotlib.pyplot as plt #create tree location matrix with values indicating crown radius A = np.zeros((120,320)) A[60,40] = 1 A[60,80] = 2 A[60,120] = 3 A[60,160] = 4 A[60,200] = 5 A[60,240] = 6 A[60,280] = 7 #plot tree locations fig = ...


7

In step 4, you have to change the CRS from NAD83 to another projection that uses metres as units. It depends on the extent of your data which one is best. Unfortunately, your data is located all over the world, so you could: Create a custom CRS using aeqd (or tmerc) for each one, and draw just that one buffer with it. Practically, you only have to create ...


6

Use the Buffer Tool from the Analysis toolbox and enter a negative value for the buffer distance. Pick OUTSIDE_ONLY for the side type and then dissolve on the relevant attributes. Requires Arcinfo.


6

Hallo Here I think is a little fun way of doing it in PostGIS. This I think could be extended so the expansion follows some linestring representing the current. But now it just expands in one direction. It iterates 50 times and for each iteration takes the polygon from last iteration, moves it, bufferes it (simplifies it to make things run smother) and ...



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