Georreferenciamento de DXF usando QGIS? [duplicado]


14

Eu tenho um dxf que é construído com unidades na escala errada. Como posso melhorar isso no QGIS? Observe que ele abre no QGIS, apenas nas unidades e na localização incorretas do mapa.


A resposta de nhopton acima sobre o uso do plugin qgsAffine funcionou para mim apenas na semana passada. Eu tinha um dxf que foi escalado 1000x o CRS que eu queria. Transformei o dxf em shp com o plug-in padrão, depois transformei X e Y multiplicando por 0,001 em qgsAffine e o problema foi resolvido. PS Belated graças a nhopton pelo conselho, que não consegui estender antes do encerramento do Fórum QGIS!
abrunheiro

Eu também tenho alguns DXFs que desejo afinar. Eu usei o OpenJump uma vez, porque não conseguia fazer as contas do plugin QGIS. No entanto, finalmente achei mais fácil salvar minha camada SHP com uma projeção conhecida como DXF, abrir isso no QCAD (gratuito), importar o DXF que precisava de afinação e fazer todo o redimensionamento, rotação e movimentação do DXF lá. Quando tudo estava no lugar, salvei-o como um DXF e reimportei-o para o QGIS, onde a projeção foi mantida e meu DXF agora também estava afinado na posição e escala adequadas. Eu poderia então salvar o DXF como SHP.
Melissa

Respostas:


12

Você raspadores georreferenciados e vetores afins :)

O QGIS possui um plug-in afim (qgsAffine) com o qual você pode dimensionar camadas vetoriais. Você também pode aplicar deslocamentos xey para todos os vértices em uma camada vetorial, se necessário. Eu acho que você provavelmente precisará converter seu DXF em um shapefile para usá-lo (clique com o botão direito do mouse na camada no painel de camadas e vá em 'Salvar como ...'). A aplicação da rotação em uma camada vetorial é um pouco mais difícil.


1
Aqui estão algumas dicas para rotacionar com qgsAffine: gis.stackexchange.com/q/21696/1872
Mike T

Hum, sim, eu fiz uma contribuição para esse tópico que não pareceu encontrar muito favor. Mas, em geral, ainda prefiro a abordagem OpenJump, ela calcula todos os sete parâmetros de transformação e os aplica ao vetor de interesse. Acho que vi uma proposta do QGIS GSoC para fazer a mesma coisa no QGIS, o que seria útil.
N

Sim, eu vejo o que o pessoal do OpenJump está usando e é muito mais atraente!
Mike T


3

Acredito que isso possa ser realizado no QGIS.
No entanto, eu uso o software cad com o meu software gis e faria o seguinte.
De qualquer forma, você precisa de algumas informações básicas sobre o dxf.
1. Você deve conhecer as unidades do dxf.
2. Você deve ter um conjunto de pontos conhecidos no dxf. (no mínimo 2 pontos).

1a. Se o sistema de coordenadas original (ou não) for identificável, você deverá transformá-lo em um sistema conhecido semelhante.
(se o desenho foi desenhado apenas em nenhum sistema, mas em um sistema de base 0,0 assume algum tipo de área igual.) alambert ou albers (dependendo da área de cobertura [tamanho])
2a. verifique se todos os itens do desenho são exibidos (sem camadas desativadas).
3a. selecione todos os recursos.
4a mova todos os recursos de um ponto conhecido para um ponto conhecido.
5a depois de determinar a escala original, redimensione todos os objetos selecionados empiricamente
6a. gire todos os objetos selecionados empiricamente.
Salve e / ou exporte os objetos selecionados com um CRS conhecido.



2

Eu usei o OpenJump uma vez, porque não conseguia fazer as contas do plugin QGIS. No entanto, finalmente achei mais fácil salvar minha camada SHP com uma projeção conhecida como DXF, abrir isso no QCAD (gratuito), importar o DXF que precisava de afinação e fazer todo o redimensionamento, rotação e movimentação do DXF lá. Quando tudo estava no lugar, salvei-o como um DXF e reimportei-o para o QGIS, onde a projeção foi mantida e meu DXF agora também estava afinado na posição e escala adequadas. Eu poderia então salvar o DXF como SHP.


2

O plug-in AnotherDXF2Shape contém um módulo de georreferenciamento: insira a descrição da imagem aqui

Parâmetro insira a descrição da imagem aqui

Por meio do deslocamento X e Y, é possível obter um deslocamento simples do DXF. Isso é útil quando as coordenadas originais foram encurtadas no sistema CAD /.

Arquivos mundiais para conjuntos de dados CAD

Um arquivo mundial (.wld) é um arquivo de texto que contém pontos de controle que descrevem uma transformação de coordenadas. Um arquivo mundial pode ser usado para estender as propriedades de um desenho CAD para incluir informações de georreferenciamento. As informações são armazenadas como valores de coordenadas que definem um ou dois vetores de deslocamento chamados links. Os dados compreendem dois ou quatro pares de coordenadas organizadas em duas linhas. Cada linha define um link de deslocamento usando a seguinte sintaxe:. O primeiro par de coordenadas em cada linha corresponde às coordenadas de origem, também conhecidas como coordenadas de. Esses valores representam a localização x, y de qualquer ponto de controle conhecido no desenho CAD. O segundo par de coordenadas em cada linha corresponde às coordenadas de destino, também conhecidas como coordenadas-a. Esses valores representam um novo local no espaço geográfico, normalmente um ponto de referência em outra camada de recurso. Fonte: arcgis.com

Se a transformação de coordenadas for ativada e o plug-in encontrar um arquivo WLD correspondente, ele será automaticamente integrado e o arquivo DXF será transformado em conformidade. insira a descrição da imagem aqui

Transformação sobre 1-4 pontos idênticos

Semelhante ao conjunto de dados CAD, uma transformação ocorre por pontos idênticos. O número de parâmetros para a transformação depende do número dos pontos fornecidos. Nota: Atualmente, uma saída dos resíduos para sobredeterminação não é.


1

A maneira mais rápida, eu acho, é modificar o arquivo DXF (dimensionar e posicionar nas coordenadas corretas) usando um software CAD e carregá-lo no QGIS.

Obviamente, você pode mover seus recursos no QGIS, mas não pode escalá-los. Espero que isto ajude.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.