Descrição
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.
Causa
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.
Solução ou Solução Provisória
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