Mais

Colocar o nome da camada ao lado de seus símbolos na legenda usando representações do ArcGIS for Desktop?

Colocar o nome da camada ao lado de seus símbolos na legenda usando representações do ArcGIS for Desktop?


Eu quero colocar o nome da camada da minha classe de feição (estilizada com uma representação) ao lado (lado direito) do seu símbolo na legenda do meu mapa no ArcMap 10.1.

Eu sei que o formato pode ser alterado via: legenda> propriedades> tema> escolha minha camada e clique em "estilo" e, em seguida, altere o estilo dos elementos de legenda da lista. No entanto, se eu usar classes de recursos estilizadas com representações, não sei como fazer isso. Usar formas não é problema porque posso ajustar a descrição da camada no índice. No entanto, isso não é possível (ou não sei como) ao usar representações.

Essas fotos visualizam minha pergunta:

Estilo de legenda padrão para representações:

Possível alterando o estilo da legenda:

O que eu quero alcançar:

Alguma dica ou sugestão de como resolver meu problema? Talvez haja uma maneira de criar estilos personalizados?


Em primeiro lugar, crie uma consulta de definição para exibir apenas "Regra_1", em seguida, crie a simbologia por "Símbolo Único", mapa de arco automaticamente com mostrar apenas o nome da camada.

Em segundo lugar, se você tiver que usar categorias para simbologia.

1- Adicionar novo campo ao conjunto de dados

2- calcule o campo com o nome da camada (para o recurso que você deseja incluir no seu caso "Regra_1")

3- Crie simbologia com este campo

4- Remova outras categorias

5- Criar legenda (a legenda estará com o nome da sua camada)


Para obter uma legenda mais personalizada, você pode tentar estas etapas depois de criar a legenda inicialmente:

  1. clique com o botão direito e selecione “propriedades”
  2. Vá para a guia “itens”
  3. clique no botão “estilo” na parte inferior da janela. Isso fornece várias opções de legenda diferentes. No entanto, se você não encontrar o estilo que procura, pressione "propriedades" para obter ainda mais opções
  4. Se você ainda não encontrar o estilo que está procurando, clique em “mais estilos” e isso fornecerá opções de estilo adicionais

Sobre a exibição de camadas

O ArcGIS inclui muitas opções de exibição de camada que são usadas para retratar informações geográficas. Existem várias maneiras de representar camadas usando símbolos, cores e rótulos. Os tópicos nesta seção de ajuda cobrem como simbolizar e renderizar camadas.

As camadas formam os blocos de construção primários nos mapas GIS. Dentro de cada camada, símbolos, cores e texto são usados ​​para retratar informações importantes que descrevem cada um dos elementos geográficos individuais.

Os recursos têm geometria que define sua localização e forma (por exemplo, pontos, linhas e polígonos), bem como valores de atributos. Uma ampla variedade de renderizadores é usada para atribuir símbolos de mapa com base em valores de atributos.

Os recursos também são frequentemente rotulados com seus atributos. Consulte a seção de ajuda em Adicionar texto a um mapa para obter informações sobre o uso de etiquetagem e anotação.


Colocar o nome da camada ao lado de seus símbolos na legenda usando representações do ArcGIS for Desktop? - Sistemas de Informação Geográfica

As escolhas cartográficas estão no cerne da criação de mapas para comunicação. Como você decide representar seus dados determinará o que o mapa comunicará. Você pode desviar a atenção do leitor de um detalhe para outro. Você pode distorcer os dados para que o leitor obtenha uma imagem distorcida da & quotrealidade & quot subjacente dos dados do mapa.

Considere que esses 2 mapas mostram a população de cada estado nos EUA contíguos, onde a cor mais escura representa a maior população. O primeiro mapa mostra a população total, enquanto o segundo mapa mostra a densidade populacional (população por unidade de área). No primeiro mapa, a Califórnia mostra a maior população e alguns dos estados do Nordeste mostram uma população baixa. No entanto, no segundo mapa, a Califórnia mostra uma população um tanto baixa densidade, enquanto o Nordeste apresenta a maior população densidade. Ambos os mapas representam os mesmos dados temáticos gerais (população), mas cada um usa um método cartográfico diferente e cada mapa comunica uma ideia diferente. Você usaria um ou outro desses mapas, dependendo das idéias que deseja comunicar.

Freqüentemente, diferentes símbolos de mapa são escolhidos por causa de seu impacto psicológico (por exemplo, símbolos preenchidos em verde e azul são frequentemente usados ​​para mostrar áreas & quotfrescas & quot ou não ameaçadoras; enquanto vermelho é usado para mostrar & quotquentes & quot & quot; ou áreas perigosas). Os pesos das linhas também conferem importância relativa a diferentes características lineares (rodovias interestaduais são geralmente mais espessas do que estradas municipais). Diferentes símbolos de pontos podem ser usados ​​para indicar características de lugares (mapas de parques nacionais geralmente mostram comodidades como lançamentos de barcos, trilhas, áreas de piquenique e banheiros com símbolos de marcadores especializados). Pense cuidadosamente sobre o que você deseja comunicar e escolha os símbolos do mapa de acordo.

A classificação é outro método de alterar o que você deseja comunicar com seus mapas. A pesquisa mostrou que é mais difícil compreender ou comparar um grande número de objetos, valores, símbolos ou cores. A classificação permite agrupar recursos semelhantes em classes, menos classes são mais fáceis de comparar entre si. Nos mapas acima, se mais classes fossem usadas, as classes se tornariam visualmente indistinguíveis umas das outras. Também é mais fácil diferenciar entre um grande número de classes de cores em rampa que representam valores numéricos (por exemplo, população) do que diferenciar entre um grande número de classes de valores categóricos (por exemplo, origem étnica dominante).

Qualquer bom software GIS lhe dará a capacidade de alterar rápida e facilmente a forma como os mapas são exibidos, alterando símbolos, cores ou esquemas de classificação

As Propriedades da Camada ArcGIS para Simbologia permitem que você altere a simbologia dos recursos da camada dentro do mapa. Existe uma grande flexibilidade sobre como exibir recursos. Muitas paletas de símbolos incorporadas estão disponíveis para recursos de área, linha ou ponto, e também é possível criar símbolos personalizados.

Para alterar a simbologia de uma camada, clique com o botão esquerdo no nome da camada e selecione Propriedades. Dentro do Propriedades da Camada diálogo, o Simbologia guia contém os controles para alterar a simbologia.

A maioria das mudanças cartográficas descritas nesta seção são acessadas por meio das Propriedades da camada para simbologia.

Escolha de um tipo de legenda

Vários tipos de legenda estão disponíveis:

    Símbolo único (todos os recursos de uma camada serão desenhados com o mesmo símbolo)
    Use um único símbolo quando precisar apenas exibir a localização dos recursos.


Definir favoritos

Primeiro, você se registrará no ArcGIS Online (ou ArcGIS Enterprise) e iniciará um novo mapa. Você planeja analisar dados meteorológicos em várias regiões do mundo, portanto, definirá marcadores para essas regiões para navegar até eles rapidamente.

Se você não tem uma conta organizacional, você pode se inscrever para um teste gratuito do ArcGIS.

Um novo mapa é aberto. O mapa base e a extensão do mapa para um novo mapa são definidos de acordo com os padrões da sua organização. A maioria das organizações usa o mapa básico topográfico como padrão. Você pode verificar o nome do seu mapa base no painel Conteúdo.

O nome do mapa base é listado.

  • Oeste da Europa
  • Ásia leste
  • Austrália
  • Sudeste do brasil
  • norte da África
  • Sudeste dos estados unidos
  • Califórnia, Estados Unidos
  • Colorado, Estados Unidos

Seus favoritos não precisam corresponder exatamente às extensões da imagem de exemplo. Você também pode adicionar marcadores para qualquer outra área de seu interesse.

O mapa navega na medida em que você estava quando criou o favorito.


ArcGIS API para JavaScript 3.36

O ArcGIS API para JavaScript suporta a edição de dados geográficos na web. A edição baseada na Web permite que um grupo maior de pessoas adicione e aprimore seus dados. Isso inclui trabalhadores de campo, analistas em outros departamentos de sua empresa ou talvez até voluntários de crowdsourcing que podem fazer contribuições valiosas para seus dados com uma interface de edição simples.

As APIs incluem widgets que ajudam a adicionar funcionalidade de edição aos seus aplicativos. Você pode fazer algum trabalho de design no mapa e no aplicativo da Web para simplificar a experiência do usuário final durante a edição. Por exemplo, você pode predefinir um conjunto de modelos de recursos, novo no ArcGIS 10, para tornar mais fácil para os usuários adicionar certos tipos de recursos comuns. Você também pode limitar os atributos que podem ser adicionados e adicionar algumas opções de atributos disponíveis em uma lista suspensa para facilitar a entrada de dados precisa e uniforme. Como designer de um aplicativo de edição da Web, você tem controle total sobre o quão simples ou complexa é uma experiência de edição que você expõe aos usuários.

A edição na Web requer alguma configuração inicial de um serviço de feições, que expõe informações sobre geometrias e atributos de feições de uma camada. Além disso, os serviços de geometria podem ser usados ​​para realizar algumas tarefas de edição na web. Para usar o widget Editor principal, por exemplo, você deve ter um serviço de geometria em execução.

O que posso fazer com a edição nas APIs do ArcGIS Web?

Os ArcGIS Web APIs fornecem edição simples de recursos. Os recursos podem vir de um geodatabase registrado ou de um serviço de recurso hospedado via ArcGIS Online ou Portal for ArcGIS.

Ao editar dados com as APIs da Web, você pode adicionar, excluir, mover, cortar, unir e remodelar recursos. Você também pode editar os atributos do recurso. Se você tentar modificar o mesmo recurso ao mesmo tempo que outra pessoa, as últimas edições a serem feitas são aquelas confirmadas no banco de dados.

Para alguns fluxos de trabalho de edição da Web, é uma boa ideia ter um analista usando o ArcGIS Desktop que revise periodicamente as edições para verificar a integridade dos dados. Embora os widgets de edição possam realizar algumas validações de dados, outras tarefas, como a validação de topologias, não podem ser realizadas na web.

Como adiciono funcionalidade de edição ao meu aplicativo?

O ArcGIS API for JavaScript fornece widgets para tornar mais fácil para você adicionar edição aos seus aplicativos da web. Os seguintes widgets estão disponíveis.

Widget do editor

Se você deseja começar rapidamente ou se deseja apenas usar a interface de edição padrão incluída com a API, use o widget Editor. O widget Editor combina a funcionalidade de outros widgets para fornecer tudo o que você precisa para editar uma camada. Você pode escolher o número e os tipos de ferramentas disponíveis no widget.

O widget Editor salva suas edições imediatamente após serem feitas, por exemplo, assim que você terminar de desenhar um polígono. Se você decidir não usar o widget Editor, deverá determinar por si mesmo quando e com que freqüência deseja aplicar as edições.

Se você não usar o widget Editor, precisará codificar sua própria experiência de edição. No entanto, você ainda pode aproveitar as vantagens dos widgets Seletor de modelo, Inspetor de atributos e Editor de anexos para ajudá-lo.

Seletor de modelo

O Seletor de modelo exibe um conjunto de opções de recursos pré-configurados que o usuário pode criar. O Seletor de modelo é uma ótima maneira de expor tipos de recursos pré-configurados para fácil edição e controle de qualidade. Os símbolos visíveis no Seletor de modelo podem vir dos modelos de edição que você definiu no mapa de origem do serviço da feição ou podem ser um conjunto de símbolos que você define no aplicativo.

Um Seletor de modelo está incluído no widget Editor. O Seletor de modelo pode, opcionalmente, ser usado sozinho como uma legenda simples para seu mapa. Clique aqui para ver um exemplo que usa o Seletor de modelo para exibir uma legenda para o mapa.

Inspetor de Atributo

Ao disponibilizar atributos para edição na Web, você precisa fornecer uma interface para que os usuários editem os atributos e deve garantir que os dados que eles inserem sejam válidos. O widget Attribute Inspector pode ajudá-lo nessas duas tarefas.

O Attribute Inspector lê os campos de atributos disponíveis em sua camada de feição e fornece uma interface de usuário para atualizar facilmente esses campos. Ele também valida os dados inseridos nos campos, garantindo que a entrada corresponda ao tipo de dados esperado. Por exemplo, se um domínio de valor codificado é aplicado a um campo, os valores permitidos aparecem em uma lista suspensa, restringindo a possibilidade de outros valores serem inseridos. Se um campo exigir um valor de data, um calendário aparecerá, ajudando o usuário a fornecer uma data válida.

O Attribute Inspector expõe todos os atributos disponíveis na camada para edição. Se você deseja restringir os atributos disponíveis, deve codificar sua própria interface para inserir e validar valores.

Um Inspetor de Atributo está incluído no widget Editor.

Editor de Anexo

Em algumas situações, você pode desejar associar um arquivo para download a um recurso. Por exemplo, você pode desejar que os usuários possam clicar em um elemento que representa um imóvel e ver um link para um arquivo PDF do título de propriedade. Nas APIs do ArcGIS Web, um arquivo para download associado como este é conhecido como anexo de recurso.

O Editor de Anexo é um widget que ajuda os usuários a carregar e visualizar anexos de recursos. O Editor de anexos inclui uma lista dos anexos atuais (com botões Remover), bem como um botão Navegar que pode ser usado para carregar mais anexos. O Editor de anexos funciona bem dentro de uma janela de informações, mas pode ser colocado em outro lugar na página.

Para usar anexos de recurso, os anexos devem ser habilitados na classe de recurso de origem. Você pode habilitar anexos para uma classe de recurso no ArcCatalog ou na janela Catálogo no ArcMap. Se o widget Editor detectar que os anexos estão ativados, ele incluirá um Editor de anexos.

Como funciona a edição?

A edição com ArcGIS Web APIs funciona por meio do serviço de feições, um novo tipo de serviço disponível com ArcGIS 10. Os fluxos de trabalho de edição também podem tirar proveito do serviço de geometria.

A função do serviço especial

A edição na Web requer um serviço de feições para fornecer a simbologia e a geometria das feições de seus dados. O serviço da feição é apenas um serviço de mapa com o recurso Acesso à feição habilitado. Esse recurso permite que o serviço de mapa exponha geometrias de recursos e seus símbolos de uma maneira que seja fácil para os aplicativos da Web usarem e atualizarem.

Antes de construir um aplicativo de edição da Web, você precisa trabalhar para criar um serviço de feições expondo as camadas que deseja editar. Isso envolve a configuração de um documento de mapa e, opcionalmente, a definição de alguns modelos para edição. Os modelos permitem que você pré-configure a simbologia e os atributos para alguns tipos de recursos comumente usados. Por exemplo, para se preparar para a edição de estradas, você pode configurar modelos para "Autoestrada de acesso controlado", "Outra rodovia dividida", "Rodovia estadual" e "Estrada local". Os modelos são opcionais, mas tornam mais fácil para o usuário final do aplicativo criar recursos comuns.

Assim que seu mapa for concluído, você precisa publicá-lo no ArcGIS Server com o recurso Feature Access habilitado. Isso cria URLs REST, ou endpoints, para um serviço de mapa e um serviço especial. Você usará esses URLs para fazer referência aos serviços em seu aplicativo.

Os serviços de feições são acessíveis nas APIs da Web por meio de um novo tipo de camada chamada camada de feições. Camadas de feição podem fazer uma variedade de coisas e podem fazer referência a serviços de mapa ou serviços de feição, no entanto, quando você usa uma camada de feição para fins de edição você precisa fazer referência a um serviço de recursos.

Ao editar, seu aplicativo da web informa à camada de feição quais atributos foram alterados e, se aplicável, como a geometria mudou. A camada de feição também exibe as feições atualizadas após a edição. Você pode chamar o método applyEdits na camada de feição para aplicar as edições, que então as confirma no banco de dados.

A função do serviço de geometria

O serviço de geometria do ArcGIS Server ajuda a realizar operações de edição comuns, como criar, cortar e remodelar recursos geográficos. Antes de usar o widget Editor, você precisa criar um serviço de geometria em seu ArcGIS Server. Então, ao criar o widget, você deve fornecer a URL para o serviço de geometria. O widget usa o serviço nos bastidores e você não terá que chamar métodos no serviço de geometria por conta própria, a menos que decida não usar o widget.

Se você decidir não usar o widget Editor, ainda poderá usar o serviço de geometria para ajudá-lo a codificar suas próprias ferramentas de edição. O serviço de geometria também pode ajudá-lo a validar dados. Por exemplo, você pode usar o serviço de geometria para realizar verificações nas edições, como "nenhuma edição pode ficar fora desta caixa" ou "um limite de polígono pode não se cruzar". (O widget Editor na verdade chama o método Simplify () no serviço de geometria antes de comprometer uma geometria em seu banco de dados.) Embora a validação da topologia ArcGIS não esteja disponível através do widget Editor ou classes relacionadas à edição, o serviço de geometria pode ajudá-lo a alcançar um resultado semelhante por meio desses tipos de verificações de integridade de dados.

A barra de ferramentas de edição

A barra de ferramentas Editar é uma classe que ajuda a codificar a colocação e movimentação de vértices e gráficos. Isso é útil em cenários em que você não está usando o widget Editor e precisa escrever sua própria lógica de edição, especialmente o comportamento de exibição do cliente. Como as outras barras de ferramentas (Desenho e Navegação), a barra de ferramentas Editar não é uma barra de ferramentas da interface do usuário. Em vez disso, é uma classe auxiliar que torna mais fácil codificar algumas funções relacionadas comuns.

Projetando sua experiência de edição

Ao construir um aplicativo de edição da Web, é importante pensar sobre quem usará o aplicativo e o que será necessário fazer. Você deve fornecer a seus usuários nem mais nem menos do que as ferramentas de que eles precisam. Na maioria das situações, você pode criar uma experiência de edição apropriada para seus usuários por meio de uma combinação dos widgets de edição incluídos com a API. Lembre-se de que, embora a API inclua um widget Editor abrangente para ajudá-lo a começar, esse widget específico pode não ser o mais adequado para o seu cenário.

De certa forma, a experiência de edição com a API já foi simplificada para você. Os widgets não incluem botões para iniciar e parar sessões de edição ou para salvar edições. Opcionalmente, você pode fornecer essas funções, mas elas não são necessárias para a maioria dos aplicativos.

Considere as seguintes abordagens para projetar um aplicativo de edição da Web. Cada abordagem tem seus próprios méritos e tipos de aplicações para os quais é mais apropriada.

Desenho de recurso

Nesse tipo de aplicação, os analistas de campo precisam esboçar eventos ou ideias simples no mapa e adicionar comentários associados. Um avistamento de pássaros, uma trilha imaginada ou uma área selvagem proposta, todos exemplos dos tipos de recursos que podem ser esboçados neste tipo de aplicação. Nesse cenário, a facilidade de uso e a liberdade para desenhar intuitivamente no topo do mapa são mais importantes do que a precisão geométrica.

Ao construir um aplicativo de esboço de recurso, você pode usar um Seletor de modelo para limitar os tipos de itens que os usuários podem esboçar. O Attribute Inspector também é útil para permitir que os editores adicionem comentários, seja em um painel lateral ou em uma janela de informações que aparece quando o recurso é clicado. As opções para dividir e mesclar recursos, adicionar um ponto em um local X / Y, encaixar ou carregar anexos de recursos podem confundir o aplicativo e devem ser evitadas, a menos que seja absolutamente necessário.

Clique aqui para ver um exemplo que mostra como construir um aplicativo de esboço de recurso.

Edição apenas de atributos

Alguns aplicativos de edição incluem um componente de mapeamento, mas não exigem nenhuma alteração nos recursos geográficos. Por exemplo, você pode desejar criar um aplicativo da Web que permita a qualquer funcionário do escritório editar os atributos de um recurso de lote em seu banco de dados. Você deseja evitar que eles editem a geometria, deixando essa tarefa para seus analistas de GIS. Neste cenário, você pode incluir um mapa em seu aplicativo, mas expor a edição apenas por meio do Inspetor de Atributo. Um simples clique no mapa em um lote exibe os atributos a serem editados. Você não precisa incluir botões ou widgets para criar, excluir ou remodelar recursos.

Clique aqui para ver um exemplo que mostra como construir um aplicativo de edição de atributos.

Participação do cidadão, ou geo-wiki

Esta é uma variação do cenário de desenho de recursos em que os cidadãos podem ser os editores e relatar problemas a uma organização governamental, colocando pontos no mapa e incluindo informações auxiliares, como fotografias ou uma breve descrição.

Os usuários deste tipo de aplicativo nem sabem que estão editando dados GIS. Eles só têm permissão para adicionar recursos de ponto ao banco de dados, usando um conjunto cuidadosamente selecionado de tipos de incidentes que você predefiniu em um Seletor de modelo. Os anexos são permitidos por meio do widget Inspetor de anexos para que os cidadãos possam fazer upload de imagens do incidente. A edição de atributos pode ser permitida em um grau muito limitado para que os cidadãos possam descrever os incidentes.

Nesse tipo de aplicativo, pode ser necessário codificar algumas verificações de segurança para garantir que os usuários só possam editar ou excluir seus próprios incidentes. Você também pode incluir lógica para limpar periodicamente o banco de dados ou permitir que um subconjunto de usuários autenticados feche ou exclua incidentes.

Clique aqui para visualizar uma amostra que mostra como construir um aplicativo de participação cidadã.


Como alterar o nome do item de legenda no ArcGIS Pro?

No ArcGIS Pro, eu tenho uma legenda em um layout anexado a um mapa. No painel Conteúdo, vejo o Nome da Camada conforme aparece no Layout. No entanto, não consigo alterar o nome da camada.

Em tantos outros elementos no painel de conteúdo, pode-se clicar com o botão esquerdo do mouse no nome do item, tornando o nome do item editável. No entanto, em elementos de legenda, isso não está disponível. Posso clicar com o botão direito do mouse no item (para ver 'definir como padrão', 'Remover' e 'Propriedades'. Nas propriedades, há sempre a oportunidade de alterar qualquer coisa sobre o elemento (formatação, tamanho, fonte, uma galeria de estilos possíveis, agrupamento , nome da camada, nome do grupo, rótulos, descrição, etc.), no entanto, não vejo lugar para alterar o texto visível que aparece na legenda. Caso contrário, a legenda está apagada, está em uma série de grupos. Alternativamente, no mapa ao qual os elementos da legenda estão anexados Eu vejo a Camada e suas propriedades na guia Geral, posso alterar o nome da Camada (no mapa), mas isso não altera o Layout. Quando eu seleciono a Camada no Conteúdo, a guia / barra de botões / faixa na parte superior destaca a camada de recurso, mas não vejo como alterar como ela é nomeada no layout.

Suspeito que seja uma solução fácil, mas, por mais que eu tente, não consigo encontrar onde o Pro escondeu essa funcionalidade. Obrigada.


Notas de lançamento para 4.12

Aumentamos nossos recursos para visualizar dados temporais em 2D MapViews e 3D SceneViews. Adicionamos a classe TimeInterval para descrever um período de tempo em diferentes unidades temporais, que é referenciado por camadas com reconhecimento de tempo e o widget TimeSlider.

A versão beta do widget TimeSlider simplifica a manipulação do tempo em seu aplicativo e pode ser configurada para atualizar o View & # x27s timeExtent, o que significa que todas as camadas com reconhecimento de tempo irão atualizar seu conteúdo para se adequar a essa mudança. Você também pode usar o widget TimeSlider para visualizar dados temporais no lado do cliente, definindo filtros ou efeitos em FeatureLayerView, CSVLayerView e GeoJSONLayerView.

Continuaremos a adicionar mais suporte para a consciência do tempo. Isso inclui, mas não está limitado a, adicionar propriedades timeExtent em camadas que armazenam dados temporais, permitindo que as camadas sigam sua própria linha do tempo sem ter que seguir View.timeExtent e melhorias e aprimoramentos contínuos no widget TimeSlider.

As camadas de blocos vetoriais agora carregam 50% mais rápido devido à busca aprimorada de blocos vetoriais, incluindo mais paralelização de solicitações e otimizações de processamento de blocos. A renderização da camada de recursos foi aprimorada devido a otimizações relacionadas à triangulação de geometrias. O processamento de triangulação melhorou sem reduzir a qualidade. O tempo de carregamento de mapas 2D foi reduzido graças aos tessellators renovados. Isso melhora a velocidade, a precisão e o perfil de memória dos algoritmos principais. Também adicionamos estratégias de comutação adaptativa para selecionar a mais apropriada para uma determinada situação.

As melhorias no desenho incluem processamento mais rápido de valores de dados em visualizações para que possam ser atualizados mais rapidamente, proporcionando uma melhor experiência do usuário e desempenho aprimorado. As atualizações do FeatureLayer são mais rápidas ao alterar a variável que direciona a visualização. A animação abaixo mostra a mudança entre 4.11 e 4.12.

O desempenho da camada de cena continua a melhorar: os objetos 3D SceneLayer e IntegratedMeshLayer carregam e exibem em média duas vezes mais rápido usando a nova especificação I3S versão 1.7. Além disso, um novo cache do lado do cliente ajuda a reduzir áreas sem dados ao explorar uma cena 3D. Para experimentar esse melhor desempenho, você pode converter seus SLPKs existentes com a ferramenta I3S Converter. Para obter mais detalhes, leia o tópico do guia Trabalhando com camadas de cena.

Fizemos várias atualizações para modernizar a API. Essas atualizações nos permitem tirar mais proveito das APIs disponíveis nativamente em navegadores da web modernos.

  • 93% da base de código é escrita em TypeScript. agora usa a API Fetch internamente para solicitar recursos. Quando não estiver disponível (por exemplo, com o IE11), usamos um fetch polyfill.
  • A maioria dos métodos assíncronos na API agora oferece suporte a um parâmetro de sinal opcional do tipo AbortSignal. Consulte Cancelamento de método assíncrono para obter mais informações.
  • Um novo sinalizador está disponível para habilitar promessas nativas de JavaScript. Atualmente, as promessas retornadas de qualquer função assíncrona retornam uma promessa Dojo. Com esse sinalizador, essas mesmas funções agora podem retornar uma promessa de JavaScript. Mais detalhes sobre essa funcionalidade estarão disponíveis em uma próxima postagem do blog.

O SceneLayerView e o FeatureLayerView agora suportam consultas puras do lado do cliente que não requerem uma viagem de ida e volta para o servidor. Selecione interativamente recursos e exiba estatísticas usando expressões espaciais e baseadas em atributos. Um novo exemplo mostra como você pode consultar um SceneLayerView para obter estatísticas sobre os recursos que correspondem à consulta.

Adicione visualizações animadas de água às suas cenas 3D usando o novo WaterSymbol3DLayer. Seja olhando para um oceano de longe ou um lago de perto, o novo estilo de polígono de água permite que você crie visualizações realistas, como reflexos da luz do sol na água.

Adicionamos suporte para 2D WebStyleSymbols. Isso adiciona mais de 100 símbolos de alta qualidade que estão disponíveis para uso em 2D MapViews. Consulte a página do guia Esri Web Style Symbol (2D) para obter os símbolos suportados hospedados pela Esri. Esses símbolos são baseados no CIM (Cartographic Information Model). A classe CIMSymbol permite aos usuários criar símbolos que são compostos de várias SymbolLayers com muitas opções de visualização personalizáveis ​​disponíveis para o usuário. Consulte a amostra WebStyleSymbol (2D) e a amostra CIMSymbol para obter exemplos.

Novos modelos 3D no Esri Web Style Symbol (3D), como bicicletas e hidrantes, permitem que você personalize ainda mais suas cenas. Além disso, os estilos da web Infraestrutura e Recreação foram adicionados à galeria. Também adicionamos um nível automático de detalhe às Árvores esquemáticas para manter um desempenho forte em cenas com um grande número de árvores.

As APIs de visualização do Smart Mapping alcançaram paridade total com a série 3.x e adicionaram funcionalidades adicionais. Isso inclui: visualizações dependentes de escala, suporte para renderizadores de densidade de pontos, suporte 3D para linhas e polígonos e widgets de controle deslizante.

Os seguintes aprimoramentos de escala se aplicam apenas a renderizadores em 2D MapViews.

Tamanho do contorno por escala - O parâmetro outlineOptimizationEnabled foi adicionado a todos os métodos de criação de renderizador para camadas de polígono. Quando definido como verdadeiro, o renderizador gerado incluirá contornos de símbolo que dinamicamente mudam de largura por escala de visualização.

contornos não visíveisvisível, não proeminenteproeminente

Faixa de tamanho por escala - O parâmetro sizeOptimizationEnabled foi adicionado aos seguintes métodos de criador de renderizador para camadas de polígono. Quando definido como verdadeiro, os tamanhos dos ícones gerados serão alterados dinamicamente com base na escala de visualização. Internamente, esta opção usa a nova função sizeRange para determinar o intervalo de tamanho apropriado por escala. Isso se aplica apenas a visualizações baseadas em dados envolvendo variáveis ​​visuais de tamanho.

Visibilidade da camada sugerida por escala - A função scaleRange foi adicionada como uma conveniência para sugerir os intervalos de escala mínimo e máximo para qualquer camada em uma determinada visualização.

O método dotDensityRendererCreator.createRenderer () foi adicionado ao novo módulo de mapeamento inteligente dotDensity. Este é um método auxiliar para gerar um DotDensityRenderer com um dotValue sugerido apropriado para a escala da vista onde o renderizador será exibido. Isso se destina exclusivamente a aplicativos de criação de visualização e aplicativos de exploração de dados.

Suporte 3D para linhas e polígonos

Todos os métodos de criação de renderizador nos módulos a seguir agora oferecem suporte a camadas de polilinha e polígono em SceneViews 3D:

  • esri / renderers / smartMapping / creators / color
  • esri / renderers / smartMapping / criadores / localização
  • esri / renderers / smartMapping / creators / opacity
  • esri / renderers / smartMapping / criadores / relacionamento
  • esri / renderers / smartMapping / creators / type

A seguir estão novos widgets de controle deslizante destinados a ajudar os usuários a explorar, atualizar e criar renderizadores.

Os seguintes widgets foram removidos da API JS na versão 4.12 em favor de seus equivalentes acima:

  • esri / widgets / ColorSlider
  • esri / widgets / SizeSlider
  • esri / widgets / UnivariateColorSizeSlider

Adicionamos tags e nomes a todos os esquemas de cores de mapeamento inteligente e fornecemos métodos para consultar esquemas por tags e nomes. Isso torna mais fácil trabalhar com rampas de cores disponíveis por meio das APIs de mapeamento inteligente para aplicativos de criação de renderizadores. Todos os módulos de simbologia agora têm os métodos getSchemeByName (), getSchemesByTag () e getThemes ().

O novo perfil quadrado em PathSymbol3DLayer, permite que você visualize linhas 3D com estilos de quadrados, faixas e paredes. Tal como acontece com outros símbolos, este novo perfil também suporta tamanho ou cor orientado por atributo usando VisualVariables.

Combine os perfis de caminho com as novas opções de configuração para cap, join e profileRotation para aprimorar o estilo de visualização para características de linha, como ruas ou limites geográficos. Você pode experimentar essas novas propriedades na visualização de caminho na amostra 3D.

Filtros em BuildingSceneLayer

O BuildingSceneLayer permite renderizar modelos de construção 3D detalhados. Com esta versão, adicionamos suporte para filtros, para que você possa criar aplicativos que isolam pisos, destacam materiais de construção ou visualizam fases de construção. Defina um BuildingFilter na propriedade filters de BuildingSceneLayer e ele se aplica automaticamente a todas as subcamadas.

Cancelamento de método assíncrono

A maioria dos métodos assíncronos na API agora oferece suporte a um parâmetro de sinal opcional do tipo AbortSignal. Isso permite solicitações canceláveis. Se abortada, a promessa é rejeitada com um erro denominado AbortError. Veja também AbortController. Para saber se um método assíncrono oferece suporte a sinal, consulte os parâmetros dos métodos na referência da API.

Aqui está um exemplo em que passamos o sinal do controlador & # x27s para o método queryFeatures. Se a solicitação retornar um erro com o nome AbortError, imprimiremos uma mensagem de erro útil no console.

Adicionamos uma nova classe, esri / geometry / support / geodesicUtils, que realiza cálculos geodésicos para esferóides terrestres e não terrestres. Esta classe possui alguns métodos semelhantes aos métodos geometryEngine. Consulte a tabela abaixo para comparar a funcionalidade disponível em cada classe.

FuncionalidadegeometryEnginegeodesicUtils
Sistemas coordenadosWeb Mercator, WGS84WGS84, 75 non-Earth geographic coordinate systems
geodesicArea(s)single polygonmultiple polygons
geodesicDensifysimsim
geodesicDistancenãosim
geodesicLength(s)single geometrymultiple geometries
pointFromDistancenãosim

We added support for CSS names for font.family property values for FeatureLayer, CSVLayer, and StreamLayer in 2D MapViews. For example, we now recommend using Old Standard TT instead of old-standard-tt . However, the old naming convention will still work. For more information and examples, please refer to Fonts for FeatureLayer, CSVLayer, and StreamLayer.

For both 2D MapViews and 3D SceneViews, we enhanced the labelClass.where property to accept more advanced SQL statements, and we added a default symbol to labelClass.symbol. Lastly, in 3D SceneViews, we improved the label placement around extruded polygons.

Date and number formatting updates

Multiple updates were made to streamline date and number formatting functionality. Date formatting is now better at recognizing regional differences. Prior to this version, the order of date components always followed US English (en-US) rules, e.g. Monday, June 24, 2019, 2:28 PM (Day of the week, Month Day, Year, time in 12 hours cycle). In addition, a new esri/intl class was added which provides helper methods used for formatting dates, numbers, and template strings.

With these updates, there comes a couple notable breaking changes. These changes pertain to out-of-the-box function formatters, ie. DateString , DateFormat , and NumberFormat , as they are no longer supported with the PopupTemplate.content. Instead, set it via the FieldInfo's fieldInfoFormat. Another change is that the PopupTemplate's content can no longer be set using a wildcard, e.g. * . Instead, set the Popup's defaultPopupTemplateEnabled property to true.

The following widgets are new at version 4.12:

esri/widgets/Slider - A generic slider that can be used for gathering any kind of user input involving numbers or a range of values.

esri/widgets/TimeSlider - A slider that can be used to manipulate time visualization in your application.

esri/widgets/HistogramRangeSlider - A slider that renders a histogram along the range for gathering user input involving a range of data values.

esri/widgets/Histogram - Renders a histogram that can be customized with styles and interactions for exploring data.

New Smart mapping widgets

We also added the following smart mapping widgets:

The Popup widget UI has been redesigned. Beginning with 4.12, actions defined on the PopupTemplate appear before those defined on the Popup widget. The actionsMenuEnabled property was removed from Popup widget as it was no longer needed with the updates made to the UI.

Popup UI - 4.11Popup UI - 4.12

API updates and enhancements

    now accepts a String in addition to a PortalFolder.
  • Added fromJSON() method to the WebMap Class.
  • Added a default symbol to labelClass.symbol for labeling in 2D MapViews and 3D SceneViews.
  • Added a new metadata.supportsAdvancedFieldProperties property to FeatureLayer.capabilities.
  • Added an AbortSignal object as an optional parameter for all asynchronous methods.
  • Added an error property to RequestInterceptor, which returns a function that passes an Error object.
  • Added class esri/geometry/support/geodesicUtils.
  • Added class esri/intl.
  • Added class esri/layers/support/FieldsIndex.
  • Added class esri/layers/support/RasterInfo.
  • Added class esri/renderers/smartMapping/creators/dotDensity .
  • Added class esri/renderers/smartMapping/heuristics/scaleRange .
  • Added class esri/renderers/smartMapping/heuristics/sizeRange .
  • Added class esri/renderers/smartMapping/symbology/dotDensity .
  • Added class esri/renderers/support/ClassBreakInfo.
  • Added class esri/renderers/support/UniqueValueInfo.
  • Added class esri/symbols/CIMSymbol.
  • Added class esri/symbols/WaterSymbol3DLayer.
  • Added class esri/TimeInterval.
  • Added class esri/webdoc/applicationProperties/Search.
  • Added class esri/webdoc/applicationProperties/SearchLayer.
  • Added class esri/webdoc/applicationProperties/SearchLayerField.
  • Added class esri/webdoc/applicationProperties/Viewing.
  • Added class esri/widgets/Histogram/HistogramViewModel.
  • Added class esri/widgets/Histogram.
  • Added class esri/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.
  • Added class esri/widgets/HistogramRangeSlider.
  • Added class esri/widgets/Slider/SliderViewModel.
  • Added class esri/widgets/Slider.
  • Added class esri/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.
  • Added class esri/widgets/smartMapping/ClassedColorSlider.
  • Added class esri/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.
  • Added class esri/widgets/smartMapping/ClassedSizeSlider.
  • Added class esri/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.
  • Added class esri/widgets/smartMapping/ColorSizeSlider.
  • Added class esri/widgets/smartMapping/ColorSlider/ColorSliderViewModel.
  • Added class esri/widgets/smartMapping/ColorSlider.
  • Added class esri/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.
  • Added class esri/widgets/smartMapping/HeatmapSlider.
  • Added class esri/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.
  • Added class esri/widgets/smartMapping/OpacitySlider.
  • Added class esri/widgets/smartMapping/SizeSlider/SizeSliderViewModel.
  • Added class esri/widgets/smartMapping/SizeSlider.
  • Added class esri/widgets/smartMapping/SmartMappingSliderBase.
  • Added class esri/widgets/smartMapping/support/utils.
  • Added class esri/widgets/Spinner/SpinnerViewModel.
  • Added class esri/widgets/TimeSlider/TimeSliderViewModel.
  • Added class esri/widgets/TimeSlider.
  • Added event layerview-create-error to esri/layers/BaseDynamicLayer.
  • Added event layerview-create-error to esri/layers/BaseElevationLayer.
  • Added event layerview-create-error to esri/layers/BaseTileLayer.
  • Added event layerview-create-error to esri/layers/BingMapsLayer.
  • Added event layerview-create-error to esri/layers/BuildingSceneLayer.
  • Added event layerview-create-error to esri/layers/CSVLayer.
  • Added event layerview-create-error to esri/layers/ElevationLayer.
  • Added event layerview-create-error to esri/layers/GeoJSONLayer.
  • Added event layerview-create-error to esri/layers/GeoRSSLayer.
  • Added event layerview-create-error to esri/layers/GraphicsLayer.
  • Added event layerview-create-error to esri/layers/GroupLayer.
  • Added event layerview-create-error to esri/layers/ImageryLayer.
  • Added event layerview-create-error to esri/layers/IntegratedMeshLayer.
  • Added event layerview-create-error to esri/layers/KMLLayer.
  • Added event layerview-create-error to esri/layers/Layer.
  • Added event layerview-create-error to esri/layers/MapImageLayer.
  • Added event layerview-create-error to esri/layers/MapNotesLayer.
  • Added event layerview-create-error to esri/layers/OpenStreetMapLayer.
  • Added event layerview-create-error to esri/layers/PointCloudLayer.
  • Added event layerview-create-error to esri/layers/SceneLayer.
  • Added event layerview-create-error to esri/layers/StreamLayer.
  • Added event layerview-create-error to esri/layers/TileLayer.
  • Added event layerview-create-error to esri/layers/UnknownLayer.
  • Added event layerview-create-error to esri/layers/UnsupportedLayer.
  • Added event layerview-create-error to esri/layers/VectorTileLayer.
  • Added event layerview-create-error to esri/layers/WebTileLayer.
  • Added event layerview-create-error to esri/layers/WMSLayer.
  • Added event layerview-create-error to esri/layers/WMTSLayer.
  • Added event layerview-create-error to esri/views/MapView.
  • Added event layerview-create-error to esri/views/SceneView.
  • Added event layerview-create-error to esri/views/View.
  • Added events edits, layerview-create-error to esri/layers/FeatureLayer.
  • Added method clone to esri/portal/PortalItem.
  • Added method createElevationSampler to esri/geometry/support/meshUtils.
  • Added method createQuery to esri/views/layers/CSVLayerView.
  • Added method createQuery to esri/views/layers/FeatureLayerView.
  • Added method createQuery to esri/views/layers/GeoJSONLayerView.
  • Added method createQuery to esri/views/layers/SceneLayerView.
  • Added method createQuery to esri/views/layers/support/FeatureFilter.
  • Added method debounce to esri/core/promiseUtils.
  • Added method fromJSON to esri/tasks/support/ImageServiceIdentifyParameters.
  • Added method fromJSON to esri/WebMap.
  • Added method generateRasterInfo to esri/layers/ImageryLayer.
  • Added method getThemes to esri/renderers/smartMapping/symbology/location .
  • Added method getThemes to esri/renderers/smartMapping/symbology/size .
  • Added method intersection to esri/TimeExtent.
  • Added method renderDotDensityPreview to esri/symbols/support/symbolUtils.
  • Added method toExportImageJSON to esri/layers/support/Sublayer.
  • Added method tryFatalErrorRecovery to esri/views/MapView.
  • Added method tryFatalErrorRecovery to esri/views/SceneView.
  • Added method tryFatalErrorRecovery to esri/views/View.
  • Added methods createClosestFacilityTask, createElevationLayers, createGeometryService, createPrintTask, createRouteTask, createServiceAreaTask to esri/portal/Portal.
  • Added methods createElevationSampler, queryElevation to esri/layers/BaseElevationLayer.
  • Added methods emit, hasEventListener, on to esri/widgets/FeatureTemplates/FeatureTemplatesViewModel.
  • Added methods getField, getFieldDomain to esri/layers/buildingSublayers/BuildingComponentSublayer.
  • Added methods getField, getFieldDomain to esri/layers/SceneLayer.
  • Added methods getSchemeByName , getSchemesByTag to esri/renderers/smartMapping/symbology/color .
  • Added methods getSchemeByName , getSchemesByTag to esri/renderers/smartMapping/symbology/heatmap .
  • Added methods getSchemeByName , getSchemesByTag , getThemes to esri/renderers/smartMapping/symbology/predominance .
  • Added methods getSchemeByName , getSchemesByTag , getThemes to esri/renderers/smartMapping/symbology/relationship .
  • Added methods getSchemeByName , getSchemesByTag , getThemes to esri/renderers/smartMapping/symbology/type .
  • Added properties activeFilterId, filters, maxScale, minScale to esri/layers/BuildingSceneLayer.
  • Added properties anchor, cap, height, join, profile, profileRotation, width to esri/symbols/PathSymbol3DLayer.
  • Added properties cap, join to esri/symbols/LineSymbol3DLayer.
  • Added properties description, valueType to esri/layers/support/Field.
  • Added properties dotBlendingEnabled, dotValue, seed to esri/renderers/DotDensityRenderer.
  • Added properties editingInfo, fieldsIndex to esri/layers/FeatureLayer.
  • Added properties fatalError, timeExtent to esri/views/MapView.
  • Added properties fatalError, timeExtent to esri/views/SceneView.
  • Added properties fatalError, timeExtent to esri/views/View.
  • Added properties fieldsIndex, maxScale, minScale, outFields to esri/layers/SceneLayer.
  • Added properties fieldsIndex, timeInfo to esri/layers/StreamLayer.
  • Added properties fullTimeExtent, interval to esri/layers/support/TimeInfo.
  • Added properties interpolation, legendEnabled, noData, noDataInterpretation, objectIdField, serviceRasterInfo, timeInfo to esri/layers/ImageryLayer.
  • Added properties maskIsAlpha, validPixelCount to esri/layers/support/PixelBlock.
  • Added properties maxItemCount, renderingRules, returnPixelValues, timeExtent to esri/tasks/support/ImageServiceIdentifyParameters.
  • Added properties maxScale, minScale to esri/layers/IntegratedMeshLayer.
  • Added properties maxScale, minScale to esri/layers/PointCloudLayer.
  • Added properties maxSliderValue, minSliderValue to esri/renderers/support/AuthoringInfo.
  • Added properties selectedItems, selectionEnabled to esri/widgets/LayerList.
  • Added property availableCreateTools to esri/widgets/Sketch.
  • Added property availableFields to esri/views/layers/SceneLayerView.
  • Added property basemapLegendVisible to esri/widgets/Legend.
  • Added property basemapLegendVisible to esri/widgets/Legend/LegendViewModel.
  • Added property fieldsIndex to esri/layers/CSVLayer.
  • Added property fieldsIndex to esri/layers/GeoJSONLayer.
  • Added property lastRoute to esri/widgets/Directions.
  • Added property locationType to esri/widgets/Search/LocatorSearchSource.
  • Added property orientationInfo to esri/layers/support/AttachmentInfo.
  • Added property outFields to esri/layers/buildingSublayers/BuildingComponentSublayer.
  • Added property ownerFolder to esri/portal/PortalItem.
  • Added property returnTopmostRaster to esri/popup/LayerOptions.
  • Added property timeInfo to esri/layers/MapImageLayer.
  • Added support for asynchronous interceptors by allowing the BeforeInterceptorCallback to be able to also return a Promise.
  • Added the parameter ignorePadding to the MapView.takeScreenshot() and SceneView.takeScreenshot() methods.
  • Added the parameter locationType to the addressToLocations(), addressesToLocations(), and locationToAddress() methods of the Locator Task.
  • Added the property fetchFeatures to the Popup.open() and PopupViewModel.open() methods' options .
  • Added the property locationType to the SearchProperties of the Directions widget.
  • Enhanced the KMLLayer class to better honor the default visibility of sublayers read from the XML.
  • Enhanced the labelClass.where property to accept more advanced SQL statements.
  • Enhanced the Legend widget to support date/time formatting for layers using SmartMapping.
  • Enhanced the placement of labels around extruded polygons in 3D SceneViews.
  • Updated the Esri Icon Font value for 2D MapViews to be CalciteWebCoreIcons , which is the same as for 3D SceneViews.
  • Updated the Search widget sources property to be of type SearchSource.
  • The IdentityManager is now only loaded when needed.
    was changed from a synchronous to an asynchronous function. was changed from a synchronous to an asynchronous function.
  • As part of performance optimizations, incorrect polygon geometries that don't follow the expected clockwise order, no longer display. Polygon rings should be clockwise, with counterclockwise rings considered holes.
  • Changed locatorTask.locationToAddress() arguments from (location, distance, requestOptions) to now accept (params, requestOptions) . The params object has two properties: location and locationType .
  • Changed the behavior for the queries queryExtent(), queryFeatureCount(), queryFeatures() and queryObjectIds() in SceneLayerView that the required fields needs to be defined with SceneLayer.outFields in advance.
  • Changed the behavior of color in SceneView to be consistent with MapView. If the color value of a graphic is set to null it will display transparent.
  • Full SQL support is now provided for where clauses on the LabelClass in 3D. Old where clauses that didn't implement strict SQL syntax might break.
  • Moved classes Search, SearchLayer and SearchLayerField from webscene.applicationProperties to the webdoc.applicationProperties module, common for WebMap and WebScene.
  • Removed actionsMenuEnabled property from Popup.
  • Removed dotBlendingEnabled and referenceDotValue properties from DotDensityRenderer.
  • Removed distance parameter from esri/widgets/Search and esri/tasks/Locator as it is deprecated and no longer recognized by the World Geocoding Service.
  • Removed localSearchOptions and locationToAddressDistance properties from esri/widgets/Search. These properties were deprecated at version 4.11.
  • Removed material property from the base class Symbol3DLayer. With this new behavior, subclasses of Symbol3DLayer implement the material property independently.
  • Removed noData property from ImageServiceIdentifyParameters.
  • Removed timeExtent property from TimeInfo. Use fullTimeExtent property instead.
  • Replaced esri/widgets/ColorSizeSlider with esri/widgets/smartMapping/ColorSizeSlider.
  • Replaced esri/widgets/ColorSlider with esri/widgets/smartMapping/ColorSlider.
  • Replaced esri/widgets/SizeSlider with esri/widgets/smartMapping/SizeSlider.
  • The PopupTemplate's content and/or title can no longer be set using a wildcard, e.g. * . Instead, set the Popup's defaultPopupTemplateEnabled property to true.
  • The DateString , DateFormat , and NumberFormat formatter functions are no longer supported when used with a PopupTemplate's content and/or title . Instead, set it via the FieldInfo'sfieldInfoFormat.
  • The noDataValue parameter is now nested within the options parameter when using ElevationLayer.fetchTile() method.
  • Use the new esri/intl module and its respective methods in places referencing the esri/core/lang.substitute() , dojo/number.format() , and dojo/date.format() methods.
  • Using parameterized functions in a PopupTemplate's content and/or title are no longer supported.
  • When neither height , nor width are set for PathSymbol3DLayer then the symbol doesn't render. This is a breaking change from previous versions when not setting size used to renderer the symbol with a height and a width of 1 meter.

Please refer to the Breaking Changes guide topic for a complete list of breaking changes across all releases of the 4x API.

Bug fixes and enhancements

  • BUG-000117500: Fixed an issue where setting ImageryLayer.definitionExpression only worked after panning or zooming the map.
  • BUG-000117587: Circle.clone() now works as expected.
  • BUG-000117981: LocatorSearchSource.popupTemplate now works as expected.
  • BUG-000118992: Fixed an issue where using the mouse to zoom into the MapView did not work correctly if created using constraints.
  • BUG-000119163: Fixed an issue when adding a feature layer with a HeatmapRenderer multiple times returned inconsistent symbols.
  • BUG-000119175: Updated the documentation of PictureMarkerSymbol to clearly indicate the maximum allowed height and width of picture marker symbols.
  • BUG-000119179: The Popup widget's action button now displays properly while in IE 11.
  • BUG-000119321: Fixed an issue where a PictureMarkerSymbol was unable to clear if a map was navigated while graphics were drawing.
  • BUG-000119461: Web Map Service (WMS) used as basemap layers now display as expected when brought in as a WebMap.
  • BUG-000119699: Fixed an issue with the Directions widget UI when working with Internet Explorer 11.
  • BUG-000119708: Fixed an issue with printing sublayers contained in a group layer of MapImageLayer when the Allow per request modification of layer order and symbology capability is enabled on ArcGIS Server.
  • BUG-000120221: Fixed an issue where some WMTSLayers sent incorrect requests and failed to display as expected.
  • BUG-000120806: Fixed an issue where layers would disappear from the view when using the Locate widget in Internet Explorer 11 or Edge.
  • BUG-000121020: Fixed an issue where zooming in on specific basemap layers failed to zoom as expected.
  • BUG-000121089: Fixed an issue when using an integer field in the LayerSearchSource of the Search widget.
  • BUG-000121150: Fixed Attribution widget to update directly after reordering of layers (without having to pan/zoom first).
  • BUG-000121232: Fixed an issue with the Search widget not providing accurate results when using a FeatureLayer in a geographic coordinate system.
  • BUG-000121323: Fixed an issue where symbolizing a point hosted feature service by symbology in ArcGIS Online using Arcade does not symbolize correctly in Map Viewer.
  • BUG-000122064: Fixed an issue where some WMTSLayers were rendered with reduced quality on lower DPI screens.
  • BUG-000122084: Fixed VectorTileLayer dark basemap displaying a lower LOD than expected in a SceneView.
  • BUG-000122246: Fixed some inconsistent behavior with the MapView.updating property.
  • BUG-000122340: Fixed an issue where using the ESC (escape) key while editing via the Editor widget would not allow subsequent edits while editing a single layer.
  • BUG-000122342: Fixed an issue where a WMTSLayer would not redraw all tiles when zooming out if the source was an OGC WMTS layer with multiple layers.
  • BUG-000122380 & BUG-000122674: Fixed an issue with the zoom extent of a VectorTileLayer when not added as a basemap.
  • BUG-000119175: Updated documentation for PictureMarkerSymbol height and width limitations. : Fixed an issue in the FeatureForm widget where updating input and then clicking to another entry would force the cursor focus out of existing input box. : Fixed an issue where the ImageryLayer.redraw() method didn't update the canvas with the newly filtered data.
  • ENH-000119326: Added the parameter ignorePadding to the MapView.takeScreenshot() and SceneView.takeScreenshot() methods to allow padded areas to be included in the screenshot.
  • Fixed an issue where the Scalebar widget would display incorrectly when zooming out and the view is larger than the width of the world.
  • Fixed an issue where the Track widget would not allow cancelling while waiting for the user to allow location access on their browser.
  • Fixed an issue where white lines would sometimes display between tiles on iOS devices.
  • Fixed an issue with KMLLayerView properties not getting populated when the updating property is set to false .
  • Fixed an issue with MapImageLayer where popups displayed for grouped sublayers that have a non-visible parent.
  • Fixed an issue with VectorTileLayer lines display at very large scales near tile boundaries.
  • Fixed an issue with the initialization process of the Directions widget becoming out of sync.

Version 4.12 of the ArcGIS API for JavaScript uses ArcGIS Arcade 1.7 (since 4.12), Dojo 1.14.2 (since 4.11), dgrid version 1.2.1 (since 4.5), and dstore version 1.1.2 (since 4.5). From Dojo 5 we use @dojo/framework version 5.0.4 (since 4.12).


The 100 largest wildfires in the province of Quebec from 1976 to 2019.

Web Experience Direct link: https://experience.arcgis.com/experience/b7a0987afdb1486fb97532788261cfd6/

Project background

The idea for this project originated from a curiosity about the numerous environmental catastrophes that the populace is often unaware of. Especially wildfires. In the last few years, every summer’s news cycle is dominated with terrible reportages about wild fires rampaging in California, British Columbia or Alberta, and rightly so, but it is often only the largest that get mentioned on TV.

Myself being from the province of Quebec, I became curious about the wildfires that happen in my home province because I haven’t heard of them quite as often as the ones in the US or the Canadian West. Fortunately, a dataset compiling data on the wildfires in the province was available on the Federal Government open data website. However, since 1976, which I assume is the year the government started compiling data on the phenomena, 60 799 wildfires happened. Since this project focuses specifically on the online aspect of things, this amount of polygons would either be impossible to draw completely or it would take too much time to draw each of the 60 799 polygons. I juggled with multiples possible solutions to remediate the issue, such as using a smaller temporal scale, but it all ultimately depended on the platform I would choose to portray the data on. Speaking of which, here’s a small description of ArcGIS Web Experience Designer.

Finding a platform to portray the data depended on my familiarity with it. Unfortunately, online GIS wasn’t my forte and I only knew of ArcGIS Online and its Story Maps. However, I felt that Story Maps were not novel enough. That’s when I happened upon the Dashboard and the Web Experience creators available on ArcGIS Online. After fiddling with both, I decided to settle on the Web Experience to portray the data.

The ArcGIS Online Web Experience is, according to their own website, a tool that allows the “creation of unique web experiences using flexible layouts, content, and widgets that interact with 2D and 3D data”. It creates a mobile-friendly output built from scratch without coding. It creates interactive maps that are formatted to be viewable and interactable on desktop, tablet and phones. It has 26 widgets available to put on the map, going from a legend to a 3D data viewer tool. For this project, I used a few simple widgets that would enhance the experience for users, which are going to be described further down.

Dados e Métodos

The data and methodology for this project are pretty straightforward and most of the work went into the web experience designer (to assure the optimal experience on desktop and mobile alike). The data for this project came from a vast dataset on forest fires available on the federal government’s open data website. On their page (link provided above), it is mentioned that the data was made available by multiple municipalities and government (see figure 2). However, they do also mention that the creator of the dataset is the “Secteur des Forêts-Direction des inventaires forestiers” and “Direction de la protection des forêts”, which mean “The Forest Sector-Forestry inventory direction” and “Direction of the protection of forests” respectively.

Figura 2: Warning on data source on Open Data Website.

Anyway, the dataset contains data on every forest fires that occurred in the province of Quebec between 1976 and 2019. That includes geometric data on each of the polygons, the year the fire started, the way it started, the year it was “extinguished” and the superficies of the fire in hectare. Sadly, some of the variables are abbreviated and their meaning wasn’t mentioned on the website and couldn’t be used in this project, but I didn’t need them for what I intended to accomplish.

At first, I wanted to map all polygons, all 60 799, but I decided otherwise due to the sheer size of the dataset. Then, I filtered the data by the year the fires started and extracted all the data from 2013 to 2019. I hoped to display all the fires of the last few years, but even that was too big. There were a bit less than 10 000 polygons and ArcGIS Online was already giving a warning about it not being able to draw the entire thing. So, I was looking for a solution to remediate the problem of having too many polygons to draw and I figured that showing the 100 largest fires since 1976 would be indeed a very interesting, and informative, way to show what I wanted.

To that end, I filtered by the area burnt by the fire, which is in hectare, and extracted the top 100 fires. The data extraction part was done offline, on ArcGIS Pro, because it was simply faster and easier to manipulate the dataset. I then uploaded the 100 largest fires to the ArcGIS Online Platform to make a map because the Web Experience Designer couldn’t create its own map, I had to make one beforehand and then upload it to the Web Experience Designer.

Once the map was done, I could then start working toward the creation of the web experience. Figura 3 shows the user interface of the Web Experience Designer.

Figura 3: Web Experience Desktop U.I.

The Web Experience Designer is fairly straightforward to use and is designed to be usable by people without experience in coding. All of its widgets and tools are available on the left side of the screen and usable with a simple drag and drop. Every widgets/tools are then adjustable in their settings that appears to the right side of the screen. For this project, I used the following widgets/tools: Image (which is, in fact, the legend), table, share and the button widget. Here’s a small description of each and how I used them

Image/Legend: Sadly, legends on ArcGIS Online are very hard to modify without modifying the entire dataset and its variables and the Web Experience Designer could only use the legends from ArcGIS Online. In my case, the original legend only said “SUPERFICIE” as the field for the superficies of the fires. That wasn’t exactly what I wanted and the workaround that I used was to simply create the legend I wanted in ArcGIS Pro and then screenshot it and upload it as an image to the web experience. The result (Figure 4) shows the end result.

Figura 4: Example of the W.E.D. Legend on the image widgets.

Tabela: The table widget is simple. It allows the users to see and interact with the data table of the dataset. It allows them to see almost everything there is to see in the data. For simplicity’s sake, I hid some of the more technical columns, especially those populated with the geometry data. The table only shows the fire ID, the size and the year it started. The goal was to make the experience most straightforward. The table also allows selecting specific fires without selecting them on the map (even though you also can select directly from the map).

Compartilhado: The share widget is a simple share button that any good online experience should have nowadays. I allow the users to share the link to the web experience on a multitude of social media.

Button: This widget was put on the web experience to allows the users to directly go to the source of the dataset. The link to the open data portal was already available in the web experience’s description, but this button makes it easier to use on mobile devices since you only need to click it and the link to the dataset’s source is made available.

So after making sure every widget works, the next step was to make sure that the web experience is good for each device (computers, tablets and phones). That means changing the formatting of the web experience to fit the resolution and screen sizes of each device.

Finally, the last step of the creation process was to make sure that the map was correctly interactable. That means that I tested my own web experience and verified that the polygons were selectable and that the information for the polygon appeared on screen. I made sure the data table was correct (though it seems to bug a bit as it in beta stage still) and that the polygons were drawn correctly.

Then there it was. The Web Experience was made. Only needed to write descriptions and other small paragraphs on the info page of the web experience and then publish it. I thoroughly enjoyed using the Web Experience Designer to create an interactive map, but, as much I as liked it, there were many limitations that I had to overcome.

Limitações

The limitations of this project were many, but minor. The very first one I encountered was the lack of a clear description of the variables and the abbreviations used in the data. Maybe I haven’t seen it on their page or missed it in the metadata, but I couldn’t find an explanation for some of the abbreviations they use in the data to describe the origin point (human-caused or naturally caused forest fires) and in some other variables. Knowing those could’ve led me to display the data in a much different way.

Another limit I encountered were the online capabilities of ArcGIS Online, such as the inability to draw large amounts of data, and the lack of modification to legend’s title. I could easily find other solutions by doing it offline in ArcGIS Pro, but not everyone has that ability, so I’d count that as a limitation encountered in this project.

The Web Experience Designer, while quite advanced and easy to use, was a bit of a chore to understand its intricacies and has a steep learning curve for the more in-depth features of the platform. By that, I mean that this project only uses a fraction of the options available in the Web Experience Designer. There are more widgets available, but every object part of the experience can be given actions to perform set by specific triggers. For example, If the user clicks on a polygon for a fire, it is possible to set the data table of this specific polygon to appear (in a multitude of ways) on the map. There were also many other actions and triggers to use, but the platform doesn’t make it easy for the new users to utilize the full potential of the designer.

Future Work

In a perfect world where unlimited resources were available for this project, I would make it so the web experience would display the 100 largest forest fires of the province of Quebec for every year since the start (1976).

In other words, I would set-up a ano button for each of the years in the dataset. Then, the users would simply click on one (i.e. 2012) and the web experience would display the 100 largest forest fires of that chosen year. That way, the users could see a much larger dataset that would be much more informative. The top 100 forest fires show also focuses on the southern half of the province since most of the population (about 95%) lives there. So, with unlimited resources, the dataset would also include the forest fires that occurred in the northern half of the province.

In a perfect world, the dataset could include the entirety of Canada so that a top 100 forest fires could be done for each province and for every year since 1976. That would be a massive dataset however.

Utility of the project

The goal of this project was to inform the population on the locations and sizes of the wildfires in the province of Quebec. Specifically, it aims to inform fellow Quebecers of the largest forest fires that occurred in their own province. This dataset can be updated every year, if needed, to display a more up-to-date version of the wildfires. Its interactive aspects allow the users to see the information of every fire that occurred (ID, year, size, etc..). It can also be used for forestry companies and environmental agencies that wish to visualize the largest forest fires.


Assignment: Build an App of Your Own

Assignment: Build an App of Your Own

This lesson's graded assignment is in two parts. Here are some instructions for completing the assignment.

Part I

First, I'd like you to build a web mapping app with Esri technology (using either a configurable template or the Web AppBuilder). You are welcome to select the app's subject matter (perhaps something from your work) and the functionality it provides. If you're unsure of what to map, you might try searching ArcGIS Online, where there is a wealth of data.

Details matter! Make sure your app looks professional by modifying anything that looks unfinished. Text a user sees, whether in a widget, popup, or elsewhere should be human-readable (or have good aliases) and not look like a default or coded name. Also choose appropriate symbology and consider hiding unneeded fields.

You will have another opportunity to select your own final project at the end of the term. Keep that in mind when selecting data and/or functionality to incorporate into this project.

Part II

There are other web mapping platforms that offer features similar to ArcGIS Online (CARTO, MapBox, SimpleMappr, MangoMap, MapHub, MapLine, WorldMap). For the second part of this week's assignment, I'd like you to experiment with one of these platforms, then share your thoughts on it in a recorded video. Here are some detailed instructions:

    . The sign-ups will be set up such that each platform will be covered by roughly the same number of students. (If there's another platform that you'd like to evaluate, check with the instructor first.)
  1. Limit your video to 5 minutes.
  2. In your video, be sure to discuss the following points:
    - Cost
    - Ease of use
    - Data formats supported
    - How it compares to ArcGIS Online (similarities, differences, things you like better)
    - Can you build an app or just a map? (I.e., Is it possible to add functionality similar to Esri's Web AppBuilder widgets?)
  3. What I'm looking for in this video is for you to talk through a demo of the platform. You may choose to summarize your major points through slides, though that's not required. You are not expected to have any face time in the video, though you certainly can if you like. There is a short tutorial on recording videos with Screencast-O-Matic in the course orientation, though you're welcome to record your video with some other software.

Deliverables

This project is one week in length. Please refer to the Canvas course Calendar for the due date.

  1. Post a link to your Esri app to the Lesson 1 Discussion Forum. (40 of 100 points)
  2. Post a link to your video review of a non-Esri web mapping platform to the Lesson 1 Discussion Forum (and/or Media Gallery in Canvas). This could be in the same or a different post as #1 above. (40 of 100 points)
  3. As part of your discussion forum post, include some reflection on what you learned from the lesson, how you might apply what you learned to your job, and/or concepts that you found to be confusing (minimum 200 words). (20 of 100 points)
  4. Complete the Lesson 1 quiz.

Map legends

I felt that I did not need a legend on this map, since everything was explained through labels. But if you want to add one, reopen the Compilação window.

1. Open the Processos window.

2. Check Map Legend caixa e clique Create Legend.

A new group layer will be added to your Illustrator document with a ready-made legend.

Your map is complete! You didn’t have to trace the coastline or roads from an aerial photo or another map. You were able to add locations using a simple text file, and you didn’t need to time yourself walking from the hotel to the Lighthouse Museum. And now guests at the Oceanland Inn don’t need to call an Uber. It’s a win-win.