void MapImage_MouseDown(Point worldPos, MouseEventArgs e) { string strName; var geom = GetArealGeom(worldPos, out strName); if (geom == null) { return; } //show form PolygonBufZone frm = new PolygonBufZone { ZoneName = strName }; if (frm.ShowDialog() == DialogResult.OK) { if (m_PivotalProvider == null) { return; } if (m_TargetLayerGuid == Guid.Empty) { return; } var eidssUserBufZoneLayer = (EidssUserBufZoneLayer)UserDbLayersManager.GetUserLayer(m_TargetLayerGuid); if (eidssUserBufZoneLayer == null) { return; } var userBufZone = new EidssUserBufZoneLayer.UserBufZone { Geometry = geom, Description = frm.Description, Name = frm.ZoneName, Center = new Point(0, 0) }; eidssUserBufZoneLayer.AddNewZone(userBufZone); MapImage.Refresh(); //UserDbFeature userDbFeature = new UserDbFeature(frm.Name, frm.Description, geom); //DataProvider.AddUserFeature(userDbFeature); //MapImage.Refresh(); } }
void MapImage_MouseDown(Point worldPos, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { var circleBufZone = new CircleBufZone(); if (circleBufZone.ShowDialog() == DialogResult.OK) { if (m_TargetLayerGuid == Guid.Empty) { return; } var projectedCenter = worldPos; var projectedBufGeom = GIS_V4.Utils.GeometryUtils.CreateBuffer(projectedCenter, circleBufZone.Radius); //var geom = GeometryTransform.TransformGeometry(projectedBufGeom, CoordinateSystems.SphericalMercatorCS, // CoordinateSystems.WGS84); //var center = GeometryTransform.TransformGeometry(projectedCenter, CoordinateSystems.SphericalMercatorCS, // CoordinateSystems.WGS84); if (m_TargetLayerGuid == Guid.Empty) { return; } var eidssUserBufZoneLayer = (EidssUserBufZoneLayer)UserDbLayersManager.GetUserLayer(m_TargetLayerGuid); if (eidssUserBufZoneLayer == null) { return; } var userBufZone = new EidssUserBufZoneLayer.UserBufZone { Geometry = projectedBufGeom, //geom, Description = circleBufZone.Description, Name = circleBufZone.ZoneName, Center = projectedCenter, //center, Radius = circleBufZone.Radius }; eidssUserBufZoneLayer.AddNewZone(userBufZone); MapImage.Refresh(); } circleBufZone.Dispose(); } }
void mi_Move_Click(object sender, EventArgs e) { m_IsMoveMode = true; m_LastMovedTargetLayerGuid = m_TargetLayerGuid; m_MiMove.Visible = false; m_MiApplyMovement.Visible = true; m_MiCancelMovement.Visible = true; m_BufZoneUserLayer = UserDbLayersManager.GetUserLayer(m_TargetLayerGuid); m_BufZoneLayer = (EidssUserBufZoneLayer)m_BufZoneUserLayer; m_BufZoneBeforeEdit = m_BufZoneLayer.FeatureRowToStruct(m_SelectedFeature); var wkb = m_SelectedFeature.Geometry.AsBinary();//.AsText(); m_GeomBeforeEdit = Geometry.GeomFromWKB(wkb); SubscribeApplyEvents(); MapImage.RefreshFromCache(); }
void MapImage_MouseDoubleClick(object sender, MouseEventArgs e) { if (m_ToolPhase == ToolPhase.WaitFirst) { return; } //if (DataProvider == null) NoDataProvider(); //compleate polygon if (m_Vertices.Count < 3) { return; } m_Vertices.Add(m_Vertices[0]); var linearRing = new LinearRing(m_Vertices); Geometry polygon = new Polygon(linearRing); //polygon = GeometryTransform.TransformGeometry(polygon, CoordinateSystems.SphericalMercatorCS, // CoordinateSystems.WGS84); m_ToolPhase = ToolPhase.WaitFirst; var connectionString = ConnectionManager.DefaultInstance.ConnectionString; var connection = new SqlConnection(connectionString); var valid = SqlExecHelper.SqlGeometryValidation(connection, polygon); if (!valid) { MessageForm.Show(Resources.gis_MtIndependentPolygonBufferZone_CheckValidityMsg); } else { //show form var frm = new PolygonBufZone(); //frm.ZoneLayer = string.Empty; if (frm.ShowDialog() == DialogResult.OK) { if (m_TargetLayerGuid == Guid.Empty) { return; } var eidssUserBufZoneLayer = (EidssUserBufZoneLayer)UserDbLayersManager.GetUserLayer(m_TargetLayerGuid); if (eidssUserBufZoneLayer == null) { return; } var userBufZone = new EidssUserBufZoneLayer.UserBufZone { Geometry = polygon, Description = frm.Description, Name = frm.ZoneName, //Center = new Point(0, 0) }; eidssUserBufZoneLayer.AddNewZone(userBufZone); } } MapImage.Refresh(); m_Vertices.Clear(); m_Points.Clear(); m_LastMousePosition = System.Drawing.Point.Empty; }
void MapImage_MouseDown(Point worldPos, MouseEventArgs e) { switch (PivotalType) { case PivotLayerType.Settlements: m_PivotalProvider = new EidssSqlServer2008(SystemLayerNames.Settlements); break; case PivotLayerType.AvrPoints: if (Content.AVRLayer != null) { m_PivotalProvider = Content.AVRLayer.DataSource; } break; default: m_PivotalProvider = null; break; } string strName; var nearestPoint = GetNearestPoint(worldPos, out strName); if (nearestPoint == null) { return; } //show form var frm = new CircleBufZone { ZoneName = strName }; if (frm.ShowDialog() == DialogResult.OK) { if (m_PivotalProvider == null) { return; } var projectedCenter = nearestPoint; //var projectedCenter = GeometryTransform.TransformGeometry(nearestPoint, CoordinateSystems.WGS84, // CoordinateSystems.SphericalMercatorCS); var projectedBufGeom = GIS_V4.Utils.GeometryUtils.CreateBuffer(projectedCenter, frm.Radius); //var geom = GeometryTransform.TransformGeometry(projectedBufGeom, CoordinateSystems.SphericalMercatorCS, // CoordinateSystems.WGS84); //var center = GeometryTransform.TransformGeometry(projectedCenter, CoordinateSystems.SphericalMercatorCS, // CoordinateSystems.WGS84); if (m_TargetLayerGuid == Guid.Empty) { return; } var eidssUserBufZoneLayer = (EidssUserBufZoneLayer)UserDbLayersManager.GetUserLayer(m_TargetLayerGuid); if (eidssUserBufZoneLayer == null) { return; } var userBufZone = new EidssUserBufZoneLayer.UserBufZone { Geometry = projectedBufGeom, //geom, Description = frm.Description, Name = frm.ZoneName, Center = projectedCenter, //center, Radius = frm.Radius }; eidssUserBufZoneLayer.AddNewZone(userBufZone); MapImage.Refresh(); } }