Português
Continue in the app
Be The First To Get Support Updates
Want to know about the latest technical content and software updates?

Problema: As feições do ArcGIS Server não estão alinhadas com os mapas no Google Maps ou no Microsoft Virtual Earth

Description

As feições espaciais do ArcGIS Server poderão não se alinhar corretamente com os mapas no Google Maps ou no Microsoft Virtual Earth se forem sobrepostas usando as extensões do JavaScript ESRI.

Cause

O motivo disso pode ser problemas de transformação geográfica (datum). Normalmente, esses problemas são mais evidentes em escala local, como um mapa de rua local.

O Google Maps e o Microsoft Virtual Earth usam uma projeção Mercator baseada no sistema de coordenadas geográficas do Sistema Geodésico Mundial (WGS) (datum) de 1984. Essa projeção Mercator suporta apenas esferas, ao contrário da implementação da ESRI Mercator, que suporta esferas e elipsoides. Para emular a Mercator somente de esfera, é necessário usar um sistema de coordenadas geográficas (GCS) baseado em esferas a fim de usar as equações Mercator corretas. Esse sistema de coordenadas geográficas baseado em esferas é chamado de "Esfera Auxiliar Principal do WGS 1984". Um sistema de coordenadas projetado no WGS 1984 Web Mercator e o sistema de coordenadas geográficas da Esfera Auxiliar Principal do WGS 1984 estão incluídos no ArcGIS versão 9.3.

Se os dados forem baseados em um sistema de coordenadas geográficas diferente, como o North American Datum de 1927 (NAD27), ED 50, Amersfoort ou Tóquio, o desalinhamento poderá ser bastante perceptível na escala local. Os dados no North American Datum de 1983 (NAD83), no WGS 1984 ou em outro sistema de coordenadas geográficas (GCS) que usa o elipsoide GRS80 geralmente estão próximos o suficiente para alinhar sem correção.

Solution or Workaround

Para corrigir problemas devido a diferenças nos sistemas de coordenadas geográficas, os dados podem precisar ser transformados em um sistema de coordenadas compatível com aqueles usados pelo Google Maps e pelo Microsoft Virtual Earth.

Se a transformação for feita usando as informações abaixo, mas os dados ainda não estiverem alinhados corretamente, talvez precisem ser alterados manualmente usando as ferramentas de ajuste espacial disponíveis no ArcGIS Desktop.

  • É possível verificar o sistema de coordenadas geográficas usado pelos dados abrindo o ArcMap e carregando a camada de dados. Clique com o botão direito na camada e em Propriedades. Na caixa de diálogo Propriedades da Camada, clique na guia Origem. As informações devem ser listadas na caixa Fonte de Dados, em Sistema de coordenadas geográficas: linha próxima à parte inferior da caixa.
  • Se o sistema de coordenadas geográficas atual for WGS 1984 (WGS84), nenhuma transformação será necessária.
  • Quando uma transformação é necessária, convém projetar os dados no novo sistema de coordenadas para melhor desempenho. Use a ferramenta Projeto no ArcGIS Desktop para projetar dados. Se não for possível projetar os dados, o sistema de coordenadas poderá ser definido no ArcMap na estrutura de dados. Com isso, os dados serão projetados em tempo real enquanto estão sendo veiculados, o que prejudica o desempenho, mas não requer alteração dos dados. Consulte a página de Ajuda de Desktop
    Especificar um sistema de coordenadas para obter informações sobre a configuração do sistema de coordenadas da estrutura de dados.
  • Se o sistema de coordenadas geográficas atual for o North American Datum de 1983 (NAD 83) ou outro GCS baseado em GRS80, provavelmente a transformação não será necessária, pois o GCS é quase idêntico ao WGS84. Você poderá fazer ajustes, se necessário. Consulte as instruções abaixo referentes a instalações com o 9.3 Service Pack 1 ou a servidores sem o SP1, caso ele não possa ser aplicado.
  • No caso de outros sistemas de coordenadas geográficas, transforme os dados usando as instruções abaixo para instalações com ou sem SP1.
  • É possível usar o sistema de coordenadas do WGS 1984 Web Mercator para transformar os dados no ArcGIS Server 9.3 em que o Service Pack 1 foi aplicado. Essa projeção está localizada na lista de sistemas de coordenadas em Predefinido - Sistemas de Coordenadas Planas - Mundial. Para obter o melhor desempenho, use a ferramenta Projeto a fim de alterar a projeção do conjunto de dados para WGS 1984 Web Mercator. Se necessário, os dados podem ser transformados em tempo real definindo o sistema de coordenadas da estrutura de dados no ArcMap como WGS 1984 Web Mercator. Se uma transformação de datum for necessária como parte desse processo, defina o item 'Into' para a transformação como GCS_WGS_1984 (ou seja, o datum da estrutura de dados). Para obter instruções sobre como configurar o sistema de coordenadas da estrutura de dados, consulte a página de Ajuda do Desktop em Especificar um sistema de coordenadas.
  • Para servidores em que a versão 9.3 Service Pack 1 ainda não foi aplicada, uma transformação em duas etapas pode ser realizada usando a ferramenta Projeto do ArcToolbox, na Caixa de Ferramentas de Gerenciamento de Dados. Primeiro, transforme os dados para WGS 1984. Por exemplo, se os dados estiverem no NAD 1927, primeiro aplique NAD_1927_To_WGS_1984_79_CONUS. Depois, transforme os dados usando a transformação WGS_1984_Major_Auxiliary_Sphere_To_WGS_1984.

    Como alternativa, um código VBA pode ser escrito para fazer uma transformação de composição no ArcMap de forma dinâmica. Com isso, os dados podem ser veiculados sem precisar de alteração, mas transformações dinâmicas podem prejudicar o desempenho. Por exemplo, veja a seguir um código VBA que pode ser usado para transformar dados do NAD 1927 para a Esfera Auxiliar Principal do WGS84 utilizada pelo sistema de coordenadas planas da Web Mercator:

    Código:
    ' Observação: As transformações neste código são suportadas na versão 9.3, mas não na 9.2.

    ' Comece identificando o FocusMap atual
    Dim pActiveView As IActiveView
    Dim pMxDoc As IMxDocument

    Set pMxDoc = ThisDocument
    Set pMap = pMxDoc.FocusMap
    Set pActiveView = pMxDoc.ActiveView

    '1)Crie nossa fábrica
    Dim pSpatRefFact As ISpatialReferenceFactory2
    Set pSpatRefFact = New SpatialReferenceEnvironment
    Dim pGeoTrans_A As IGeoTransformation
    Dim pGeoTrans_B As IGeoTransformation

    '2)Use a fábrica para criar nossos objetos de geotransformação
    Set pGeoTrans_A = _
    pSpatRefFact.CreateGeoTransformation(esriSRGeoTransformation_NAD_1927_To_WGS_1984_79_CONUS) ' 15851 NAD27 to WGS84 using NADCON

    Set pGeoTrans_B = pSpatRefFact.CreateGeoTransformation(108100) ' WGS84 Maj Aux Sphere to WGS84

    '3)Crie um objeto de geotransformação de composição
    Dim pGeoTransComposite As ICompositeGeoTransformation
    Set pGeoTransComposite = New CompositeGeoTransformation

    '4)Adicione as duas geotransformações separadas à composição
    pGeoTransComposite.Add esriTransformForward, pGeoTrans_A ' NAD27 to WGS84
    pGeoTransComposite.Add esriTransformReverse, pGeoTrans_B ' Sphere to WGS84, reversed

    '5)Nomeie a nova transformação.
    Dim pNewGeoTrans As IGeoTransformation
    Set pNewGeoTrans = pGeoTransComposite
    pNewGeoTrans.Name = "NAD27_To_Web_Sphere"

    '6)Execute QI para IMapGeographicTransformations
    Dim pMapGeotrans As IMapGeographicTransformations
    Set pMapGeotrans = pMap

    '7)E obtenha o IGeoTransformationOperationSet
    Dim pGeoTransOperationSet As IGeoTransformationOperationSet
    Set pGeoTransOperationSet = pMapGeotrans.GeographicTransformations

    '8)Adicione nossa composição ao conjunto
    'Isso adiciona duas transformações do NAD27 para o WGS84 Sphere e vice-versa
    pGeoTransOperationSet.Set esriTransformForward, pGeoTransComposite
    pGeoTransOperationSet.Set esriTransformReverse, pGeoTransComposite
    pActiveView.Refresh

Related Information

Last Published: 5/5/2016

Article ID: 000009982

Software: ArcGIS Image Server 9.3.1, 9.3, 9.2