A partir do ArcGIS Pro 3.6, a capacidade de transformar uma camada CAD e criar um arquivo world (*.wld3) está disponível diretamente no produto, sem a necessidade do add-in descrito abaixo.
Você pode ver a ajuda sobre esta ferramenta no tópico: Transformação de Modelo para Mundo.
Para versões do ArcGIS Pro anteriores à 3.6, um add-in está disponível que oferece essa mesma funcionalidade para o posicionamento espacial de conjuntos de dados CAD que estão em projeções modificadas. (Veja abaixo "O que é uma projeção modificada?")
O add-in é chamado Transformar Camada CAD, e está disponível aqui.
Seja a ferramenta padrão (3.6 e superior) ou o add-in, essas ferramentas são usadas para transformar uma camada CAD inserindo um fator de escala, rotação, coordenadas locais e coordenadas de grade correspondentes.
Usando a ferramenta Transformar CAD Add-in
Após instalar o add-in, siga os passos abaixo para usar a ferramenta para transformar o conjunto de dados CAD.
1. No painel Catálogo, selecione e arraste a classe Polilinha para o mapa.
2. A projeção da camada CAD precisa ser definida se ainda não estiver. Esta deve ser a projeção na qual os parâmetros de transformação são baseados; caso contrário, a camada CAD não será posicionada corretamente. Para isso, selecione uma das camadas CAD no grupo CAD na tabela de conteúdos.
3. A faixa contextual para a Camada CAD fica disponível e apresenta a aba Dados CAD .
4. Clique no botão Definir Projeção e use a ferramenta GP que aparece para definir a projeção do arquivo CAD.
5. Se o add-in foi instalado com sucesso, então um botão chamado “Transformar” estará presente no grupo Alinhamento na aba Dados CAD .
6. Clique no botão Transformar.
7. A caixa de diálogo Transformar Camada CAD aparecerá.
8. Insira os parâmetros para coordenadas locais, coordenadas de grade, escala e valores de rotação.
9. Marque a caixa Atualizar correções do solo para grade se desejar usar os valores de escala e rotação como configurações de correção do solo para grade do mapa.
10. Clique no botão OK para transformar a camada CAD com base nos parâmetros de transformação inseridos.
Nota: Os valores digitados são lembrados na próxima vez que você usar a caixa de diálogo.
Clique no botão Redefinir para restaurar todos os parâmetros de transformação aos valores iniciais.
O que é uma projeção modificada?
Você pode não estar familiarizado com o termo “projeção modificada” e pode conhecer por outros nomes: plano datum local, sistema de coordenadas de engenharia, sistema de coordenadas do solo ou simplesmente “superfície” ou “solo”.
Ao receber um arquivo CAD de um topógrafo ou engenheiro, é comum encontrar que ele não se alinha espacialmente com o restante dos seus dados GIS. Pode estar deslocado alguns milhares de pés para nordeste, ou pode estar a milhas para sudoeste e parecer estar em um sistema local arbitrário de coordenadas. No entanto, se o topógrafo estiver usando uma projeção modificada, essa informação geralmente é fornecida como parâmetros de transformação que indicam como a projeção foi modificada, tornando possível usar esses parâmetros para posicionar o desenho CAD em sua localização projetada na grade sem precisar selecionar manualmente links georreferenciados.
Aqui está um exemplo de uma modificação simples nas notas de um loteamento em Houston, Texas:
Nesta nota todos os critérios estão presentes para converter entre as coordenadas do solo e as coordenadas da grade . Há referência à projeção que está sendo modificada e informação que as coordenadas são “Superfície”. O fator combinado de escala é fornecido, não há rotação mencionada nem origem especificada.
Como a nota não fornece explicitamente a origem, presume-se que seja 0,0 da origem do sistema State Plane. Para esta descrição específica acima, a localização correspondente do arquivo CAD em suas coordenadas originais do solo está ao nordeste da localização projetada na grade. Como o add-in usa a convenção de multiplicar pelo fator de escala, neste exemplo o fator a usar seria o inverso, pois o texto indica "dividir"; portanto 1/1.00013 = 0.99987, e é inserido da seguinte forma:
Aqui está outro exemplo mostrando as configurações do desenho usadas para alguns dados AutoCAD.
Para este desenho, as entradas equivalentes para converter para a localização da grade usando o add-in Transformar Camada CAD são as seguintes:
Por que são usadas projeções modificadas?
Projeções modificadas como estas são usadas para grandes escalas com baixa distorção. As distâncias medidas no solo correspondem às distâncias no espaço digital das coordenadas do ambiente do software cartográfico sem precisar aplicar fator de escala e rotação.
O motivo pelo qual elas funcionam é que cobrem uma área comparativamente muito menor da superfície da Terra em relação à projeção da qual derivam; assim usar um plano plano para modelar um sistema baseado em coordenadas terrestres é útil e prático para locais pequenos como um sítio de engenharia ou subdivisão de loteamento.
O fator combinado de escala baseia-se em dois componentes: a distorção causada pela projeção e a escala causada pela elevação, conforme descrito mais detalhadamente no tópico da ajuda Correção do solo para grade.
Código
A funcionalidade de transformação CAD usa uma transformação por similaridade. O código deste add-in está disponível no GitHub no repositório samples da comunidade, Código Transformar Camada CAD.
Aqui está um trecho do código da transformação por similaridade usada para gerar os vetores escritos no arquivo world:
var pFrom1 = new Coordinate2D(dOriginX, dOriginY);
var pTo1 = new Coordinate2D(dGridX, dGridY);
var dDeltaX = dGridX - dOriginX;
var dDeltaY = dGridY - dOriginY;
var pFrom2 = new Coordinate2D(pFrom1.X + (10000 / dMetersPerUnit),
pFrom1.Y + (10000 / dMetersPerUnit));
var Rotated = GeometryEngine.Instance.Rotate(pFrom2.ToMapPoint(),
pFrom1.ToMapPoint(), dRotation * Math.PI / 180);
MapPoint RotatedAndScaled = (MapPoint)GeometryEngine.Instance.Scale(Rotated,
pFrom1.ToMapPoint(), dScaleFactor, dScaleFactor);
var RotatedScaledTranslated = new Coordinate2D(RotatedAndScaled.X + dDeltaX,
RotatedAndScaled.Y + dDeltaY);
if (WriteWorldFile(sTargetWldFile, pFrom1, pTo1, pFrom2,
RotatedScaledTranslated))
{ ...
Demonstração em vídeo: Usando o Transformar CAD Add-in
Referências
Formato dos arquivos world usados para conjuntos de dados CAD: Arquivos world para conjuntos CAD.
CAD coordinates systems: CAD geospatial coordinates
Ground to grid correction: Ground to grid correction
Transform features: Transform features
Add-in Releases
https://arcg.is/0qru58 (3.2 and higher)
https://arcg.is/1bb9Lq (3.0 and higher)
https://arcg.is/1vnymX (2.6, 2.7, 2.8, and 2.9)
Thank you to the Esri Community
Thanks to those who sent their CAD datasets and transformation parameters:
@Geographic_Mythos, @StevenLowman , @Mark_Hotz, @Matt_Trebesch @LaurenConnor , HeatherWidlund