Hot answers tagged

14

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 ...


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 ...


5

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" ...


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


4

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


4

Running the buffer tool will create a second polygon offset the distance you specify from the first. Corners are radiused by default, no need to crop.


4

ST_Collect is probably not the function you are looking for, as this simply combines geometries into a geometry collection of some type, and does not actually union/dissolve them. ST_Union, on the other hand, does dissolve overlaps, and assuming polygonal input (which is most probable in conjunction with ST_Buffer and an input table called point), and ...


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 ...


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 ...


3

Have you tried to write the different distances in a python list : [356.8,792] as describe in the ressources : http://resources.arcgis.com/en/help/main/10.1/index.html#//00080000001p000000


3

Ensure that your polygons have an area attribute separate from the one that is/may be automatically updated by the software when the shape is edited. Intersect your buffer and polygon layer. In the resulting layer, open the attribute table. If there is a new/correct area field in the same units as the original area field from step 1 you can use that - ...


3

To do this I would use two tools: Intersect (Analysis): Computes a geometric intersection of the input features. Features or portions of features which overlap in all layers and/or feature classes will be written to the output feature class. then Summary Statistics (Analysis) Calculates summary statistics for field(s) in a table.


3

If you are using ArcMap, the Spatial Join tool with the One to One option will add summaries of the Points to the Buffer shapes if the Buffers are the Target. You can set one of the Point fields to be a Count field. Other fields can be summarized with Sum, Min, Max, Mean, etc values. If you need a list of values use the Join option and change the output ...


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

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" ...


3

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 ...


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 ...


2

There is now a QGIS plugin that does multiple buffers. The Multi-distance buffer plugin currently uses the buffer function of QgsGeometryAnalyzer. It returns a polygon dataset with multiple non-overlapping buffer zones and a distance attribute that identifies the different zones. The zones are dissolved, and none of the attributes of the original dataset ...


2

If you create a model in the model builder function, you can see the % completed bar. I like to do this when processing large amounts of data so I can monitor the progress. Results Window should do the same thing but doesn't.


2

I was just looking for the same answer myself and while my answer is not 'official', it's based on my interpretation of this Training Manual entry I found: http://docs.qgis.org/2.2/en/docs/training_manual/answers/answers.html#basic-distance-from-high-schools I think the above illustrates the buffer segments quite well. My answer is therefore... The ...


2

In the Buffer tool there is no Just Overlapping option, it's all or none. To make the buffers merge where overlapping and nowhere else it's necessary to buffer with dissolve of 'all' and explode the feature using Multipart to Singlepart. Now each cluster of buffers is a single polygon and you can use the spatial join tool to count the number of points in ...


2

This can be accomplished with an Intersect, followed by a Field Calculate, and then finally a Summary Statistics. Make sure that your buffer feature class has a unique ID field. Before getting started, you will need to add a field (name Polygon_Areas, type Double) to your population polygon feature class, and then field calculate it, using Shape_Area as the ...


2

Suggesting a workflow: Starting point is after the creation of Buffer B. For Buffer A use the multiple ring buffer creating two buffers. The original one and another one which is 1.5 times the distance. E.g 12 meters and 8 meters. For buffer B open a new field (float, named "expand"), and feed it with [BUFF_Distance]/2 Use intersect to create an ...


2

If you want a conditional buffering based on some attribute, you can use a case statement, eg, SELECT ST_Buffer(geom, CASE WHEN atr = 0 then 10 WHEN atr=1 THEN 20 ELSE 30 END) FROM mypoints; Obviously, you can have as many WHENs as you like, though it could get cumbersome fast. If it is a straight multiplier, then you can just do ST_Buffer(geom, atr * ...


2

If you have a Spatial Analyst license and using rasters an option, you could use the Focal Statistics tool with the Wedge neighborhood. It's probably more appropriate than vectors in your case anyway (overlap of several layers for a suitability analysis).


2

Accordingly to Spatialite coockbook you must register your VIEW into the views_geometry_columns, so to make it become a real Spatial View, i.e.: INSERT INTO views_geometry_columns (view_name, view_geometry, view_rowid, f_table_name, f_geometry_column) VALUES ('buffer500m', 'geometry', 'ROWID', 'point', 'geom');


2

Try register your VIEW this manner: INSERT INTO views_geometry_columns (view_name, view_geometry, view_rowid, f_table_name, f_geometry_column, read_only) VALUES ('buffer500m', 'geometry', 'ROWID', 'point', 'geom', 1); read_only option boolean 1 for read only VIEW - read_only option boolean 0 for updatable VIEW. In Spatialite Cookbook not consign ...


2

It looks like the answer was easier than I thought. All that needed to be done was take out mapUnitsPerPixel and and then find the correct distance (.00015) pntBuf = pntGeom.buffer(.00015,0) This works great without being affected by scale.


2

An easy way to show overlapping features is by using the Intersect tool. Use your buffer dataset as the input and run the tool. It will create an output that will only show the overlapping areas. Unfortunately I am unsure how you could show this through symbology alone without any extra processing.


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