|
POST
|
I am not completely certain what you want these kilometer icons to look like or how you want them placed along your road, but what comes to mind is using either linear referencing hatching to show measure positions or creating points along the road and using text symbols containing a number read from a field and a shield or marker symbol background. If you are mostly just interested in the position numbers, the first option is the most flexible, but if you are wanting these to look like actual signs posted along your roads, the second option is better. So before I describe how to do each method, let me know which direction you are most interested in seeing.
... View more
10-25-2014
08:51 AM
|
2
|
7
|
2954
|
|
POST
|
Sorry. I keep forgetting that this is not the old forums and that in my activity view I am seeing every Place in GeoNet. The Place of these posts should be much more prominently displayed in that list so that I won't give Desktop answers to Flex users. Not being a Flex user I will leave your question for others to answer.
... View more
10-24-2014
08:55 AM
|
0
|
0
|
1982
|
|
POST
|
On the far left of each row there is a gray box in front of the first field (the gray row box always remains visible, even if the fields scroll when you go to the right end of the row). If you double click one of those boxes you will be zoomed to the feature matching the row you double clicked on if the table view is for a Feature Class or a Shapefile. If you right click inside that box a context menu will appear. If the Table View is for a Feature Class or Shapefile, at the top of the Context Menu list is Zoom To, which will zoom you to the row you right clicked on when you left click that option. If there are selected rows, in the center of the Context Menu there will be an option to Zoom To Selected Features (or something to that effect). If you click on that option you will be zoomed to the records you have selected. If you are in Show Selected Rows Only mode in the table and have highlighted some of your selected rows, toward the bottom you will have the option to Zoom to Highlighted Features. When you left click that option you will be zoomed to the highlighted features. There are also several keyboard shortcuts for interacting with the map from the table, like Ctrl+Shift+= to zoom to selected features.
... View more
10-24-2014
08:39 AM
|
0
|
2
|
1982
|
|
POST
|
You should georeference the image in ArcGIS to align any image you have to your base map projection. For the best results your control points should be generally in either the horizontal plane or the vertical plane of the base map only, and you should avoid control point locations that form diagonal lines across the base map. You can then digitize the image manually and get a reasonable fit to your base map. If the scanned image of the land use map is high enough quality and has boundaries that are crisp with strong contrast you can export the georeferenced image as a black and white image and try an autotrace program to make a first pass at the image. You could check out a program like Autotrace that is free (although I have not tried it myself). I have used Adobe Illustrator to do this on occasion. However, I have found that the output will still need a fair amount of manual clean up, especially if the original image was in color and significantly enlarged to fit the map. Attributes from the map like zoning codes or planning designations also have to be added manually to the output.
... View more
10-21-2014
05:49 PM
|
0
|
0
|
930
|
|
POST
|
Sorry about my bad assumption. The descriptions of some of the methods in the Geometry help suggest that they only return values in meters (getLength) and square meters (getArea) and the help document is far from clear about how any of the other functions behave with regard to units, so I thought this method might have a similar restriction. Anyway, I grant that LR and the postionAlongLine geometry function are equal as far as unit handling. Darren: I am curious. What is the performance of your code example? How many points does it generate and how long does it take?
... View more
10-20-2014
06:39 PM
|
0
|
1
|
3036
|
|
POST
|
Absolute distances with the positionAlongLine method always have to be in meters. LR by default uses the length units of the original line when the Length option is checked in the Create Routes tool and that tool has the option to apply a conversion factor that can convert the measures to any units of measurement desired.
... View more
10-20-2014
01:42 PM
|
0
|
4
|
3036
|
|
POST
|
Actually, LR is more flexible than a python geometry object. I can chain point events together and create line segment events and a line segment event table can be displayed as either points or segments, depending on how I set up the Route Event layer. I can make the point fall on the line or offset to the side of the line with another event layer setting change. And with another setting change I can get tangent or normal angles to the line at each point automatically to set rotations relative to the line with no real effort. By setting up multiple layers I can make one LR table function as at least 5 different point or line segments layers simultaneously and do different geometry calculations from each layer that all write back to fields in one table. So, LR is much more than a fixed point on a line (although it can become that with a simple export in seconds). I only pursue code as a replacement for built-in tools if the built-in tools cannot do the task required or the code can outperform the tools. Since python geometry does neither, I will promote LR until someone demonstrates they can beat it on one account or the other. The Create Route tool is the starting point to create routes from lines. It is reasonable to assume the table mentioned in this post already has a Route ID and distance, so the field that defines that ID would be used with the Create Route tool. Some type of orientation has to be assumed for the way the distances increase and the tool has a variety of options for maintaining the measures so that they comply with that orientation. I personally use the Coordinate Priority option. Once the routes are built, right click the table and choose the Create Route Event layer menu item. The settings are pretty straight forward to choose the Routes, Route ID, and measure (distance) field. If you need a side offset you can apply that with a side distance field. Advanced settings let you get an error code for distances that fall off the line or get a tangent or normal angle in arithmetic or geographic angles.
... View more
10-20-2014
01:14 PM
|
0
|
0
|
3036
|
|
POST
|
Since I use Linear Referencing I have no use for this function. It performs approximately 50 times slower than an LR event layer from a table based on other geometry operations I have tried. Your welcome to pursue it, but unless you can get 120K points to draw in under 30 seconds, I have you beat with my LR event layer.
... View more
10-20-2014
07:13 AM
|
0
|
2
|
4678
|
|
POST
|
I hadn't looked at the Specs and this morning sort of figured that the OS was a problem. I guess it is time to think about upgrading to Windows 7 (I can't stand 8).
... View more
10-09-2014
10:56 AM
|
0
|
0
|
1726
|
|
POST
|
Windows Vista, Installed ArcGIS Desktop 3.0, Local Installation. Every time I get to the point of creating the C:\Program Files\ArcGIS Pro directory, I get the following error: I am not sure what to do. Any suggestions.
... View more
10-08-2014
07:44 PM
|
0
|
3
|
4579
|
|
POST
|
Normally, the Routes don't rebuild unless you make them rebuild. As a result, holding positions through events can be a challenge. But you can convert events to true points that are not relative to the route and then they will hold their position even if the route changes or you can calculate before and after XY coordinate values into the events and compare then to detect changes and make updates as necessary. The Roads and Highways Extension does maintain updates as edits are made to Centerlines and registered event tables are synchronized with the edits according to the rules you define. But without that extension the event tables and routes can get out of sync.
... View more
10-08-2014
08:01 AM
|
1
|
1
|
4678
|
|
POST
|
This video show how to do it in 9.3, but the process still works in 10.x. At 10.x you have to add the "Construct Polygons" button to a toolbar. To find it go to the main menu and choose Customize->Customize Mode...->Commands Tab->(Category) Topology->(Commands) Construct Polygons and drag the Construct Polygons tool to a toolbar and then close the Customize dialog. You could also use the Features to Polygon tool if you have an Advanced License, but the Construct Polygons button method works for all license levels and is better for an Editor workflow.
... View more
10-07-2014
07:38 AM
|
4
|
1
|
1959
|
|
POST
|
Be sure to use my last version. If Nulls are at all possible it is best to handle them explicitly in the expression to avoid an error rather than having to eliminate all Null values before the error will stop. If this is a geodatabase you should set the Default value for the Index field to 0 or 1 (or -1 to act as unassigned) to avoid Null values.
... View more
10-06-2014
04:09 PM
|
0
|
0
|
1673
|
|
POST
|
It does not work because Index contains Null values and Null values cannot be converted to Int. So you need to handle Null values (VB Script would throw the same error).
def FindLabel ([Contour], [Index]):
if [Index] == None:
return ""
elif int([Index]) == 1:
return [Contour]
else:
return ""
... View more
10-06-2014
04:02 PM
|
0
|
2
|
1673
|
|
POST
|
You are using a VB Script language Label expression. Python has no Then with an if statement or Function/End Function syntax. For python you have to use == to mean equals in an if statement. A single = assigns a value only in python, which cannot be done here. The Expression that will work for Python is:
def FindLabel ([Contour], [Index]):
if int([Index]) == 1:
return [Contour]
else:
return ""
You have to convert Index to an Int, because the Label parser automatically converts all field values to string, since only strings make valid labels. Otherwise numeric fields and date fields would throw errors unless you explicitly converted them to string. So you have to convert back to int or flt to make numbers behave like numbers. Alternatively, this will work:
def FindLabel ([Contour], [Index]):
if [Index] == '1':
return [Contour]
else:
return ""
For VB Script it would be:
Function FindLabel ([Contour], [Index])
If cint([Index]) = 1 Then
FindLabel = [Contour]
Else
FindLabel = ""
End If
End Function
... View more
10-06-2014
03:35 PM
|
0
|
4
|
1673
|
| 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 |
07-09-2026
12:59 AM
|