|
POST
|
Closest always returns the closest, that is one, record. You can try using INTERSECT with a search radius. This is what I do most often with Spatial Join and it works correctly to produce as many records as necessary to account for all matches within the specified radius.
... View more
05-14-2013
02:17 PM
|
0
|
0
|
2752
|
|
POST
|
The only tool that might help you if you have an Advanced license is the Collapse Dual-lines to Centerline. But I believe this tool will fail even on actual road casings when the casing lines have widely varying widths over the distance between the ends of the two side by side lines. Increasing the tolerance to the levels that would be required for your problem would also be likely to produce very strange results even if a line was created.
... View more
05-14-2013
07:57 AM
|
0
|
0
|
3117
|
|
POST
|
I'm working for a city government, so I understand all that. Our governments have agreed to divide jurisdiction by the midway line between cities. That's obviously difficult to get by eyeballing. I have estimated a center line between my city and surrounding cities, but I would rather have something more scientific and exact. Agreements like that only last while the line has not been drawn. As soon as it is drawn and the political calculations begin, it will shift. So I would not spend excessive time worrying about survey precision of your line. I guarantee that once politicians actually see the line they will only look at where it falls relative to prime real estate like freeways and business districts and developable areas or expensive barriers like mountain ranges and rivers, etc. to decide how much they will honor that agreement before hiring a lobbyist or lawyer.
... View more
05-14-2013
07:36 AM
|
0
|
0
|
3117
|
|
POST
|
So hypothetically, if I had two polygons that are 10x10 miles, five miles apart on the same line of latitude, there is no tool that would draw a line exactly between the two polygons at the 2.5 mile "centerline"? I have yet to see a square city, let alone a side by side pair of square cities. If it were that simple I could do it with standard editing tools. Besides boundaries of city spheres of influence are never determined by strict geometric means, they are always determined politically by a body like a Local Agency Formation Commission. A straight line that puts a freeway completely in one jurisdiction's boundary when another city has a legitimate competing interest in that freeway will never be determined to be the legitimate boundary between them simply by considering the degree the line conforms to a geometric calculation.
... View more
05-14-2013
07:07 AM
|
0
|
0
|
3117
|
|
POST
|
Well I can say for sure your thought that this is simple is incorrect. It is a complex optimization problem with multiple solutions, which rarely has a clear path, since it depends a lot on the restrictions you want to apply to the solution possibilities. Such problems are much less likely to have a tool that will accomplish the result in one step and you typically have to design a custom solution from combining multiple tools that meet your solution criteria. For example, is achieving an equal distribution of area more important or an equal distance of separation between boundaries more important. That one choice will have a profound affect on the possible solutions. Equal area is much harder to achieve, because it requires comparisons among several separate output features all of which are unknown at the start, while equal distance from boundaries is much simpler, since it only requires comparisons between input boundariess which are known at the start.
... View more
05-14-2013
06:49 AM
|
1
|
0
|
3117
|
|
POST
|
@Richard Fairhurst: That was an astonishing answer and brilliant guide support as well, many thanks for your efforts. It is definitely working and I am very surprised by this elegant solution. Saved me a lot of further time and brainracking. Respect! :cool: If that gave you the answer you were looking for, there is a ghosted check mark under the arrows where you give posts points that you can check to indicate that post was the answer to your question. Answer checks help other find solutions to problems that are similar to yours more easily. I admit it took me a long time to get familiar with all of the tools to be able to put things like that together in my head in response to questions like yours just from hearing them and seeing an illustration like the one you provided. But once you start wrapping your head around the flexibility and efficiency of combining a lot of smaller tools to do the work of one large workflow and get some success doing it, the lessons you learn will stick with you and ultimately allow you to come up with ever more creative solutions for your problems yourself.
... View more
05-13-2013
02:36 PM
|
0
|
0
|
5415
|
|
POST
|
Ok guys, i just see i got some very comprehensive answers, thanks for that. But i got to confess I was only telling you the half of the truth. So may I can ask you how you would solve this task: [ATTACH=CONFIG]0[/ATTACH] Actually it is not about creating a whole drainage network as one, but to set up so-called "habitat patches" for fish. The red line is a main river stretch and the blue line represents a part from a tributary (as mentioned in my first thread, tributaries and the main segment are 2 different shpfiles. The grey points are impassable barriers for fish, so shortly speaking, every habitat is representing an area that delineates a freely moveable river habitat which will end at any impassable barrier. OK so now how would you create a single habitat patch (uniform ID) consisting of tributary (blue) and main stretch(red) out of the two different shapefiles. Please be so kind to describe it in a manner so that an arcgis newcomer such as me will be able to reproduce it. Many thanks for your answers so far. I can see whether I am able to solve this problem with your information already provided. I will let you know if it works. Thanks, Wolf Well that is a more complicated problem. Ultimately you want the original line sets merged into one file, and in addition to remaining split at the rivers and tributaries, you want them divided at the barriers. So here is the workflow I would try: 1. Add a field to store an attribute distinguishing the two line types (create that field on the main rivers first and assign it a value meaning rivers and then merge the tributaries in and select the null values or 0 values for that field and calculate a value representing the tributaries). 2. Merge the two line sets together with the merge tool as mentioned and do the necessary tributary attribute selection and attribute calculation. 3. You may want to make sure your lines have true connectivity, and might (on a copy of your merged file) use the Integrate tool to get snapping of lines to occur. 4. Use the Split Line at Points tool to break your lines using the barrier points (requires an Advance license). If you do not have an advanced license, then you would need to break the lines some other way at the barriers. I came come up with an alternative to that tool given time, but it is not an easy tool to replace. 5. Run the Buffer tool with a small buffer to generate polygons around your lines. 6. Do Dissolve on these buffers using the single part feature option (This would not work for dissolving branching lines into one feature, but does work for merging branching polygons into one feature). 7. Now do a buffer that is only slightly larger than the one you did for your lines on the barrier points. 8. Use the Union Tool on the line buffers and point buffers. http://resources.arcgis.com/en/help/main/10.1/index.html#//00080000000s000000 9. Select by Attribute and delete all polygons in the Union where the FID of the point buffers is greater than -1 and delete them. 10. Use the Multi-part to Single-Part tool to make sure the buffers are separated at the boundary point locations. 11. Use the Spatial Join tool using the One-To-Many option on the lines that were split using the Split at Points tool at step 4. Now you should have lines that have a buffer FID that ensures those lines could all be connected together without crossing a barrier (regardless of whether they were a tributary or river). The buffer FID represents your habitat patch ID value that associates all lines that have the same habitat patch accessibility level for your fish. Additionally these lines still can be colored separately as rivers or tributaries based on the attribute you added at step 1. If you want to Dissolve the lines into a single line feature (with no distinction in rivers and tributaries) use the Dissolve tool or Create Route tool on just the Buffer FID field value. If you want rivers dissolved separately from tributaries use the Dissolve tool on the habitat patch buffer FID and the attribute you added at step 1. Or create a text field and concatenate these two values together as a Route ID for the Create Route Feature tool. Any of these dissolves or routes will lose any river names of the original lines and will only be useful for making it easier to select these habitat patches.
... View more
05-13-2013
11:26 AM
|
0
|
0
|
5415
|
|
POST
|
As I read your post, what you are wanting to do is create a single feature with branching lines: a river and tributaries forming a drainage network. That is simply not possible with simple line features: lines don't fork. You need to create routes, based on a common feature attribute. Something like "basinName", that will identify all the segments and tributaries that make up a particular "combined polyline for every main river segment and the tributaries belonging to it". To Wit: whatever the actual river or tributary name, all the lines that connect flowing northwest have basinName = 'Rhine' and the ones that connect up flowing southeast have basinName = 'Danube' Use the Create Routes tool in the Linear Referencing toolbox. This will give you a forking line feature named Rhine and one named Danube. I do concur that Linear Referencing is probably the best approach for the step where you dissolve the lines. You still need to do the common attribute on all lines (using Spatial Join if necessary) and the merge of the lines into a single feature class to use the Make Route Feature tool. Also, it is not entirely true that simple polyline networks cannot handle this without using Linear Referencing, since you can create multi-part lines in a polyline feature class. Also, in reality routes are simple polyline feature classes that permit multi-line polylines themselves. Except that linear referenced routes have the added benefit of applying measures to your polylines that allow you to station events on your river network when the measures are built to follow the flow of the river network. So do look at the Make Route Feature tool in the place of the Dissolve tool.
... View more
05-13-2013
07:44 AM
|
0
|
0
|
5415
|
|
POST
|
Hi, Im struggling a lot with the following issue: I got one shapefile which shows main rivers (those rivers again are segmented into several parts by an ID); as well as one shapefile with the corresponding tributaries to those main rivers. My task is to merge the tributaries to the main rivers in such way that the endproduct will be a total river network. The idea then is to get a combined polyline for every main river segment and the tributaries belonging to it, i.e. the number of main river segments is just the same as before, it is only that now each main river segment should be extended by tributaries. I did already some attempts on spatial joining the tributaries to the main rivers (join many to one), which works, but I the layout view is still lacking of tributaries. Other attempts like "union" did not work either, because they require polygon shapefiles. The dissolve tool again needs to be fed with only one shapefile, which is not the case here. And finally, merging is not leading to the desired goal, because it constructs two distinct data sets in the attribute table rather than assigning the tributaries to the segments. Any suggestions or solutions for this? I hope anyone out there in the Esri forum knows how to resolve my tricky problem;) Many thanks in advance, Greetings, Wolfgang O (Austria) What is wrong with Merge and then Dissolve? That should do the trick. If an attribute needs to transfer to the tributaries first, then do Spatial Join, Merge and Dissolve. Geoprocessing is all about adding tools together in the correct order, not waiting for someone to design a single tool that does everything at once.
... View more
05-12-2013
05:33 PM
|
0
|
0
|
5415
|
|
POST
|
I'm trying to add an inset map of Manhattan for a map I am working on showing a noise complaints in a particular area of the city. How would I go about adding this? You have to add an new data frame to the map and format it like the main data frame (copy paste layers) with a different view. Formatting the inset dataframe can be done different ways. Here is a starting point link.
... View more
05-12-2013
05:30 PM
|
0
|
0
|
687
|
|
POST
|
Oh, I got it, it is a loop of selection, feature selection. Sorry. I forgot there are several iterator choices. Yes, it is a feature selection iterator that would iterate selections based on your owner name values.
... View more
05-11-2013
07:13 PM
|
0
|
0
|
3625
|
|
POST
|
Here are pictures showing a sample input and output of the model. My model used 100 feet as the aggregation distance.
... View more
05-09-2013
03:22 PM
|
0
|
0
|
10632
|
|
POST
|
I cannot view the attached image clearly~ And first problem, I cannot find the "value" data type in model builder variables, only an "any value", or "string"? Awesome answer, it is my honor to get your helpful replies! The tools shown are all listed in the summary, (String variable, an Iterator, and then the Aggregate Polygons, Add Field, Make Feature Layer, Calculate Field and Append tools). The variable named String is a string variable that is set to equal "%Value%" (The quotes are required). The quotes around %Value% in the variable String is important to make the Field Calculator treat it as a quoted string, and the calculation expression is %String% (unquoted). %Value% is a built in variable that the iterator outputs (the light green-blue oval) and when it iterates your owner names the current owner name is what it will place within quotes in the Field Calculator when you reference the %String% variable. The Blue input to the Append tool is the feature class that is a duplicate of the individual outputs where all features are appended together at the end. My model also used the overwrite outputs option, so each iteration overwrites the file that will be appended with the next aggregated polygon set.
... View more
05-09-2013
03:05 PM
|
0
|
0
|
10632
|
|
POST
|
I am just trying it in ArcMap now. Couple of questions. Thanks. As the sample layer, I have 16 polygons[ATTACH=CONFIG]24172[/ATTACH], then the result of the step 3 spatial join has 63[ATTACH=CONFIG]24173[/ATTACH] For step 4, I found every polygons in the result match the condition "where the Owner name of the original polygon is the same as the owner name of the dissolved polygon"[ATTACH=CONFIG]24174[/ATTACH]Then, follow your step, this is the final result[ATTACH=CONFIG]24175[/ATTACH]The selected are only one feature, but I don't want the gap between them. Is there any steps I went wrong? I really appreciate your help! You did nothing wrong. That is the result I was instructing you to achieve. I did not realize you wanted the gap to be filled, since I thought you wanted the output to look like the picture you first attached. To do that you would not do the steps I listed previously. The only tool that does what you want is the Aggregate Polygons tool, but you have to have ArcGIS 10.1 and an Advanced license to use that tool. Additionally that tool does not respect attributes, it simply fills in the gap of every polygon it is given within the buffer tolerance specified. So to use that tool you have to create an iterator to select each set of polygons with the same owner name, run the Aggregate tool, calculate the owner name into the output, and then append each output together to get a feature class of all names. The iterator will crash after about 2,000 iterations, so if that happens you have to use definition queries to filter to greater than the last owner that was appended and restart the tool. A summary of the tool steps you would have to use and a picture of an example model layout is attached. The tools are: 1. Create a variable called String that is defined as "%Value%" (the current iterator value) 2. Create an Iterator on your owner name field. (You would first have to concatenate all names into a single field if there are multiple fields used to store the full owner name). 3. Aggregate Polygons tool. Use the orthogonal option for parcels. 4. Add the owner name field to the Aggregate Polygon output 5. Make Feature Layer 6. Calculate field using %String% as the expression (the current iterator owner name value formatted as a String). 7. Append to a feature class that just has the polygon shape type and the same spatial reference and owner name field as the output of step 4. The tool has a problem with bezier curves, so some simplification to line segments will be required if you have that type of geometry. It also takes approximately 10 seconds per parcel set, so it is a slow process compared to tools like dissolve.
... View more
05-09-2013
12:01 PM
|
0
|
0
|
10632
|
|
POST
|
It is a huge opportunity for me to practice my English, especially the 4th steps and the last sentence, no kidding. I am still trying it! Thank you very much! One note about step 4 and ModelBuilder. The Spatial Join tool output in step 3 results in a feature class, not a feature layer. You would first need to apply the Make Feature Layer tool on the Spatial Join output to create a layer prior to using the Select By Attribute tool described in step 4 to get the selection of matched owner names. If you did it live in ArcMap, the layer would automatically have been created in your map if you said yes to the dialog that asks if you want the tool result added to your map, but that dialog does not happen within ModelBuilder.
... View more
05-09-2013
11:03 AM
|
0
|
0
|
10632
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 03-24-2026 11:37 PM | |
| 1 | 03-24-2026 08:01 PM | |
| 7 | 02-23-2026 08:34 AM | |
| 1 | 03-31-2025 03:25 PM | |
| 1 | 03-28-2025 06:54 PM |
| Online Status |
Offline
|
| Date Last Visited |
3 weeks ago
|