POST
|
Dean, the best way I can explain the steps is to show it to you in python: This assumes you have a FileGDB with a streetcenterlines featureclass. #Create a pointFeatureClass from the beginning and end point of each centerline segment arcpy.FeatureVerticesToPoints_management(streetCenterline, pointFeatureClass, "BOTH_ENDS") #Create a Coverage from both the streetCenterline and pointFeatureClass inFeatures = [[streetCenterline, "ROUTE"],[pointFeatureClass, "POINT"]] arcpy.FeatureclassToCoverage_conversion(inFeatures, outCoverage, "", "DOUBLE") #Overlay (using SpatialJoin) the street centerline featureclass onto the arcs of the coverage arcpy.SpatialJoin_analysis(arcFromOutCoverage, streetCenterline, outFeatureClass, "JOIN_ONE_TO_ONE", "", "", "ARE_IDENTICAL_TO") Since the streetcenterlines featureclass has the streetname for each line segment, all this does is to overlay the streetcenterlines onto to arcs built for the coverage (which has the FNode and TNode). The result adds the streetname attribute (among others) to the line coverage and creates a featureclass with the results. The only problem I've run into is that this cannot be run in standalone - the FeatureclassToCoverage will crash every time. Running this manually in toolbox or in python window will work fine.
... View more
02-17-2015
08:14 AM
|
1
|
1
|
594
|
POST
|
I don't have much python experience but I'm chaining a number of functions together with the main one being FeatureclassToCoverage. I am wanting to have it build a coverage from a route with 31,000 centerlines and intersections with 62,000 points - both from a local file gdb. I watch the pythonw process go up to 1.5gb memory used before crashing (on a server with 8gb ram). inFeatures = [["Lines", "ROUTE"],["Nodes", "POINT"]] outCover = "C:/tmp/linenode_cov" precision = "DOUBLE arcpy.FeatureclassToCoverage_conversion(inFeatures, outCover, "", precision) ExecuteError: ERROR 999999: Error executing function. Invalid Topology [Topoengine error.] Failed to execute (FeatureclassToCoverage). Is this something that shouldn't be run in standalone mode? (If I run the tool from toolbox, it works fine.)
... View more
02-13-2015
02:00 PM
|
0
|
0
|
3596
|
POST
|
The solution was to add an extra step after running Feature Vertices to Points and Feature Class to Coverage = running a Spatial Join with ARE_IDENTICAL_TO option. This conflated the attributes (including streetname) from the original Centerlines featureclass onto the arc coverage that has the FNode/TNode.
... View more
02-12-2015
09:59 AM
|
0
|
3
|
594
|
POST
|
I am trying to build a table that simply has Fnode, Tnode and StreetName but cannot get accurate data. With a StreetCenterline featureclass, I used Feature Vertices to Points - BOTH_ENDS to create a Nodes featureclass. Then I used both the Centerlines and the Nodes to create a coverage. The problem is that the Node table picks a Centerline# that may or may not be accurate (since multiple centerlines can come into a node). The Centerline table of the coverage only has FNode and TNode with a FID that may or may not be in the Node table. I am looking for a more accurate way of doing this. I do not need to build a Network Dataset or a Geometric Network, I just need to know the right StreetName between each FNode and Tnode.
... View more
02-11-2015
10:08 AM
|
0
|
4
|
4248
|
POST
|
I understand, Robert. However, I am wondering since the JavaScript API knows how to fully render these three symbols, where is it getting that information? Is there an API call that can read from Json that gets all of the rendering information beyond what is shown in the REST Json?
... View more
12-11-2014
01:06 PM
|
0
|
1
|
236
|
POST
|
We have a third-party javascript app that needs to read the json of our rest services in order to display the layers properly. However, the drawingInfo in the layer's json is incomplete. Here's an example: "uniqueValueInfos": [ { "symbol": { "type": "esriSLS", "style": "esriSLSDash", "color": [ 230, 0, 0, 255 ], "width": 3.5 }, "value": "1, 1", "label": "CSU Preliminary", "description": "" }, { "symbol": { "type": "esriSLS", "style": "esriSLSSolid", "color": [ 0, 0, 0, 255 ], "width": 8.400001525878906 }, "value": "1, 2", "label": "CSU Final", "description": "" }, { "symbol": { "type": "esriSLS", "style": "esriSLSSolid", "color": [ 197, 0, 255, 255 ], "width": 3.5 }, "value": "1, 4", "label": "CSU Warranty", "description": "" There are three line symbols: a dashed red line, a solid green line with black arrows and a solid purple line. If the line has an arrow, the json will only display that symbol, as in the case of the middle renderer where it only shows the size 8 black arrow and not the solid green line. The third-party app will render this layer as a solid black line. How to get a more complete displayInfo in the json so all of the layers can be rendered properly?
... View more
12-11-2014
12:48 PM
|
0
|
3
|
1447
|
POST
|
We have a third-party app that needs to read the json of our map services in order to display the layers properly. However, the drawingInfo in the layer's json is incomplete. Here's an example: "uniqueValueInfos": [ { "symbol": { "type": "esriSLS", "style": "esriSLSDash", "color": [ 230, 0, 0, 255 ], "width": 3.5 }, "value": "1, 1", "label": "CSU Preliminary", "description": "" }, { "symbol": { "type": "esriSLS", "style": "esriSLSSolid", "color": [ 0, 0, 0, 255 ], "width": 8.400001525878906 }, "value": "1, 2", "label": "CSU Final", "description": "" }, { "symbol": { "type": "esriSLS", "style": "esriSLSSolid", "color": [ 197, 0, 255, 255 ], "width": 3.5 }, "value": "1, 4", "label": "CSU Warranty", "description": "" There are three line symbols: a dashed red line, a solid green line with black arrows and a solid purple line. If the line has an arrow, the json will only display that symbol, as in the case of the middle renderer where it only shows the size 8 black arrow and not the solid green line. The third-party app will render this layer as a solid black line. How to get a more complete displayInfo in the json so all of the layers can be rendered properly?
... View more
12-05-2014
01:10 PM
|
0
|
0
|
3305
|
POST
|
Forrest, thank you for your help. I was not aware of the Update1 patch. Between that and copying the new st_shapelib file, that solved the st_intersects issue.
... View more
11-17-2014
01:38 PM
|
0
|
0
|
740
|
POST
|
I have converted our Oracle SDE 10.2.1 database (with service packs, on 11.2.0.3) to ST_GEOMETRY. When I try to use ST_INTERSECTS or ST_WITHIN on featureclasses that have different SRIDs, I instantly get the error that others have gotten as well: ORA-29902: error in executing ODCIIndexStart() routine ORA-20001: Unable to retrieve message ORA-06512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 720 ORA-06512: at "SDE.SPX_UTIL", line 761 ORA-06512: at "SDE.ST_DOMAIN_METHODS", line 291 If I try to intersect (points in polygons) featureclasses with the same SRID, it works. I see other threads mentioning that it was fixed in 11.2.0.2 but we are beyond that. What are the other solutions at this point?
... View more
11-05-2014
02:36 PM
|
0
|
2
|
3763
|
POST
|
Did figure it out the hard way. I did not publish the GP service so when I looked at it in Catalog and in the tool's properties, I found the tool name to be SpatialETL22222. Go figure, I don't know how I would have gotten that information if all I had was the rest endpoint.
... View more
07-29-2014
11:40 AM
|
0
|
0
|
268
|
POST
|
I have a GPServer published as http://<server>/arcgis/rest/services/Geoprocessing/SpatialETLTool_July2014_GISPRD/GPServer/Spatial%20ETL%20Tool In trying to execute the GP in arcobjects, I keep getting a COM error (with no GetMessages). I am trying to track down where the problem lies but I am not clear on what is the toolbox and the tool name. Here's a sample of what I got using the above GPServer:
try
IGeoProcessor2 gp = new GeoProcessorClass();
gp.OverwriteOutput = true;
object sev = null;
gp.AddToolbox(@"http://<server>/arcgis/services;Geoprocessing/SpatialETLTool_July2014_GISPRD");
...
IGeoProcessorResult2 results = (IGeoProcessorResult2)gp.Execute("Spatial ETL Tool", parameters, null);
catch
string errorMsgs = gp.GetMessages(ref sev);
Is the toolbox and/or tool name wrong?
... View more
07-29-2014
10:04 AM
|
0
|
1
|
791
|
POST
|
Thank you. "unless you have a very large dataset and/or a very complex map document" begs the question as to what is considered a very large dataset or very complex map document. I suspect we may have both but I do not know the metrics to determine. I guess what I can do know is to run SystemTools and compare our current map service to one that is projecting on the fly.
... View more
05-05-2014
06:41 AM
|
0
|
0
|
537
|
POST
|
I guess it wasn't that hard, just intimidating at first. Hope it's accurate. 1. Get the FeatureCursor of all segments based on an attribute 2. For each Feature, cast it to an EdgeFeature 3. Get the FromToJunctionEIDs 4. Get the GeometricNetworkByName from the NetworkCollection (FeatureDataset) 5. Get the Logical Network and then the NetElements 6. Query the NetElements based on the EID and ElementType (ETJunction) to get the FeatureClassID, ObjectID and SubID 7. Check the FeatureClassID to make sure its the FeatureClass you want 8. Query it based on the ObjectID to get the desired attribute
... View more
04-29-2014
07:23 AM
|
0
|
0
|
358
|
POST
|
I am trying to learn how to use a Geometric Network at the same time as how to programmatically do a specific task. What I want is to select a single segment (by an attribute) and have it select all of the junctions of a particular featureclass (so I can get an attribute from each of the junctions). I got as far as set up my IGeometricNetwork object but I need to back up have someone tell me the basic steps I should take to accomplish what I want (assuming that it can be done). What type of trace task would this be and can I do a trace on a selected segment?
... View more
04-28-2014
07:44 AM
|
0
|
1
|
2801
|
POST
|
I got the answer at the Developer's Summit. The key was to cast the Layer to an ArcGISDynamicMapServiceLayer and there you can loop through the layers in the service, checking its visibility as well as getting the id: LayerCollection layers = MapApplication.Current.Map.Layers; foreach (Layer layer in layers) { if (layer is ArcGISDynamicMapServiceLayer && layer.Visible) { var dyn = layer as ArcGISDynamicMapServiceLayer; foreach (var lyr in dyn.Layers) { if (dyn.GetLayerVisibility(lyr.ID)) { } } } }
... View more
03-24-2014
02:11 PM
|
0
|
0
|
151
|
Title | Kudos | Posted |
---|---|---|
1 | 10-30-2015 08:51 AM | |
1 | 02-17-2015 08:14 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|