POST
|
I can answer my own question. I used the Buffer operation to do the conversion for me. It seems to work quite well. Something like this: public void SomeMethod()
{
_geometryService = new GeometryService("some URL here...");
_geometryService.LabelPointsCompleted += OnLabelPointsCompleted;
_geometryService.SimplifyCompleted += OnSimplifyCompleted;
_geometryService.BufferCompleted += OnBufferCompleted;
_geometryService.SimplifyAsync(_polylines); // Start by simplifying the polyline graphics to find the label points for
}
private void OnSimplifyCompleted(object sender, GraphicsEventArgs e)
{
var bufferParams = new BufferParameters();
bufferParams.BufferSpatialReference = _spatialReference; // whatever spatial reference you need
bufferParams.OutSpatialReference = _spatialReference;
bufferParams.Unit = LinearUnit.Centimeter;
bufferParams.Distances.Add(1.0d);
bufferParams.Features.AddRange(e.Results);
_geometryService.BufferAsync(bufferParams);
}
private void OnBufferCompleted(object sender, GraphicsEventArgs e)
{
_geometryService.LabelPointsAsync(e.Results);
}
private void OnLabelPointsCompleted(object sender, GraphicsEventArgs e)
{
// Do someting with label points...
}
... View more
11-24-2011
07:06 AM
|
0
|
0
|
298
|
POST
|
I am writing an application using the Silverlight toolkit to display pipe networks. I need to be able to annotate some of the pipes with additional data and to do this I would like to add a TextSymbol to the middle point of the pipe. Calculating the center point of the bounding envelope is unsatisfactory when the pipe is curved or looped; the label ends up far away from the pipe. I have tried to use the Geometry Service REST API and call the Label Points operation. However, it appears the Label Points operation doesn???t support Polylines (the pipes) but only Polygons. Attempting to pass the Polylines to the Geometry Service results in an ???Object reference not set to an instance of an object??? error being returned. Does anyone have any suggestions about how I can get the Label Point for a Polyline?
... View more
11-24-2011
01:42 AM
|
0
|
1
|
1134
|
POST
|
Thanks for the suggestion Jennifer. We have solved this using a different approach. Originally our annotation layer was included as a separate layer in a service that exposes a number of different layers; including the pipes we wanted annotating. Trying to render the annotations in a FeatureLayer was failing so the solution has been to move the pipes and annotations into a separate service and render them both using an ArcGISDynamicMapServiceLayer. This renders the annotations perfectly.
... View more
10-17-2011
09:41 AM
|
0
|
0
|
197
|
POST
|
I am trying to render a pipe network using the ArcGIS Silverlight tools. We are using MVVM (Caliburn.Micro) and have configured the ESRI Map control by binding the layers collection to a view-model: <esri:Map x:Name="MyMap" Layers="{Binding Layers}" ></ esri:Map> In the view-model we build the layers collection in code. This has worked fine and we are able to render the pipe network, valves etc in different feature layers. We have to build the layers in code and bind to the view so we can access a feature layer that???s in selection only mode and pick up user selections. However, I would like to render an ID next to each pipe. We have created an annotation layer in our map server service but the annotations only render as red rectangles next to the pipes. I???m completely stumped. Does anyone have any suggestions as to how I can display annotation layers correctly?
... View more
10-17-2011
05:22 AM
|
0
|
2
|
640
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|