19

So, by example. Here's a simple table with two connected groups of edges: drop table lines; create table lines ( id integer primary key, geom geometry(linestring) ); insert into lines (id, geom) values ( 1, 'LINESTRING(0 0, 0 1)'); insert into lines (id, geom) values ( 2, 'LINESTRING(0 1, 1 1)'); insert into lines (id, geom) values ( 3, 'LINESTRING(1 1, 1 2)...


15

Yes, but sort of. ArcGis no longer has line-node topology that enables the user to tell how many arcs (lines) are connected at their ends (nodes). To check is one thing, but how about to fix instead? If you open the feature class in ArcMap and then use planarize lines (give a tolerance) and the lines will be snapped and split at intersection - saves a lot ...


7

Here's an approach that uses a temporary table to incrementally aggregate clusters together. I don't really care for the temporary table approach, but this seems to perform quite well as the number of lines increases (I have 1.2 M lines in my input). DO $$ DECLARE this_id bigint; this_geom geometry; cluster_id_match integer; id_a bigint; id_b bigint; ...


6

I would try K-means clustering algorithm in the QGIS Processing Toolbox (under Vector analysis group). Just by setting the Number of clusters as 4, it will produce a new Clusters layer with an attribute field CLUSTER_ID (values= 0, 1, 2, 3). Then an expression like SUM("yield", "CLUSTER_ID") in the Field Calculator will return the total yield for each ...


4

Another approach is to use MAP topology. I knocked this bit of VBA code up that would identify dangling edges. If you see dangling edges within the network rather than the expected ends of the network then there must be a disconnect. The code relies on you having VBA installed, being in edit mode and have added the polyline layer to the map topology. ...


3

The best solution that I can think of is to calculate the shortest path between two points using the Road Graph plugin. You can find a full example of the usage of the plugin here 7.3. Lesson: Network Analysis - QGIS


3

I am publishing my answer for those who visit this page hoping to find an answer to the problem you have formulated! So, I invite everyone to fly with me in a plane with the engine I have assembled with the name: "Free and Magic geoSQL", in order to admire the beautiful mountain scenery of the Cordillera mountain system and from a height of flight to see ...


3

I would suggest using raster analysis for this problem. Converting the road network to a raster and performing proximity analysis (using Arc or QGIS) should result in a raster of continuous values representing distance from the nearest road: Next, we create a polygon shapefile of the area contained within the streets. And lastly, utilizing Zonal Statistics ...


3

To calculate the road density per unit area you could overlay a grid and then sum length per cell. In QGIS there is an analysis tool called Sum Line Length which does exactly this. This would ignore the point layer though. The grid can then be styled using either the count or summed length fields as a measure of the density.


3

This answer uses ArcPy Data Access (arcpy.da) cursors which were introduced at ArcGIS 10.1 for Desktop, and so can only be used in its entirety at that version or later. It was formulated prior to the asker indicating that they were using ArcGIS Desktop 10.0. project your file, I suggest WGS_1984_UTM_Zone_50N keep in mind that your no name line has name = ...


2

You could consider using (the very powerful) Attribute Assistant Add-In. It has an Intersecting Feature method that copies a value from an intersecting feature in the specified layer.


2

Below is an illustration of how the algorithm works as provided by Esri. I'm pulling in my comment from below to also add: Esri provides an illustration, they are not being specific about the MST used, only stating "optimum network (the minimum spanning tree) is the desired output." Furthermore, Esri is being ambiguous "The minimum spanning ...


2

This is an old post, but I think the simplest solution is to: Dissolve your polyline feature Use Feature Vertices To Points with Dangle option Join By Spatial Location the original polyline feature to the resulting points layer. Use the "Intersected by it" option. The result will have a "Count" field for each line in your layer. if the Count is greater ...


2

If you want to stay in ArcGIS then lest cost path analysis is your only option but, a massively lacking one. I would highly recommend that you abandon the idea of least cost and reconcile that you need to find a solution outside of ArcGIS. My preference are Kernel approaches, for many more reasons than I can go into on a forum. There is no turn-key GUI ...


2

The FRAGSTATS software is functionally dead and will likely stay that way. The developer Kevin McGarigal has retired and is not looking back. There is nobody that has taken up the reins in maintaining the software. There use to be an ArcGIS add-in called PatchStat but it operates on polygons and I believe is now defunct. There is a GRASS GIS module, r.li ...


1

The File Geodatabase API documentation README states (near line 159): NOT SUPPORTED: While the Esri File Geodatabase API supports reading the schema and data of complex geodatabase types, the API does not honor geodatabase behavior on inserts, deletes or updates to the following dataset types: * Annotation and Dimension feature classes * Relationship ...


1

You need to .reproject() the patchreduce var so that you can specify the resolution to perform the .reduceConnectedComponents() operation at. When you are viewing/inspecting patchreduce in the Map, the result depends on the Map scale. You can ensure the analysis is done at the data's native scale by calling: patchreduce.reproject(patchreduce.projection()) ...


1

You could use GRASS' v.dissolve on a common field value, filter out the smaller areas, and then use select by location from the vector menu to find which of your original parcels overlap the filtered areas.


1

Here is a method I came up with, with the help of some friends, using Model Builder and Gephi. Step 1 ArcModel creating table of links/edges (adding nodes at every line overlap if desired) Step 2 Gephi import of links/edges then adding component IDs Step 3 ArcModel adds component IDs back to original line Step 1 Takes all the input features splits them at ...


1

Buffer your lines by a small amount with the dissolve option set to All. Do not include any dissolve fields so that a single buffer feature is created. Then run the Multipart to Singlepart tool to break the buffer apart into the set of single part polygons that do not actually touch each other. The polygon with the largest area will cover the lines in ...


1

The solution I adopted to this followed on from another response from @Chris W at How do you remove isolated roads from a bigger network? where he use a 'kludge' of a service area. In my case, in QGIS I created a single central point to the network and use v.net alloc for a netwok allocation which (I think) found all connected roads. I used this in the ...


1

Since you are analyzing a binary landscape matrix for connectivity, there is a very robust model available. I would direct you to the Guidos toolbox software, which is an implementation of the "Morphological Spatial Pattern Analysis model" (Vogt et al., 2007). This model uses mathematical morphology to decompose a series of scales to assess core habitat and ...


1

What I ended up doing was using the Feature Vertices to Points tool with the option Both Ends on the storm drain lines. Next I found the XY for each point, concatenated them and summarized on that field. If I had 2 or more points that intersected a catch basin it meant something was coming in and coming out. It narrowed my search down by 80%.! Flow that ...


1

It appears your data was originally raster, so there may be some other tools/approaches using that format. I'm also not sure why your 1km buffers are circles - if you're actually buffering polygons (which my answer assumes you do), they should be the same general shape as the polygon. This method will produce several intermediate layers to arrive at the ...


1

If you use ArcHydro tools (assuming you have access to Arcmap) and follow one of the suggested (partial) workflows here, you should be able to use the button Point delineation. That will give you the catchment area that contributes to any point in the DEM. A Select by location should then get you the relevant drainage lines.


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