public static string CoordinatesConvertor(double InputX,double InputY, int InputWKID, int OutputWKID) { Geometry_GeometryServer geometryService = new Geometry_GeometryServer(); SpatialReference inputSpatialReference = new GeographicCoordinateSystem(); inputSpatialReference.WKID = InputWKID; inputSpatialReference.WKIDSpecified = true; SpatialReference outputSpatialReference = new ProjectedCoordinateSystem(); outputSpatialReference.WKID = OutputWKID; outputSpatialReference.WKIDSpecified = true; PointN pt = new PointN(); pt.X = InputX; pt.Y = InputY; Geometry[] inGeo = new Geometry[] { pt }; Geometry[] geo = geometryService.Project(inputSpatialReference, outputSpatialReference, false, null, null, inGeo); PointN nPt = (PointN)geo[0]; return (nPt.X.ToString() + ',' + nPt.Y.ToString()); }
public static RecordSet ProjectRecordSet(Envelope env, RecordSet rs, int geomFieldIndex, SpatialReference inSR, SpatialReference outSR) { MapServiceFidTests._dbgGeomServer = new Geometry_GeometryServer(); MapServiceFidTests._dbgGeomServer.Url = "http://mashup/ArcGIS/services/Geometry/GeometryServer"; MapServiceFidTests.dbgInSR = inSR; MapServiceFidTests.dbgOutSR = outSR; MapServiceFidTests.dbgEnv = env; if (geomFieldIndex < 0) { return(null); } if (rs == null) { return(null); } if (inSR == null || outSR == null) { return(rs); } RecordSet result; try { List <Geometry> list = new List <Geometry>(rs.Records.Length); Record[] records = rs.Records; for (int i = 0; i < records.Length; i++) { Record record = records[i]; Geometry geometry = record.Values[geomFieldIndex] as Geometry; if (geometry != null) { list.Add(geometry); } } Geometry[] inGeometryArray = list.ToArray(); Geometry[] array = MapServiceFidTests._dbgGeomServer.Project(MapServiceFidTests.dbgInSR, MapServiceFidTests.dbgOutSR, false, null, MapServiceFidTests.dbgEnv, inGeometryArray); int num = 0; Record[] records2 = rs.Records; for (int j = 0; j < records2.Length; j++) { Record record2 = records2[j]; record2.Values[geomFieldIndex] = array[num++]; } result = rs; } catch (Exception ex) { string arg_F2_0 = ex.Message; result = rs; } return(result); }
public AGSGeometryServer(AGSConnection parent, string soapURL) : base("Geometry", parent) { base.ErrorMessage = ""; this._GeomServer = new Geometry_GeometryServer(); this._GeomServer.Proxy = WebRequest.DefaultWebProxy; this._GeomServer.Credentials = base.Parent.Credentials; if (this._GeomServer.Credentials == null) { this._GeomServer.UseDefaultCredentials = true; } if (string.IsNullOrEmpty(soapURL)) { throw new Exception("Invalid geometry server"); } this._GeomServer.Url = soapURL; parent.GeometryService = this; }