Tag Info

15

The area of a circular buffer is a monotonically-increasing function of buffer radius (on a planar coordinate system anyway). So a simple search strategy can find a radius R such that the area of the buffer of radius R clipped to polygonal region A is (up to some tolerance) s. The simplest search algorithm would just be a binary search. Start with two radii,...

10

You haven't selected the feature, you used the Identify tool. The Select tool icon 2 over to the right in your toolbars

6

Can you work with arcpy in Python a little bit? You could use some script to generate these zones in specific direction. I made some similar few weeks ago, I could post part of my script to help you. import arcpy, math, gc # Workspace, overwrite arcpy.env.workspace = r"YOUR_WORKSPACE" arcpy.env.overwriteOutput = True # INPUTS objects_input = "objects.shp" ...

6

Here's a script I put together. The script uses your point and your line feature class, and outputs a new line feature class of line features as desired. The basic steps: Iterate through points Create a buffer around each point Create East-West line from each point. This will be used to slice your buffer in half Create point north of each input point. This ...

6

Use the Spatial Join tool in the Analysis toolbox->Overlay toolset with these settings to generate statistics for all of your concentric buffers at once. Target Features: Concentric Ring buffer feature class Join Features: Population points Output feature class: Specify the name and location you want Join Operation: Join_One_To_One Join Type: Keep All ...

6

Try "Select by Location" and set the trees as the Target layer. Set the buffer as the Source layer. Then, for the spatial selection method, use Are within the source layer feature or Are completely within the source layer feature. That should select all the points within the buffer. Now, you have three options: 1) In edit mode, open the 'Trees' ...

5

Now possible with the Multi Ring Buffer: https://plugins.qgis.org/plugins/Multi_Ring_Buffer/ In version 0.1 it only works on the layer that is selected in the TOC when you launch the tool but feature requests can be posted to the issue tracker: https://github.com/HeikkiVesanto/QGIS_Multi_Ring_Buffer/issues

5

You should use "Vector->Research tools->Select by Location" and check the "Use selected features only" box. You will want to include ONLY: Include input features completely within the selection features https://docs.qgis.org/2.6/en/docs/user_manual/processing_algs/qgis/vector_selection_tools/selectbylocation.html

5

Although carnendil and Joe's answers are pretty much correct, the most recent version of QGIS (2.14) allows you to do the same process in a simpler way by using the Geometry Generator, without the need to create extra Shapefiles. Note: The Geometry Generator will allow you to generate a buffer geometry based on your original point geometry and a chosen ...

5

There is no way to define "outside only" in gBuffer. You have to go through the additional step of turning the inner polygon to null, and for a good reason. You can use the raster::erase function to remove the internal polygon. If you really want this as part of the gBuffer function why not just write your own modification of gBuffer that adds an "outside ...

4

As you only have 2 buffer distances, you could do this in 2 easy manual steps (if you had more buffer distances I would recommend using the code from Polygeo). Step 1: Use the "Buffer" tool to create a 6 km buffer around all your points. Make sure you set Dissolve to "None" Step 2: Use the "Multiple Ring Buffer" tool to create a 6km buffer around the ...

4

After little more research and testing I found a solution. I believe that converting from geography to geometry is what is messing it up. Geometry is a flat 2d surface, so when you draw a circle and then re-project back to WGS84, the polygon is getting stretched. My solution was to use a different overload of the ST_Buffer function: geography ST_Buffer(...

4

Try something like this. Use the Generate Near Table analysis function. This gets you the distance to the closest line on the Polygon as in your diagram. Join this information back to the the original points file. Build the new point based on the angle and the distance you now have in the original point layer. Something like this in the field calculator ...

4

A simple model can achieve this as shown below. Note the output of the get raster property was connected to the Buffer tool using the Connect tool. Usually you would do an in-line substitution but that does not seem to work for some reason, but a manual connect does...

4

As the two commentators mentioned, you don't need arcpy for this task. In the interface of the Buffer (Analysis) tool, just select your shapefile and then specify the buffer distance field here: You can however, use arcpy for this task too. Try this: import arcpy # Define workspace workspace = r"C:Path\to\workspace" arcpy.env.workspace = workspace # ...

4

You need to dissolve on a field--the field(s) that contains the unique identifier(s) for your points. This is known as your "Dissolve Field(s)", as described in ESRI's help for the tool.

4

First thing is first. Add the layer. I'm assuming you have done this already so I won't go through it. As carnendil rightfully pointed out, it would be necessary to convert the data from lats and longs (i.e. from units of arc) into metres (i.e. units of distance). I would suggest using the Reproject Layer tool provided in QGIS toolbox. Finding this tool is ...

4

You can't create a buffer with the buffer distances set manually and also by a field in the same step. The simplest solution is the one you're already using in your screenshots: adding the 5m buffer after you've created the others, then merging the two buffer layers. You just need to change a setting in the Buffer tool to create the type of buffer you want (...

4

Some simple raster arithmetic should sort this out for you. First make a raster where its NA anywhere except where the original was equal to 2: > rp2 = rp ; rp2[rp2[]!=2]=NA > plot(rp2) Now we can buffer that to 20m: > rp2b = buffer(rp2, 20) > plot(rp2b) Now the ring of the buffer is where rp2 is NA and rp2b is not NA: > rbuff = is.na(...

4

Use the Raster|Rasterize|Conversion (Vector to Raster) menu. Choose an appropriate resolution for the raster you need:

3

This is the script that solves the problem. Credit and many thanks go to david_p who wrote it. I just added a few missing parentheses. import arcpy, math, gc # Workspace, overwrite arcpy.env.workspace = r"YOUR_WORKSPACE" arcpy.env.overwriteOutput = True # INPUTS objects_input = "objects.shp" # must be polygons objects = "objects_lyr.shp" arcpy....

3

As one can see from the picture the task has a solution for shapes equal to their own convex hull. If it is not the case, the position of point and 'un-convexness' of polygon might create artefacts. Output can be slightly improved by using minimum spanning tree of the points, but it's cheating and too much for today. import arcpy, traceback, os, sys from ...

3

Just do from qgis.analysis import QgsGeometryAnalyzer # Select your layer layer_ref = iface.activeLayer() # Get layer tree root root = QgsProject.instance().layerTreeRoot() # Prepare function that will act as slot def save_after_edit(layer, qgsgeometrymap): output_filename = "output.shp" # Make buffer and save it in a shp QgsGeometryAnalyzer()....

3

There is a spatial query plugin that makes this possible. It has a 'within' operation. You can see the QGIS docs on the plugin here. Edit: to add that you'll have to add the plugin via the Plugin Manager. If you are unfamiliar with this in QGIS, here are the basic docs.

3

Just to add to the already given great answers, you could also use the Select by location tool from the Processing Toolbox to give you more options on how you want to select your objects:

3

Ezra's and Joe's are both good answers. However, if your project's projection is in degrees (say, WGS84 lat/lon), the buffer created will have the size indicated by your Accuracy field in degrees, not in meters. The solution is to save your data in a suitable UTM projection (Thanks Joe for his comment) before creating the buffer layer. If you have the ...

3

You aren't specifying a name for your output shapefile. arcpy is treating out as a file and appending ".shp" for you. You want a unique name for each output so that it isn't overwritten each loop. import os Buffers = ['JF1','JF2','JF3','FF','FB'] # This is a workspace env.workspace = r"C:\Mydirectory" # This is present in the workspace network = "...

2

The way to do it without plugins is use Batch Processing from Processing toolbox. Find Fixed distance buffer algorithm, and execute is as batch process (right click --> Execute is as batch process). In the batch processing window you can do different settings on different parameters (one layer - different distances, same distance - different layers etc.). ...

2

Riffing off what @scw wrote, the buffer process will take the appended unit ("# Miles") as an input as per the ArcPy script: arcpy.Buffer_analysis("input_points", "C:/workspace/points_buffered_10mi.shp", "10 Miles") You could create a new string field with field calculator where you take the distance number and add " Miles" to it. The field calculation ...

2

To do this I think that you will need to use ArcPy with: a Search Cursor to read the geometries of your points one at a time buffer each point geometry twice (6km and 12km) and then use the 6km buffer to erase (using difference) from the 12km buffer to create an annulus polygon. an Insert Cursor to write a new polygon feature class for your annulus ...

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