|
POST
|
The calculation only works with Python if you are using Desktop 10.0 or later. For a Point Feature Class the calculation should be: !Shape.Centroid.X! or !Shape.Centroid.Y! With Attribute Assistant you can have your coordinate fields filled in immediately upon point creation and updated upon any geometry update using the X_COORDINATE and Y_COORDINATE methods. You can get Attribute Assistant included with the download of the Address Data Management templates under the button that says "OPEN". In the DynamicValue table you would enter the following: Table Name field: name of the feature class to store the coordinates Field Name field: the name of the field where you want to store your coordinate value Method field: X_COORDINATE or Y_COORDINATE Value Info field: Null On Create field: True On Change (Attribute) field: False On Change (Geometry) field: True Manual Only field: False Rule Weight field: 1 The DynamicValue table has to be in a Dataset that is named identically to the one contained in the sample geodatabase when you copy it into the geodatabase where your data resides (Attribute Assistant only works with geodatabases). The DynamicValue table also has to be added to the map where you are editing and you would need to make sure the Attribute Assistant toolbar shows that the extension is active.
... View more
11-03-2014
05:47 PM
|
1
|
4
|
3492
|
|
POST
|
You have to use Regular Expressions (regex) to do pattern matching. See this post for some discussion on the subject and some links to regex help. Regex can be a bit obscure to figure out and I am no expert in using it.
... View more
11-03-2014
08:02 AM
|
0
|
0
|
5211
|
|
POST
|
If the only variation you are trying to capture is due to capitalization differences, the standard approach is to use UCASE or LCASE on all parts of the equation (unless you type the word and know the case). So for your example use: If InStr( UCASE([Reservoir]),"BARNETT" ) Then The Instr function does not support wildcards.
... View more
11-03-2014
07:29 AM
|
0
|
0
|
5211
|
|
POST
|
Most likely the layout has been moved out of the view port. If you bring up the layout toolbar and click the fourth button that has four arrows pointing out on each side within a rectangular page, the layout will be centered in the screen.
... View more
11-02-2014
07:09 PM
|
1
|
0
|
5179
|
|
POST
|
Linear Referencing is still your best option. With the Locate Features Along Route tool you get several benefits. It creates a measure on your route and a side distance field that is positive or negative, depending on which side of the line the point falls on. As a result, point events can simultaneously be on the line and offset from the line using the same event table with just one layer setting change (using a side offset field or not). They also tell you the relative position of the point on the line, so that you can sort your points by driving order, which you cannot do with any other tool. They also have a simple option for getting the normal angle of the point to the line so you can rotate your point to exact 90 degree angles relative to your line. With point events I get points that understand their relationship with the line, and I can easily convert them in seconds to standard points just by exporting them if I don't want them to adjust with changes to the line anymore. I can set points up relative to fixed known positions just by adding or subtracting distances, so someone can give me a plain old table of cross streets with offset distances and directions, and I can convert it to point events on my line (that takes some other set up of an intersection layer with measures). Here is an example of how I use point events to position and rotate signs and marking all based on descriptions of relative offsets from intersections and driving direction facing (if I had not applied the side offset option and the rotation option in my event layer, these sign markers would all fall directly on the line and be oriented with their tops to the north): So derive LR routes from your lines using the Create Route tool, then locate your points on your routes using the Locate Features Along Routes tool and with one table it will be possible to show the points on the line or with a side offset from the line with markers rotated to fit your line and oriented based or driving direction (with a calculation that adjusts the normal angle to the line based on whether a side offset is positive or negative). One other benefit is that it is possible to easily evaluate point events based on distances from other objects on the road without the use of buffers (that mess with other roads). So if I want to know all trees in my median within a certain distance of an intersection I can get that selection by creating a line that adds and subtracts that distance from the measure of the intersection on that route. That can all be managed from a line event table, that only differs from a point event table by having a second measure. I can also chain point events together to form line segments between every adjacent pair of points that will follow my road if I want. No matter what technique you use, you will have to eliminate false snaps or locations, since points that are within the snapping tolerance near intersections will snap to both lines or randomly choose the wrong line 50% of the time. I always locate all point positions on all lines in my snapping tolerance and then use an attribute of the points to determine which road it should have associated itself to and eliminate the false snaps from the selection.
... View more
11-01-2014
06:51 AM
|
1
|
0
|
2922
|
|
POST
|
I do not see any attachment. Most likely the easiest is to use the spreadsheet as an X/Y layer. Since that means you already have the X and Y coordinates, I assume that they are identical in each overlapping point. If that is the case, then the creation of a concatenated field is easy. In Excel you can create a concatenated XY coordinate column called something like X_Y_LINK with the expression like this where Row 1 has your column headers and column A has your X coordinate and column B has your Y coordinate: CONCATENATE(A2,"/",B2) Then you can copy and paste that formula for all rows with values, then copy the entire column and paste over it using the Paste Values options from the Paste Special menu (since formulas do not work in ArcGIS). You can then use the Summary Statistics tool rather than the Dissolve tool to create a new table of just a single row for each location that contains the count of the location rows and any sums of numeric columns that you want to use to set your pie chart size. The Unique Case fields will be the X_Y_LINK field and the X and Y column. The summaries can be derived from any column values you like. This will be your X/Y Event layer to create a single point that controls the pie chart. You can also create sums of these summary columns if it makes sense to add them together to represent the entire pie size. The Pivot table will use the original spreadsheet and use the X_Y_LINK field as the Pivot field. Then you can choose any other field to create columns from the values in that field and can optionally count that field or sum another field that relates to those values. The output can be joined to the Summary Statistics output after it has been converted to an X/Y event layer and then you can use those values as the pie chart wedge settings. You may want to export the joined table to create a new table that contains all of the fields in a single table. You can then join to multiple pivots and expand the number of columns that can make up your pie chart wedges. Whether or not you can create a single map that combines all of these columns together to form wedges of a single pie chart depends on whether or not it makes sense to add them all together to form 100% of the objects in the pie. If they are not really supposed to be added together, then you probably should create multiple map views with different pie charts set ups where the wedges add up to a whole set of related values for each location.
... View more
10-31-2014
12:17 PM
|
0
|
0
|
1135
|
|
POST
|
Stanton: What want to do is done using a python script with a Search cursor to read the values and store them in a dictionary based on a key value that will be in the other row(s), then use an update cursor to write the values into the other columns by matching the key value in each updated row to the dictionary. I assume there has to be some sort of attribute relationship, spatial relationship, or row order pattern that would create an association between records, because no automated matching is possible without a preexisting relationship of some kind between the rows being read and the rows being written. The script can include additional logic to control the update, such as only writing to rows with Null values or some other criteria. A script like this can typically read and update 100k rows in about 1 to 2 minutes if the dictionary key is based on an attribute relationship.
... View more
10-31-2014
09:03 AM
|
0
|
0
|
2495
|
|
POST
|
What feature type are you working with? Point, Polyline or Polygon? Is the spreadsheet being used as an XY layer? First of all here is a decent youtube video showing the basic approach to configuring pie chart symbology. Only numeric fields can be used, so non-numeric attribute have to be converted to a numeric value, like a count. The assumption is that you have separate columns for each pie wedge and that the wedges are all in one row. If your pie wedge values are currently in a single column with different values for each feature that you need counted, the Pivot Table tool (which requires an Advanced license) is the best tool to convert the one column into separate columns named for each of the values with a summary of the rows into a count, sum, min, max, or average. The Pivot field would need to be something that would define each overlapping location, so that you could create a single feature at that location using a Dissovle tool using that field as the unique case field and then join the pivot table to the Dissolved feature to create the pie charts from the summary columns. The Dissolve tool can also create the overall summary values using sums or the feature count that can set the overall pie size. Getting that common value that defines the dissolve based on a common spatial location will depend on how you are linking your spreadsheet. Are these multiple features in one location identical in shape? If so, then creating that spatial relationship is easiest with a point. For lines and polygons the point can be extracted as a Centroid that is inside the feature using several different approaches (I can go into that more after you tell me what feature type you are working with). I collapse overlapping points with either the Collect Events tool, Dissolve tool or a python cursor script and use an XY coordinate concatenation string field as the location join field/pivot field.
... View more
10-31-2014
08:38 AM
|
2
|
2
|
1135
|
|
POST
|
The tool to do this is the Spatial Join tool in the Analysis toolbox in the Overlay toolset. It will create a new point feature class that will append all of the polygon attributes to the points or you can modify the field listing to only include some polygon fields. Make the points the target features and the polygons the join features. The One to One Intersection default settings should work fine.
... View more
10-30-2014
11:46 PM
|
1
|
3
|
2011
|
|
POST
|
The label expression can be anything you like and does not have to be a measure number. It is a label, like any other label. So if you want a string to appear simply enclose the string you want in quotes, or use any field as the value. Unfortunately, hatching is not supported for a map service. You could vote for the idea to add support for route hatching in map service here. This may mean that you have to create points events at the equivalent positions. If you paste a sample of what your hatching looks like then I can tell you how to place points at those locations with the same labels. The hatch marks may be more of a trick, but you could use something more like the flag marker in your original picture.
... View more
10-30-2014
05:47 AM
|
2
|
0
|
2954
|
|
POST
|
No NM was created. Actually, after rechecking the e-mails with tech support this situation may only arise if the arc is greater than 180 degrees, which was applicable to most of the arcs in my routine. Here is the last response I got from tech support on Esri Case #01448794 - How to find the midpoint of an arc that is greater than 180 degrees: Hi Rich, This is Kory with Esri Support regarding the case number referenced in the subject line. It was a pleasure working with you today. To recap our telephone conversation: During my testing, I found that when the arc is stored as GDB, feature to point and feature vertices to point do not locate the output point at the midpoint of the arc. This is the issue you were facing when you called in. The solution is to output the arcs as a shapefile. Then, use the Feature Vertices to Points tool , set the Point Type to Mid, and the output point is the midpoint of the arc. Feature Vertices to Points: http://resources.arcgis.com/en/help/main/10.2/index.html#//00170000003p000000 I will go ahead and mark this case as resolved. Feel free to contact me if you have any other questions regarding this case and I will be glad to re-open it if necessary. You can reply to this email or call me at 888-377-4575 and refer to the case number in the subject line. If you would like to review the notes from this case including our email exchanges feel free to visit the My Support page at http://support.esri.com/en/oim. Thanks, Kory Esri Support Services
... View more
10-29-2014
06:40 PM
|
0
|
0
|
7693
|
|
POST
|
That statement is not true. I spent a day with Tech support on this issue and demonstrated that the inside option never put the point on the true curve center. It only puts the point at the ends of the true curve when the inside option is checked (at least if the line is only a true curve, which was what I was working with since the lines in my routine all came from the outlines of point buffers) or at the centroid that is not on the line if it is not checked. The point is only placed at the center of the polyline if the lines are densified. Converting to a shapefile was tech support's recommendation as a workaround.
... View more
10-29-2014
06:27 PM
|
0
|
2
|
7693
|
|
POST
|
What Mark says is true for densified lines, but not for polylines containing true curves in a geodatabase. The inside point will usually be placed at the starting point of the line if it contains a true curve, not at the line centroid. True curves have to be densified to make the point locate itself at the center of the line. One option is to convert to a shapefile from a geodatabase to do that.
... View more
10-29-2014
05:31 PM
|
0
|
4
|
7693
|
|
POST
|
To set this up you will want to make the hatch interval 100, not 1000. The first definition will be at every 1 hatch interval with a shorter line length and without labeling. Add a new Hatch Definition and make it have an interval of 10 with a longer line length and the "Label these hatches" option checked. Press the Label Settings button and check "Build a text expression:", then press the Expression button. For the expression enter: cstr(round(cdbl(esri__measure)/1000, 1)) Add an End Hatch Definition and make it have a line length similar to the second definition and label it using the Build a text expression: option with the same label expression. Are you saying that you do not want a label of 0? Edit: I changed the label expression to make the rounding occur after the division by 1000. Note: You can add multiple Hatch Classes and apply different settings for different scale ranges so that as you zoom in and out you can adjust things like the minimum length a route must be to show hatching at a particular scale using an SQL expression at the Hatch Class level and the size of the hatch marks, which should become longer when you zoom out.
... View more
10-28-2014
07:18 AM
|
2
|
2
|
2954
|
|
POST
|
Hatching would not put the little flag symbol on the map, by it can certainly but the numbers at the correct positions and a hatch mark along the road the number belongs to. So, the first step is to convert your roads to linear referenced routes using the Create Route tool. You should access the environment settings in the Geoprocessing menu and explicitly set the M Tolerance, M Resolution and M Domain settings prior to running this tool to ensure you get measures with the degree or precision you want and the range of values that you want. The next thing you need to identify is what you want to use as your RouteID value for the Create Route tool. This could be the road name or a route number or some other value that groups the segments that connect together. The other important thing is to get your existing lines to build routes that orient the route measures correctly to fit your kilometer posts. If your current lines have fields for the beginning kilometer and ending kilometer position of each line you can use those to create the routes so that the measures increase in the direction of your stationing. This is the best option for making sure each road's measures match the orientation you expect. If you do not have such fields, you can use the Lower Left Coordinate Priority option to get most roads to build with the typical stationing that orients measues from west to east or from south to north. However, roads that are oriented northwest to southeast will likely have problems and have to be redone using either Upper Left priority (typically for such road that you want treated as west to east) or Lower Right priority (typically for such roads that you want treated as south to north) to get them to orient correctly and then appended those routes to the other routes that stationed correctly with the Lower Left priority. Once the routes are generated you will see a new tab in the layer properties for that feature class that is called Hatching. From this tab you can create one or more hatching layouts that can be displayed along your routes. You can control many different aspects of the hatches, such as the tick mark intervals and offsets along the route using major and minor tick marks (like a ruler) and separately control which of these tick marks will display text numbers. By using SQL expressions with your hatching definitions you can change which routes show hatching and which don't and control multiple hatching styles within one route layer, like you can with label classes. If you want points on your routes you can build an event table with measure positions at your kilometer positions to create a point Route Event Layer. I normally select all rows in the Route table view and then use the copy rows functions from the context menu and then paste that into Excel. I add a column called measure and populate it with 0. There are ways to then select this set of records and drag them in excel to make them increment the numbers, but I don't have Excel installed on my system to test it. Anyway, once all routeIDs have the largest set of kilometer interval numbers you could need to display you can create points along the routes with those numbers using the Make Route Event Layer tool. You can control the label positions with label settings to display your kilometer numbers or add another column to your event table with a distance number for offsetting the points to the side of the road so that you can use the actual point positions with labels on the center of the point to better control the label positions..
... View more
10-25-2014
11:44 AM
|
3
|
5
|
2954
|
| 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
|