ThinkGeo.com    |     Documentation    |     Premium Support

EditOverlay controls are missing while using projected feature

 Hi.


I'm trying to edit projected feature but edit controls do not show on the map.


Here is the shape before edit:



Here is the shape in edit mode:



Is something missing in my code?


 



'this is polygon wkt in decimal degree
Private Const WKT_4326 As String = "POLYGON((-94.6860836942215 41.4901824383996,-94.6841988242231 41.4903756977292,-94.6841988242231 41.4938864748692,-94.684584365692 41.4954968589591,-94.6863407220226 41.4960443803575,-94.6881399161648 41.4963664496318,-94.6931947949342 41.4965274835704,-94.6925093876198 41.4937898505013,-94.6931519571226 41.4917284969706,-94.6927235773765 41.4913097764365,-94.6914384388365 41.491213148227,-94.6871118051931 41.4904401174281,-94.6860836942215 41.4901824383996))"

  Private Sub Shell_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    map4326_3395.MapUnit = ThinkGeo.MapSuite.Core.GeographyUnit.Meter

    btnEdit4326_3395.Enabled = False
  End Sub

  Private Sub btnLoad4326_3395_Click(sender As System.Object, e As System.EventArgs) Handles btnLoad4326_3395.Click
    btnLoad4326_3395.Enabled = False
    btnEdit4326_3395.Enabled = True
    Load4326_3395()
  End Sub

  Private Sub btnEdit4326_3395_Click(sender As System.Object, e As System.EventArgs) Handles btnEdit4326_3395.Click
    btnEdit4326_3395.Enabled = False
    EditShape(map4326_3395)
  End Sub

  'projection function
  Private Function GeodeticToMercatorProjection() As Proj4Projection
    Dim proj As New Proj4Projection()

    proj.InternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326)
    proj.ExternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(3395)

    Return proj
  End Function

  Private Sub Load4326_3395()
    Dim overlay As New LayerOverlay
    Dim layer As New InMemoryFeatureLayer
    'NOTE: feature is in decimal degree but projection is mercator
    '      rendering is working properly while editing fails???

    Dim f As Feature = New Feature(WKT_4326) 'create new feature from wkt
    Dim extent As RectangleShape

    overlay = New LayerOverlay
    layer = New InMemoryFeatureLayer

    layer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle.FillSolidBrush.Color = GeoColor.FromArgb(100, GeoColor.StandardColors.LightGreen)
    layer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle.OutlinePen.Color = GeoColor.StandardColors.DarkGreen

    layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20

    layer.FeatureSource.Projection = GeodeticToMercatorProjection()

    'apply projection to the edit layer, otherwise shape will not show on the map
    map4326_3395.EditOverlay.EditShapesLayer.FeatureSource.Projection = GeodeticToMercatorProjection()

    layer.InternalFeatures.Add(f)

    overlay.Layers.Add(layer)

    map4326_3395.Overlays.Add(overlay)

    layer.Open()
    extent = layer.GetBoundingBox
    layer.Close()

    map4326_3395.CurrentExtent = extent
    map4326_3395.Refresh()
  End Sub

  Private Sub EditShape(map As WinformsMap)
    Dim layer As InMemoryFeatureLayer = CType(CType(map.Overlays(0), LayerOverlay).Layers(0), InMemoryFeatureLayer)
    Dim key As String = layer.InternalFeatures.GetKeys(0)

    Dim f As Feature = layer.InternalFeatures(0)

    map.TrackOverlay.TrackMode = TrackMode.None
    map.EditOverlay.EditShapesLayer.InternalFeatures.Add(key, f)

    map.EditOverlay.CalculateAllControlPoints()

    layer.InternalFeatures.Clear()

    map.Refresh(New Overlay() {map.Overlays(0), map.EditOverlay})
  End Sub


001_EditOverlayDriver.zip (59.2 KB)

Sergei, 
  
 Thanks for your posts! 
  
 I recreated the problem used the latest version and I have posted this issue to our development team, if there are any updates I will let you know, 
  
 Thanks, 
  
 Scott,

Sergei, 
  
 This bug had been fixed, please the latest version to try again, 
  
 Thanks, 
  
 Scott,

Scott, 
  
 I downloaded DesktopEditionFull5.0.43.0DllPackage.zip (Last Build Date: 6/25/2011) from the Daily Development Builds and re-added map references to the latest version but still the same issue. 
 Do I have correct version? 
  
 I’m using 001_EditOverlayDriver.zip project attached for test. 
  
 Thanks, 
 Sergei.

Sergei, 
  
 The bug is fixed in 5.0.45.0 or later, so you probably need to get the latest again.  
  
 Thanks, 
 James  


James, 
  
 Where I can find 5.0.45.0 version for download? 
 I checked my FTP folder and it is not there as well. 
  
 Thanks, 
 Sergei.

Sergei, 
  
 I’m so sorry about it, as James mentioned you should get the 5.0.45.0 or later version for this bug fix, but currently, in the development branch the 5.0.45.0 is still not prepared properly, this period of time we fixed several bugs and improments so please wait for a moment for the 5.0.45.0 version. Also please keep your eyes on your FTP folder if it is ready. If it is successful, I think you can get it on Thursday, 
  
 Thanks, 
  
 Scott, 


Scott, 



Daily Development Builds is updated to the latest version: "DesktopEditionFull5.0.48.0DllPackage.zip". 

I checked my ftp folder as well but it is not there yet. 

I'm not sure if it is OK to use daily development build for production applications. 



Do I have to wait until it is placed in my ftp folder? 



I tested the latest version using test application and edit controls are showing - test passed.



Thanks, 

Sergei.



Sergei,


 
Sorry for inconvenience, please don't use the daily build for production version, after we released the 5.0 version, all of the bug fix and improvements would be going to the development branch. So if you cannot see the latest version, please login to the custom portal and get the from the development branch. Here is the link to login the custom portal below:
 
helpdesk.thinkgeo.com/login/?ReturnUrl=%2f
 
Any more questions please let me know,
 
Thanks,
 
Scott,