ThinkGeo Team,
The rendering of several of my layers results in the infamous ‘pink tile’. This appears due to changing styles based on ZoomLevel. Below are Drawing/Drawn Exceptions.
The following are when Styles are changed based on ZoomLevel for the Transportation Layer:
ZoomLevel01 to ZoomLevel14 – no Styles applied, layer not visible.
ZoomLevel15 ApplyUntil ZoomLevel15
ZoomLevel16 ApplyUntil ZoomLevel16
ZoomLevel17 ApplyUntil ZoomLevel20
Below you can see how the rendering changes based on ZoomLevel:
Beginning at ZoomLevel20
ZoomLevel20 - rendered properly
ZoomLevel19 - rendered improperly
ZoomLevel18 - rendered improperly
ZoomLevel17 - rendered properly
ZoomLevel16 - rendered properly
ZoomLevel15 - rendered improperly
This all works under V10.6, same code, same data, same ZoomLevels, same Styles.
Regards,
Dennis
Here are a few screen-captures:
ZoomLevel20–>>
ZoomLevel19–>>
ZoomLevel18–>>
ZoomLevel17–>>
ZoomLevel16–>>
ZoomLevel15–>>
The below occured when Zoom from ZoomLevel16 to ZoomLevel15–>>
2020-09-03 10:18:04,543 ERROR OriStarVision - OriStarVision->UnKnown.SqliteFeatureLayer_DrawingException:
LayerName=Transportation
Source=System.Private.CoreLib
TargetSite=Void ThrowArgumentOutOfRange_IndexException()
StackTrace= at System.Collections.Generic.List1.get_Item(Int32 index) at ThinkGeo.Core.PositionStyle.qj4=(MultilineShape multilineShape, RectangleShape screenExtent, Boolean allowLineLabelingMoving, Double rotateAngle) at ThinkGeo.Core.PositionStyle.mj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.pD4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.oz4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.oj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.tD4=(LineShape line, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.sD4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.GetLabelingCandidateCore(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.GetLabelingCandidates(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.DrawText(Feature feature, GeoCanvas canvas, GeoFont font, GeoBrush textBrush, GeoPen haloPen, DrawingLevel drawingLevel, Single xOffsetInPixel, Single yOffsetInPixel, DrawingTextAlignment alignment, Double rotationAngle, Collection
1 labelsInThisLayer, Collection1 labelsInAllLayers) at ThinkGeo.Core.PositionStyle.DrawCore(IEnumerable
1 features, GeoCanvas canvas, Collection1 labelsInThisLayer, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.ValueStyle.DrawCore(IEnumerable1 features, GeoCanvas canvas, Collection
1 labelsInThisLayer, Collection1 labelsInAllLayers) at ThinkGeo.Core.ZoomLevel.DrawCore(GeoCanvas canvas, IEnumerable
1 features, Collection1 currentLayerLabels, Collection
1 allLayerLabels)
at ThinkGeo.Core.ZoomLevel.Draw(GeoCanvas canvas, IEnumerable1 features, Collection
1 currentLayerLabels, Collection1 allLayerLabels) at ThinkGeo.Core.FeatureLayer.DrawCore(GeoCanvas canvas, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.Layer.zR8=(GeoCanvas canvas, Collection1 labelsInAllLayers) Message=Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') 2020-09-03 10:18:04,544 ERROR OriStarVision - OriStarVision->MapOverlay.TheLayerOverlay_DrawingException: LayerOverlay=SQLite Source=System.Private.CoreLib TargetSite=Void ThrowArgumentOutOfRange_IndexException() StackTrace= at System.Collections.Generic.List
1.get_Item(Int32 index)
at ThinkGeo.Core.PositionStyle.qj4=(MultilineShape multilineShape, RectangleShape screenExtent, Boolean allowLineLabelingMoving, Double rotateAngle)
at ThinkGeo.Core.PositionStyle.mj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.pD4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.oz4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.oj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.tD4=(LineShape line, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.sD4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.GetLabelingCandidateCore(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.GetLabelingCandidates(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.DrawText(Feature feature, GeoCanvas canvas, GeoFont font, GeoBrush textBrush, GeoPen haloPen, DrawingLevel drawingLevel, Single xOffsetInPixel, Single yOffsetInPixel, DrawingTextAlignment alignment, Double rotationAngle, Collection1 labelsInThisLayer, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.PositionStyle.DrawCore(IEnumerable1 features, GeoCanvas canvas, Collection
1 labelsInThisLayer, Collection1 labelsInAllLayers) at ThinkGeo.Core.ValueStyle.DrawCore(IEnumerable
1 features, GeoCanvas canvas, Collection1 labelsInThisLayer, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.ZoomLevel.DrawCore(GeoCanvas canvas, IEnumerable1 features, Collection
1 currentLayerLabels, Collection1 allLayerLabels) at ThinkGeo.Core.ZoomLevel.Draw(GeoCanvas canvas, IEnumerable
1 features, Collection1 currentLayerLabels, Collection
1 allLayerLabels)
at ThinkGeo.Core.FeatureLayer.DrawCore(GeoCanvas canvas, Collection1 labelsInAllLayers) at ThinkGeo.Core.Layer.zR8=(GeoCanvas canvas, Collection
1 labelsInAllLayers)
Message=Index was out of range. Must be non-negative and less than the size of the collection. (Parameter ‘index’)
2020-09-03 10:18:04,544 ERROR OriStarVision - OriStarVision->MapOverlay.TheLayerOverlay_DrawingException:
LayerOverlay=SQLite
Source=System.Private.CoreLib
TargetSite=Void ThrowArgumentOutOfRange_IndexException()
StackTrace= at System.Collections.Generic.List1.get_Item(Int32 index) at ThinkGeo.Core.PositionStyle.qj4=(MultilineShape multilineShape, RectangleShape screenExtent, Boolean allowLineLabelingMoving, Double rotateAngle) at ThinkGeo.Core.PositionStyle.mj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.pD4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.oz4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.oj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.tD4=(LineShape line, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.sD4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle) at ThinkGeo.Core.PositionStyle.GetLabelingCandidateCore(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.GetLabelingCandidates(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle) at ThinkGeo.Core.PositionStyle.DrawText(Feature feature, GeoCanvas canvas, GeoFont font, GeoBrush textBrush, GeoPen haloPen, DrawingLevel drawingLevel, Single xOffsetInPixel, Single yOffsetInPixel, DrawingTextAlignment alignment, Double rotationAngle, Collection
1 labelsInThisLayer, Collection1 labelsInAllLayers) at ThinkGeo.Core.PositionStyle.DrawCore(IEnumerable
1 features, GeoCanvas canvas, Collection1 labelsInThisLayer, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.ValueStyle.DrawCore(IEnumerable1 features, GeoCanvas canvas, Collection
1 labelsInThisLayer, Collection1 labelsInAllLayers) at ThinkGeo.Core.ZoomLevel.DrawCore(GeoCanvas canvas, IEnumerable
1 features, Collection1 currentLayerLabels, Collection
1 allLayerLabels)
at ThinkGeo.Core.ZoomLevel.Draw(GeoCanvas canvas, IEnumerable1 features, Collection
1 currentLayerLabels, Collection1 allLayerLabels) at ThinkGeo.Core.FeatureLayer.DrawCore(GeoCanvas canvas, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.Layer.zR8=(GeoCanvas canvas, Collection1 labelsInAllLayers) Message=Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') 2020-09-03 10:18:04,547 ERROR OriStarVision - OriStarVision->UnKnown.SqliteFeatureLayer_DrawnException: LayerName=Transportation Source=System.Private.CoreLib TargetSite=Void ThrowArgumentOutOfRange_IndexException() StackTrace= at System.Collections.Generic.List
1.get_Item(Int32 index)
at ThinkGeo.Core.PositionStyle.qj4=(MultilineShape multilineShape, RectangleShape screenExtent, Boolean allowLineLabelingMoving, Double rotateAngle)
at ThinkGeo.Core.PositionStyle.mj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.pD4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.oz4=(LineShape lineShape, Double labelWidth, Double lineLength, String text, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.oj4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.tD4=(LineShape line, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.sD4=(MultilineShape multilineShape, String text, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, GeoCanvas canvas, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.GetLabelingCandidateCore(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.GetLabelingCandidates(Feature feature, GeoCanvas canvas, GeoFont font, Single xOffsetInPixel, Single yOffsetInPixel, Double rotationAngle)
at ThinkGeo.Core.PositionStyle.DrawText(Feature feature, GeoCanvas canvas, GeoFont font, GeoBrush textBrush, GeoPen haloPen, DrawingLevel drawingLevel, Single xOffsetInPixel, Single yOffsetInPixel, DrawingTextAlignment alignment, Double rotationAngle, Collection1 labelsInThisLayer, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.PositionStyle.DrawCore(IEnumerable1 features, GeoCanvas canvas, Collection
1 labelsInThisLayer, Collection1 labelsInAllLayers) at ThinkGeo.Core.ValueStyle.DrawCore(IEnumerable
1 features, GeoCanvas canvas, Collection1 labelsInThisLayer, Collection
1 labelsInAllLayers)
at ThinkGeo.Core.ZoomLevel.DrawCore(GeoCanvas canvas, IEnumerable1 features, Collection
1 currentLayerLabels, Collection1 allLayerLabels) at ThinkGeo.Core.ZoomLevel.Draw(GeoCanvas canvas, IEnumerable
1 features, Collection1 currentLayerLabels, Collection
1 allLayerLabels)
at ThinkGeo.Core.FeatureLayer.DrawCore(GeoCanvas canvas, Collection1 labelsInAllLayers) at ThinkGeo.Core.Layer.zR8=(GeoCanvas canvas, Collection
1 labelsInAllLayers)
Message=Index was out of range. Must be non-negative and less than the size of the collection. (Parameter ‘index’)