Imports System.Windows
Imports System.Windows.Controls
Imports ESRI.ArcGIS.Client
Namespace ArcGISWPFSDK
Partial Public Class RendererJson
Inherits UserControl
Public Sub New()
InitializeComponent()
CreateRendererJson()
End Sub
Private Sub Button_Load(sender As Object, e As System.Windows.RoutedEventArgs)
Try
Dim textbox As TextBox = TryCast(LayoutRoot.FindName(TryCast(sender, Button).Tag.ToString()), TextBox)
Dim irenderer As IRenderer = Renderer.FromJson(textbox.Text)
TryCast(MyMap.Layers("MyFeatureLayerStates"), FeatureLayer).Renderer = irenderer
Catch ex As Exception
MessageBox.Show(ex.Message, "GraphicsLayer creation failed", MessageBoxButton.OK)
End Try
End Sub
Private Sub CreateRendererJson()
Dim jsonSimple As String = vbCr & vbLf & "{" & vbCr & vbLf & " \""type\"": \""simple\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 100," & vbCr & vbLf & " 205," & vbCr & vbLf & " 250," & vbCr & vbLf & " 100" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1.0" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " \""label\"": \""\""," & vbCr & vbLf & " \""description\"": \""\""" & vbCr & vbLf & "}" & vbCr & vbLf
' string.Replace necessary here to handle double-quotes escaped for the '@' string literal
JsonTextBoxSimple.Text = jsonSimple.Replace("\", "")
Dim jsonClassBreaks As String = vbCr & vbLf & "{" & vbCr & vbLf & " \""type\"": \""classBreaks\""," & vbCr & vbLf & " \""field\"": \""POP1999\""," & vbCr & vbLf & " \""minValue\"": 293782," & vbCr & vbLf & " \""classBreakInfos\"": [" & vbCr & vbLf & " {" & vbCr & vbLf & " \""classMinValue\"": 293782," & vbCr & vbLf & " \""classMaxValue\"": 2926324," & vbCr & vbLf & " \""label\"": \""293782 - 2926324\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 255," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""classMinValue\"": 2926325," & vbCr & vbLf & " \""classMaxValue\"": 7078515," & vbCr & vbLf & " \""label\"": \""2926325 - 7078515\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 255," & vbCr & vbLf & " 170," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""classMinValue\"": 7078516," & vbCr & vbLf & " \""classMaxValue\"": 15982378," & vbCr & vbLf & " \""label\"": \""7078516 - 15982378\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 170," & vbCr & vbLf & " 255," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""classMinValue\"": 15982379," & vbCr & vbLf & " \""classMaxValue\"": 38871648," & vbCr & vbLf & " \""label\"": \""15982379 - 38871648\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 0," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }" & vbCr & vbLf & " ]" & vbCr & vbLf & "}" & vbCr & vbLf
JsonTextBoxClassBreaks.Text = jsonClassBreaks.Replace("\", "")
Dim jsonUniqueValue As String = vbCr & vbLf & "{" & vbCr & vbLf & " \""type\"": \""uniqueValue\""," & vbCr & vbLf & " \""field1\"": \""SUB_REGION\""," & vbCr & vbLf & " \""field2\"": \""\""," & vbCr & vbLf & " \""field3\"": \""\""," & vbCr & vbLf & " \""fieldDelimiter\"": \"",\""," & vbCr & vbLf & " \""defaultSymbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 115," & vbCr & vbLf & " 76," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " \""defaultLabel\"": \""\""," & vbCr & vbLf & " \""uniqueValueInfos\"": [" & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""E N Cen\""," & vbCr & vbLf & " \""count\"": 5," & vbCr & vbLf & " \""label\"": \""E N Cen\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 115," & vbCr & vbLf & " 77," & vbCr & vbLf & " 0," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""E S Cen\""," & vbCr & vbLf & " \""count\"": 4," & vbCr & vbLf & " \""label\"": \""E S Cen\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 92," & vbCr & vbLf & " 130," & vbCr & vbLf & " 3," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""Mid Atl\""," & vbCr & vbLf & " \""count\"": 3," & vbCr & vbLf & " \""label\"": \""Mid Atl\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 14," & vbCr & vbLf & " 148," & vbCr & vbLf & " 4," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""Mtn\""," & vbCr & vbLf & " \""count\"": 8," & vbCr & vbLf & " \""label\"": \""Mtn\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 7," & vbCr & vbLf & " 166," & vbCr & vbLf & " 97," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""N Eng\""," & vbCr & vbLf & " \""count\"": 6," & vbCr & vbLf & " \""label\"": \""N Eng\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 9," & vbCr & vbLf & " 149," & vbCr & vbLf & " 184," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""Pacific\""," & vbCr & vbLf & " \""count\"": 5," & vbCr & vbLf & " \""label\"": \""Pacific\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 14," & vbCr & vbLf & " 45," & vbCr & vbLf & " 201," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""S Atl\""," & vbCr & vbLf & " \""count\"": 9," & vbCr & vbLf & " \""label\"": \""S Atl\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 112," & vbCr & vbLf & " 18," & vbCr & vbLf & " 219," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""W N Cen\""," & vbCr & vbLf & " \""count\"": 7," & vbCr & vbLf & " \""label\"": \""W N Cen\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 237," & vbCr & vbLf & " 21," & vbCr & vbLf & " 216," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }," & vbCr & vbLf & " {" & vbCr & vbLf & " \""value\"": \""W S Cen\""," & vbCr & vbLf & " \""count\"": 4," & vbCr & vbLf & " \""label\"": \""W S Cen\""," & vbCr & vbLf & " \""description\"": \""\""," & vbCr & vbLf & " \""symbol\"": {" & vbCr & vbLf & " \""type\"": \""esriSFS\""," & vbCr & vbLf & " \""style\"": \""esriSFSSolid\""," & vbCr & vbLf & " \""outline\"": {" & vbCr & vbLf & " \""type\"": \""esriSLS\""," & vbCr & vbLf & " \""style\"": \""esriSLSSolid\""," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 110," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]," & vbCr & vbLf & " \""width\"": 1" & vbCr & vbLf & " }," & vbCr & vbLf & " \""color\"": [" & vbCr & vbLf & " 255," & vbCr & vbLf & " 25," & vbCr & vbLf & " 87," & vbCr & vbLf & " 255" & vbCr & vbLf & " ]" & vbCr & vbLf & " }" & vbCr & vbLf & " }" & vbCr & vbLf & " ]" & vbCr & vbLf & "}" & vbCr & vbLf & vbCr & vbLf
JsonTextBoxUniqueValue.Text = jsonUniqueValue.Replace("\", "")
End Sub
Private Sub FeatureLayer_Initialized(sender As Object, e As EventArgs)
Dim featureLayer As FeatureLayer = TryCast(sender, FeatureLayer)
JsonTextBoxCurrent.Text = TryCast(featureLayer.Renderer, IJsonSerializable).ToJson()
featureLayer.MaxAllowableOffset = MyMap.Resolution * 4
End Sub
Private Sub Button_ResetMap(sender As Object, e As RoutedEventArgs)
TryCast(MyMap.Layers("MyFeatureLayerStates"), FeatureLayer).Renderer = TryCast(MyMap.Layers("MyFeatureLayerStates"), FeatureLayer).LayerInfo.Renderer
End Sub
Private Sub FeatureLayer_PropertyChanged(sender As Object, e As System.ComponentModel.PropertyChangedEventArgs)
If e.PropertyName = "Renderer" Then
Dim featureLayer As FeatureLayer = TryCast(sender, FeatureLayer)
JsonTextBoxCurrent.Text = TryCast(featureLayer.Renderer, IJsonSerializable).ToJson()
End If
End Sub
End Class
End Namespace