ThinkGeo.com    |     Documentation    |     Premium Support

Spatial Query error in version 6

I updated to Web Edition v. 6.0


Now I get an error in my existing spatial query that run fine until now.


The error is "NullReferenceException was unhandled by user code.?


in 

returnMarkers = zoomLevel.GetMarkers(markerOverlay.FeatureSource.GetFeaturesInsideBoundingBox(feature.GetShape().GetBoundingBox(), ReturningColumnsType.AllColumns))

 



statement:




below is complete code for the routine.


[code]


Protected



 Sub Map1_TrackShapeFinished(ByVal sender As Object, ByVal e As System.EventArgs) Handles Map1.TrackShapeFinishedDim dynamicOverlay As LayerOverlay = DirectCast(Map1.CustomOverlays("DynamicOverlay"), LayerOverlay)Dim shapeLayer As InMemoryFeatureLayer = DirectCast(dynamicOverlay.Layers("shapeLayer"), InMemoryFeatureLayer)Dim markerOverlay As InMemoryMarkerOverlay = DirectCast(Map1.CustomOverlays("MarkerOverlay"), InMemoryMarkerOverlay)Dim MarkeID As String = "'"

 


'Dim Analyte As String = ddAnalyte.SelectedValue.ToString

 


'Dim cOperator As String = ddOperator.SelectedValue.ToString

 


'Dim cVal As String = txtValue.Text

 


 


 


 


For Each feature As Feature In Map1.EditOverlay.FeaturesDim returnMarkers As New Collection(Of Marker)Dim zoomLevel As MarkerZoomLevel = markerOverlay.ZoomLevelSet.GetZoomLevelForDrawing(GetZoomFromScale(Map1.CurrentScale, Map1.ZoomLevelSet))If Not (IsDBNull(zoomLevel)) Then

markerOverlay.FeatureSource.Open()


 


'returnMarkers include all markers contained within that shape 

returnMarkers = zoomLevel.GetMarkers(markerOverlay.FeatureSource.GetFeaturesInsideBoundingBox(feature.GetShape().GetBoundingBox(),


markerOverlay.FeatureSource.Close()


 


MarkeID = MarkeID + Marker.Id +


ReturningColumnsType.AllColumns))For Each Marker As Marker In returnMarkers"','"

 


Next

 


End If


shapeLayer.InternalFeatures.Add(feature.Id, feature)


 


Next

End Sub



 


 


 


 



Hello Jakub, 
  
 Thanks for your post, could you please sort out your code and re-post it again? I’m confused with some parts like: 
  
 returnMarkers = zoomLevel.GetMarkers(markerOverlay.FeatureSource.GetFeaturesInsideBoundingBox(feature.GetShape().GetBoundingBox(), 
  
 markerOverlay.FeatureSource.Close() 
  
 MarkeID = MarkeID + Marker.Id + 
  
 ReturningColumnsType.AllColumns))For Each Marker As Marker In returnMarkers"’,’" 
  
 Looks like it’s some format problem, can you re-check it? 
  
 Regards, 
  
 Gary

Sub routine attached in the text file


Error is on this line



returnMarkers = zoomLevel.GetMarkers(markerOverlay.FeatureSource.GetFeaturesInsideBoundingBox(feature.GetShape().GetBoundingBox(),



ReturningColumnsType.AllColumns))



Map1_TrackShapeFinished.txt (1.45 KB)

Gary, dod you have chace to look at the error? I am unable to upgrade to versipn 6 because of that.

Any resolution to this? 
 I need to start using version 6 


Hi Jakub, 
  
 I tried your code but looks that’s because you haven’t get features from markerOverlay.FeatureSource.GetFeaturesInsideBoundingBox, then you pass a empty collection to zoomLevel.GetMarkers function. 
  
 Could you review that? 
  
  Dim features As System.Collections.ObjectModel.Collection(Of ThinkGeo.MapSuite.Core.Feature) 
 features = markerOverlay.FeatureSource.GetFeaturesInsideBoundingBox(feature.GetShape().GetBoundingBox(), returningColumnsType.AllColumns) 
 returnMarkers = zoomLevel.GetMarkers(features) 
  
 Regards, 
  
 Don