Hot answers tagged

14

In ArcGIS, the easiest way to create a polygon layer with the count of overlapping features is as follows: Run the Union tool on your source polygon layers. This will result in a layer with one feature for each area of overlap. Add a new field to the layer created in Step 1, called NewID or something to that effect, and use Field Calculator to set it ...


13

This is almost a duplicate of How to interpret GRASS v.kernel results?, but it differs slightly in asking for an interpretation in terms of the search radius. Let's talk about that. A kernel density is a convolution, as explained at 1, 2, and 3. In nontechnical terms this means that the value of each cell in the input grid is spread around its vicinity. ...


11

Silverman quadratic "The kernel function is based on the quadratic kernel function described in Silverman (1986, p. 76, equation 4.5)." http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/How_Kernel_Density_works/009z00000011000000/ The reference is to this book: http://books.google.com/books?id=e-xsrjsL7WkC&printsec=frontcover#v=onepage&...


11

Step-by-step for GeoServer. Note: As @michal-mackiewicz writes, the WPS extension for GeoServer must be installed. Acquire some point data, for example Natural Earth populated places http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places.zip Import data into Postgis for example with ogr2ogr ogr2ogr -f ...


10

If this result created using "Random points" is not what you are looking for, you'll have to be more specific about your requirements.


8

I was asked this question today ("How do I identify if a featureclass has curves) and was given some arcpy code suggestions. Modify the following code as you see fit (a flag variable instead of a message for example) geometries = arcpy.CopyFeatures_management("inputFeatures", arcpy.Geometry()) import json for g in geometries: j = json.loads(g.JSON) ...


8

You can download Census Blocks from TIGER; you'll just have to download the data on a state-by-state basis and merge it all together. EDIT: See this page for block-level shapefiles that already have the population and housing unit counts attached, so you don't have to deal with joining SF1 tables!


8

According to its manual page, the GRASS command r.resamp.filter will do for rasters representing point data exactly what ArcGIS will do for point layers: use the filter=box option for a "simple" raster and use the filter=gauss option for the other ArcGIS kernel. Use the -n flag to avoid propagating nulls. Note that kernel density estimates (aka "heat maps")...


7

Here is one method First make sure you re-project your shapefile into a projected CRS with meters as units. Let's say this file is named 'points' - Next use Vector -> Geoprocessing Tools -> Buffer. Use 37.5 as the buffer distance. Call the buffer layer as 'buffer'. Then use Vector -> Analysis Tools -> Point in Polygon. Use 'point' as input point layer ...


7

The raster approach is the way to go. There's some information missing, though: your formula needs to indicate what the units of measurement are. Birds per square meter? Per acre? And what is the distance--meters, feet, yards, etc.? Let's assume you know the units and know how to manage unit conversions. Then you only need to divide the forest polygons ...


7

The documentation says Radius: Is used to specify the heatmap search radius (or kernel bandwidth) in meters or map units. The radius specifies the distance around a point at which the influence of the point will be felt. Larger values result in greater smoothing, but smaller values may show finer details and variation in point density. So if your ...


7

That was a fun problem! I solved it using QGIS 2.18 but I don't think the tools have drastically changed in 3.0. 1. Generate the lines I won't give much details here since you already have the lines you need. I have written a script to generate these lines, but it works only up to QGIS 2.18. Needless to say, the more lines the better your estimation. 2. ...


6

The measurements themselves are discrete, but how you represent them need not be. For example, you could represent them as a continuous density surface: Or, as discrete 3D bar charts extruded from the census tracts (in this case a grid):


6

If I understand your question correctly I have done something similar before; just had to remember what I did. This will work if your polys are overlapping AND not the same layer. If they are on the same layer and it it is possible, move them to seperate layers, if you don't the target layer will just inherit one of the values. The key process to use is ...


6

Choose square kilometres for the area units parameter in the density tool. Then your result raster is lightnig per square kilometer. You do not have to transform anything. The search radius is independent of the area units parameter. Larger values of the radius parameter produce a smoother, more generalized density raster. Smaller values produce a raster ...


6

Thinking that you need heat maps rendered on the fly, I would go for these options instead: Leaflet: http://www.patrick-wied.at/static/heatmapjs/example-heatmap-leaflet.html OpenLayers: http://www.websitedev.de/temp/openlayers-heatmap-layer.html Both LL and OL: http://www.patrick-wied.at/static/heatmapjs/examples.html Some on-the-fly examples: http://...


5

A kernel density for this size grid only takes a fraction of a second. Evidently, the problem is that v.kernel is processing every one of your three quarters of a million points with too much precision and detail. Instead, first create a grid to represent the point data, possibly using a finer resolution to reduce the discretization error in location. (...


5

A population count is a point measure. Density is an areal measure and in itself implies that there exists a container variable (e.g. jar that holds water, or in this case a census tract that holds people). For a census tract you can ask the question: How many people exist per unit area? This is a means of aggregating many point measures.


5

Apart from edge effects, the integral (=volume beneath) a kernel density is supposed to equal the total count of the data it represents. That is, its values are in units of count per area. You want count per area per unit time. Evidently, that is done by dividing each raster by the amount of time it represents. There are many other considerations, ...


5

Not in QGIS, but I can throw out two suggestions using other tools (thru QGIS plugins). The procedure in GRASS is to convert the line to points and run v.kernel on the points. The other (probably better) way is to import the line into R, load the spatstat package and use the density.psp() function. Both tips were mentioned already on the grass-users ...


5

Kernel density analysis is possible using the GRASS plugin v.kernel tool. For documentation check http://grass.osgeo.org/gdp/html_grass64/v.kernel.html


5

Maybe you can generate a set of random points into your polygons, there is a QGIS tool for that ? If you have overlapping polygons, then you have higher density of them in this area. Then use heatmap for the points. You would need to run several rounds to find optimal number of points, as result depends on that. If your data shows distribution of some ...


5

The formula in the R documentation is where "A_{i,j} is the area of the intersection between the two home ranges" and "UD_j(x,y) is the value of the utilization distribution of the animal j at the point (x,y)." Because this expression is mathematical nonsense, I will take the liberty of rewriting it in a meaningful way as The difference evidently is in ...


5

This may be easier if you think of it in separate steps: first calculate the quantitative density, then reclassify that result into "high" and "low." The Point Density tool inputs will be: Input point features: your outfall points Population field: Use NONE for this, because each point is being counted once. (If a point could represent multiple instances, ...


4

By using Densify ,Curve segments are simplified through densification by either the Maximum Deflection Angle, or Maximum Offset Deviation parameter. So Straight line segments will be kept intact.


4

Try this instead, if it fits your requirements, it isn't a computational solution to the dataset but if you are looking for simply an infographic solution you could try this instead. Join attributes by location, with your heaxgonal cells as as the target and your point data as the join. Choose to keep all features. Set the symbology to the cells with the ...


4

I suggest you use the GRASS plugin -- QGIS has pretty limited functionality (and why reinvent the wheel in python when software like GRASS already exists?): v.in.ogr.qgis [next two lines might be necessary, depending on whether your polygons already have a value] v.db.addcol v.db.update_const this is where we add up the overlap in the polygons then ...


4

You have two inputs: A polygon layer of Census counts. A classified land cover layer. You would like to perform a kind of dasymetric mapping in which the output is a density raster. It has two defining properties: The integrated density over each Census block should equal the original count. The different types of land cover should have differing ...


4

Maybe is not the fastest way but you could achieve this in three steps: Convert your points to raster: Raster -> Conversion -> Rasterize Reduce the resolution: Raster -> Conversion -> Translate (Outsize) Convert your resized raster back to points again using the SAGA pluguin. Algorithm -> Grid values to points. However, I'm still not sure about what you ...


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