Estilos de Dictionary <\/SPAN> fornecem<\/SPAN> uma maneira altamente personalizável de visualizar dados ricos em atributos em seus mapas e aplicações. Com uma <\/SPAN><\/SPAN>look-up table<\/SPAN><\/SPAN><\/STRONG> de partes individuais do símbolo, um <\/SPAN><\/SPAN>dictionary script<\/SPAN><\/SPAN><\/STRONG> conectando valores de atributos às chaves dos símbolos, e um <\/SPAN><\/SPAN>configuration file<\/SPAN><\/SPAN><\/STRONG> para ajustes finos, esses estilos podem ser usados junto com o Dictionary Renderer para construir símbolos complexos guiados por múltiplos atributos em seus dados. <\/SPAN><\/SPAN><\/P>
Eu criei um estilo de dictionary para a camada <\/SPAN><\/SPAN>Alternative Fuel Stations layer<\/SPAN><\/SPAN><\/A> no Living<\/SPAN> Atlas que fornece informações sobre cada estação rapidamente. <\/SPAN><\/SPAN> <\/SPAN><\/SPAN><\/P>
<\/span><\/SPAN><\/SPAN><\/P>
Neste blog, vou compartilhar algumas das minhas principais dicas para criar seu próprio estilo customizado de dictionary enquanto damos uma olhada mais detalhada no <\/SPAN>que<\/SPAN> eu criei. Se você quiser explorar o estilo enquanto lê, aqui<\/SPAN> estão<\/SPAN> links<\/SPAN> para <\/SPAN><\/SPAN>o estilo<\/SPAN><\/SPAN><\/A> e<\/SPAN> mapa web<\/A> onde uma camada já foi configurada com o estilo. <\/SPAN><\/SPAN><\/SPAN><\/SPAN><\/P>
Dica <\/SPAN>2<\/SPAN> 6 Ne3o se esquee7a das chaves de sedmbolos padre3o embutidas <\/SPAN><\/SPAN><\/SPAN><\/H3>\nCada parte individual do sedmbolo tem uma chave fanica definida na <\/SPAN>tabela de consulta<\/SPAN><\/STRONG>. A melhor maneira de criar e editar essas partes do sedmbolo no ArcGIS Pro. Primeiro adicione o estilo ao Cate1logo do seu projeto e depois dea um duplo clique no estilo Alternative Fuel Stations para abrir a tabela. Aqui vocea encontrare1 todas as partes do sedmbolo no estilo. <\/SPAN> <\/SPAN><\/P>\nVamos focar primeiro nos sedmbolos do Tipo de Combustedvel. Existem 7 sedmbolos de tipo de combustedvel e um sedmbolo padre3o (vamos chegar a esse em um momento), cada um com sua prf3pria chave nica. Com excee7e3o da chave padre3o, essas chaves seguem o formato 22fuel-22 seguido pela abrevia75 do tipo de combust8dvel encontrada no campo Fuel_Type<\/FONT><\/STRONG>. <\/SPAN> <\/SPAN><\/P>\n
<\/span><\/P>\nO <\/SPAN>script dictionary<\/SPAN><\/STRONG> 89 um script Arcade que cont9m instrues sobre como usar valores de atributos para construir chaves de smbolos. O script dictionary usa $feature.Fuel_Typ<\/STRONG>e<\/FONT> para produzir a chave do tipo de combustvel. Esta a primeira chave listada, ent quando um recurso avaliado, a chave do tipo a primeira retornada. <\/SPAN> <\/SPAN><\/P>\n
<\/span><\/P>\nMas o que acontece quando <\/SPAN>Fuel_Type< \/STRONG >< \/FONT > est vazio ou o nome completo, electric, em vez de ELEC? Nesses casos hipotticos, o script retornaria fuel- e fuel-Electric, duas chaves que no existem na tabela de consulta. Aqui entra o smbolo padro!< \/SPAN >< SPAN data - ccp - props = " {& quot ;134233117& quot ; : false , & quot ;134233118& quot ; : false , & quot ;201341983& quot ; : 0 , & quot ;335551550& quot ; : 1 , & quot ;335551620& quot ; : 1 , & quot ;335559685& quot ; : 0 , & quot ;335559737& quot ; : 0 , & quot ;335559738& quot ; : 0 , & quot ;335559739& quot ; : 160 , & quot ;335559740& quot ; : 259 } " >& nbsp;< \/ SPAN >< \/ P > \ n < P >< SPAN data - contrast = " none " > Renderizadores dictionary t
e m chaves de smbo los padro embutidas que so usadas quando a primeira chave retornada no script no existe na tabela de consulta. Tudo que voce precisa fazer e adicionar um smbo com a seguinte chave:Invalid_P para pontos, Invalid_L para linhas ou Invalid_A para polgonos. < \/ SPAN >< \/ P > \ n < H3 id = " toc-hId -1879142076 " >< SPAN data - contrast = " none " >< SPAN class = " TextRun SCXW144453211 BCX0 " data - contrast = " none " >< SPAN class = " NormalTextRun SCXW144453211 BCX0 " data - ccp - parastyle = " heading 2 " > Dica < \/ SPAN >< SPAN class = " NormalTextRun SCXW144453211 BCX0 " data - ccp - parastyle = " heading 2 " > 3 < \/ SPAN >< SPAN class = " NormalTextRun SCXW144453211 BCX0 " data - ccp - parastyle = " heading 2 " > Variar valores da propriedade do smbo com substituiges primitivas < \/ SPAN >< \/ SPAN >< SPAN class = " EOP SCXW144453211 BCX0 " data - ccp - props = " {& quot ;134233117& quot ; : false , & quot ;134233118& quot ; : false , & quot ;134245418& quot ; : true , & quot ;134245529& quot ; : true , & quot ;201341983& quot ; : 0 , & quot ;335551550& quo t;; : 1 , & quo t;;35551620;; : 1 , & quo t;;35559685;; : 0 , & quo t;;35559737;; : 0 , & quo t;;35559738;; : 160 , & quo t;;35559739;; : 80 , & quo t;;35559740;; : 279 } " >& nbsp;< \/ SPAN >< \/ SPAN >< \/ H3 > \ n < P >< SPAN data - contrast = " none " >< SPAN class = " EOP SCXW144453211 BCX0 " data - ccp - props = " {& quo t;;134233117;; : false , & quo t;;134233118;; : false , & quo t;;134245418;; : true , & quo t;;134245529;; : true , & quo t;;201341983;; : 0 , & quo t;;35551550;; : 1 , & quo t;;35551620;; : 1 , & quo t;;35559685;; : 0 , & quo t;;35559737;; : 0 , & quo t;;35559738;; : 160 , & quo t;;35559739;; : 80 , & quo t;;35559740;; : 279 } " >< SPAN class = " TextRun SCXW146592373 BCX0 " data - contrast = " none " >< SPAN class = " NormalTextRun SCXW146592373 BCX0 " > Neste estilo, o contorno do smbo e usado para comunicar duas informages diferentes sobre o posto de combustv el. Se o contorno for uma linha sólida, a informag e foi verificada, mas se for uma linha tracejada, a informag e no foi verificada. < \/ SPAN >< SPAN class = " NormalTextRun AdvancedProofingIssueV2Themed SCXW146592373 BCX0 " > A cor do trao do contorno indica o status operacional do posto:< \/ SPAN > < \/ SPAN >< FONT color="#339966">poColor. A sintaxe para uma substituição primitiva é po:<primitive_name>|<property_name>|<value>. Para este estilo, isso significa que ao desenhar o símbolo de verificação, para qualquer parte do símbolo marcada com status-color, a Cor é substituída pelo valor de poColor:

Agora para marcar as partes do símbolo com o nome primitivo. Esta substituição será aplicada ao traço dos símbolos verificado e não verificado na tabela de consulta. Na tabela de consulta, selecione o símbolo Verificado e navegue até a aba Propriedades da Camada. A partir daqui, use o menu suspenso do elemento para aprofundar até o símbolo Shape Fill, então formate esse símbolo para acessar as propriedades de preenchimento e traço. Na aba estrutura, clique no pequeno símbolo de etiqueta ao lado do traço e especifique status-color como o nome primitivo. Agora repita para o símbolo não verificado.

Com os elementos do símbolo marcados, o estilo agora suporta todas as 8 combinações possíveis de contorno dos status de verificação e status operacionais usando apenas duas partes individuais do símbolo.
Dica 4 – Aproveite as propriedades de configuração
Agora, se você está familiarizado com a camada Alternative Fuel Stations Living Atlas, pode estar pensando, “espere um minuto - não existe um campo ‘verified’ nesses dados!” Você me pegou. Estou usando um subconjunto que modifiquei, adicionando o campo ‘verified’ que será útil para um blog futuro. Este estilo funciona com o campo verified, mas talvez você esteja usando a camada Living Atlas e não tenha esse campo em seus dados. Por isso criei uma propriedade de configuração que permite incluir ou ignorar o campo de verificação.
O arquivo de configuração é um objeto JSON onde você pode definir opções adicionais de configuração que alteram como os símbolos são desenhados. Este estilo tem múltiplas opções de configuração, mas começaremos com a configuração use_Verified_Field. Aqui especifiquei o nome da configuração, o valor padrão, valores possíveis e uma breve descrição. Também incluí o campo Verified como um campo de símbolo utilizado pelo script do dicionário. Você realmente pode ver isso ganhar vida no ArcGIS Pro:

Quando a configuração use_Verified_Field está ativada, o script do dicionário usará o valor no campo verified para retornar uma chave para uma linha sólida ou tracejada. Quando está desativada, o script do dicionário retornará uma chave para a linha sólida para todas as feições. Para aproveitar o valor de uma propriedade de configuração no script do dicionário, use a sintaxe $config.name ou neste caso, $config.use_Verified_Field:

Agora qualquer pessoa usando este estilo para simbolizar uma camada pode controlar se o campo verified é usado.
Dica 5 – Saiba quando usar um campo de símbolo ou campo de texto para rótulos
Essa última propriedade de configuração foi sobre como as partes do símbolo são calculados usando um campo de simbologia nos dados, mas agora vamos olhar para uma propriedade para ligar e desligar os rótulos. Na camada, as estações de carregamento EV incluem informações sobre a rede à qual pertencem no campo EV_Network. Se uma estação não pertence a uma rede, esse campo é preenchido com "Non-networked."
Primeiro, adicione um novo símbolo para o rótulo na tabela de consulta e depois certifique-se de que ele seja um símbolo de texto em forma na aba de propriedades da camada. Para usar a rede EV nos dados, substitua a string de texto pelo nome do campo entre colchetes, neste caso, [EV_Network]:

No arquivo de configuração, eu criei a propriedade show_EV_Network para que você possa ligar e desligar os rótulos. Também especifiquei o campo EV_Network como um campo de símbolo. Por que não um campo de texto, você pergunta? Campos de texto funcionam muito bem quando você quer rotular todas as feições. Se eu tivesse escolhido usar um campo de texto, cada feição seria rotulada com seu valor EV_Network e as estações EV que não são conectadas à rede teriam um rótulo "Non-networked". Decidi que só queria que as estações EV conectadas à rede fossem rotuladas, então fiz disso uma condição no script do dicionário:

Campos de texto não podem ser acessados pelo script do dicionário, o que significa que eles não podem ser usados como variáveis na lógica. Como o script precisa usar o valor EV_Network para determinar se deve retornar a chave do rótulo, incluí o campo EV_Network como um campo de símbolo no arquivo de configuração.
Dica 6 – Use nomes primitivos únicos
A última propriedade de configuração neste estilo é a propriedade show_Connector_Type, que permite mostrar ou ocultar uma faixa que exibe todos os tipos de conectores disponíveis em uma estação de carregamento EV. Os conectores disponíveis estão listados em um único campo na camada Alternative Fuel Stations. Embora a configuração seja uma propriedade simples de ligar/desligar como as outras, esta parte do script do dicionário é um pouco mais complicada, pois temos que considerar quais símbolos de conector são usados, como esses símbolos são posicionados e quão larga a faixa precisa ser para acomodar tantos símbolos:

Vamos começar com a largura da faixa. A tabela de consulta contém partes do símbolo para faixas que acomodam 1, 2, 3 ou 4 símbolos de conector. No script do dicionário, criamos um array dos tipos disponíveis de conectores e contamos o número de objetos no array para determinar qual faixa usar. [connector type]_marker (por exemplo, J1772_marker, CHAdeMO_marker, etc.).
Então, se uma estação tiver dois conectores, J1772 e CHAdeMO, as chaves seriam assim:
• Chave do banner: background-2
• Chaves dos tipos de conector: con-J1772;po:J1772_marker|OffsetX|17;` e `con-CHAdeMO;po:CHAdeMO_marker|OffsetX|28;
Ao contrário do nosso exemplo anterior com primitive overrides, cada parte do símbolo precisa ter um nome primitivo único porque os valores de deslocamento a serem aplicados a cada símbolo são diferentes para que eles não se sobreponham.
### Dica 7 – Retorne as chaves na ordem de desenho
Na última linha deste script de dicionário, retornamos a string das chaves, que informa ao cliente quais partes individuais do símbolo usar para criar o símbolo final. A ordem em que as chaves aparecem na string dita a ordem em que as partes do símbolo são desenhadas. Quando você olha para um símbolo final desenhado com este estilo, pode ver que os tipos de conector são desenhados sobre o banner, e o banner é desenhado abaixo do símbolo do tipo de combustível e do contorno, enquanto o indicador de acessibilidade é desenhado por cima:
Neste dicionário, quando todas as propriedades de configuração estão ativadas, as chaves são retornadas na seguinte ordem: tipo de combustível, nome da rede, banner EV, tipos de conector EV, chave verificada, tipo de combustível e acesso. A chave do tipo de combustível é retornada duas vezes porque a chave padrão embutida (Invalid_P) é usada apenas quando a primeira chave retornada produz uma chave que não está na tabela de consulta. Adicionar a chave do tipo de combustível uma segunda vez garante a ordem correta de desenho, mas outra opção é ajustar as partes do símbolo para remover símbolos de preenchimento desnecessários que podem "enterrar" símbolos.
E é isso - agora você tem todas as minhas principais dicas para criar seu próprio estilo personalizado de dicionário! Você pode explorar mais este estilo baixando-o aqui ou começar a construir seu próprio estilo personalizado. Me conte nos comentários abaixo quais ideias você tem para criar estilos personalizados de dicionário!