Mais

Loop para importação e interpolação de muitos arquivos LIDAR?


Eu sou muito novo no Grass Gis e estou tentando fazer DEM (modelo digital de elevação) para modelagem de inundação. Tenho 170 arquivos * .xyz, que precisam ser verificados em busca de extensões (r.in.xyz -s input =… filename.xyz output = filename fs = "), então a região precisa ser definida com os dados recebidos anteriormente (g .region n =… s =… e =… w =… res = 2), importando dados lidar (r.in.xyz input =… filename.xyz output = filename fs = ") e finalmente interpolando esses dados (r .surf.idw input = filename @ Siim output = filenameidw).

Fiz isso com sucesso com um arquivo, mas seria perda de tempo fazê-lo manualmente para 170 arquivos. Alguém pode me recomendar um loop, que eu possa usar?


Aqui está um snippet de um script de shell bash que uso:

para f em precip_accum * .txt; do precip_rast = "basename $ {f} .txt" precip_recl = $ {precip_rast} _recl reg = "r.in.xyz -s -g input = $ {f} output = dummy fs =, | awk" {print $ 1 " "$ 2" "$ 3" "$ 4}" g.region --quiet $ reg # Defina também a resolução para 1/30 grau (cerca de 3 km) g.region --quiet res = 0,033 r.in.xyz --quiet - - sobrescrever input = $ {f} output = $ {precip_rast} fs =, method = mean r.null --quiet $ precip_rast setnull = 0… mais linhas com processamento adicional… concluído

Eu gostaria de adicionar que, com dados de ponto lidar densos, você pode não precisar interpolar. Isso proporciona uma grande economia de tempo. Se você tiver pelo menos um ponto lidar por célula raster, basta usar (como acima)método = médiae cada célula raster obterá a altura média dos pontos lidar nessa célula.

Para um script Python, você começaria com algo como:

import os import grass.script as grass for f em os.listdir (… diretório do seu nome de arquivo.xyz…): if f.endswith (". xyz"): f_out, ext = os.path.splitext (f) grass. run_command ('r.in.xyz', input = f, output = f_out)

e da mesma forma o resto dos módulos de grama que você precisa


Uma função de interpolação pode ser & # 39salvada & # 39? [duplicado]

Estou importando tabelas com tamanhos de 100k - 500k linhas e 4 colunas. Quanto maior a tabela, mais devagar meu Mathematica é executado para todos os cálculos após a importação. Eu importo a tabela e, em seguida, aplico a interpolação a eles. Depois disso, as tabelas não são mais necessárias e eu uso apenas as funções de interpolação.

Portanto, minha pergunta é: posso reiniciar o kernel para me livrar das grandes tabelas de dados, mas manter as funções de interpolação calculadas a partir dessas tabelas? Ou alguma outra solução é possível? Obrigado!


Como posso criar uma animação de loop suave para simulação de tecido?

Eu criei uma simulação de bandeira ondulante fixando um conjunto de pontos, adicionando física de tecido e configurando campos de força de vento. O resultado é ótimo quando renderizo a cena, exceto que quero que os arquivos png resultantes sejam uma animação em loop contínuo. A animação resultante está pulando quando o loop faz a transição do último quadro para o primeiro.

Eu tentei exportar para o formato lightwave, importando-o de volta e inserindo shapekeys apropriados para obter uma interpolação entre o último e o primeiro quadro, (como descrito aqui), mas parece que a etapa de exportação-importação bagunça a orientação e a base para as teclas de forma. Tentei exportar-importar duas vezes e também tentei usar um plug-in personalizado que corrige o problema de orientação, mas minhas chaves de forma no valor 1,0 estão sempre esticadas e giradas em comparação com a mesma chave de forma em 0,0. O resultado é que, após a interpolação, a bandeira não apenas ondula, mas também gira e se estica.

Estou pensando em tentar uma das seguintes rotas:

De alguma forma, edite as teclas de forma necessárias no valor 1,0 para que correspondam à orientação e rotação de 0,0.

Analise o problema de orientação de exportação e veja se posso corrigi-lo sozinho.

Tente transformar o último quadro para o primeiro quadro do resultado renderizado usando alguma outra ferramenta.

Qual você acha que é a melhor e mais fácil maneira de fazer uma boa transição de loop?

Depois de tentar a sugestão de sambler usando dois modificadores com influência variável na transição entre o último e o primeiro quadro, a malha parece ser girada e escalonada nos quadros onde a influência do modificador é interpolada.


Utilizando dados GIS para gerenciamento de ativos

Surveyor verificando dados dentro da estrutura GIS codificada.

Foto cedida por Metro Consulting Associates

Carregando geometrias de parcelas de pesquisa no banco de dados GIS para acesso seguro à web.

Foto cedida por Metro Consulting Associates

Nos últimos anos, a indústria de serviços públicos tem migrado para Sistemas de Informação Geográfica (GIS) como seu sistema de gerenciamento de ativos preferido. Esta tecnologia é uma virada de jogo para o gerenciamento de ativos, pois não só armazena geometrias geográficas referenciadas para recursos de utilidades como soldas, válvulas, subestações, transformadores e torres / postes, mas também atua como um sistema de banco de dados para aplicação de domínios e valores codificados para padronizar a utilidade atributos. Recentemente, isso levou ao desenvolvimento de padrões de utilitário as-built entregues em um GIS totalmente digital, permitindo que as organizações publiquem dados de qualidade de pesquisa as-built em várias plataformas. Além dos usos tradicionais desses dados de alta qualidade por departamentos de engenharia e levantamento topográfico, as plataformas amigáveis ​​hospedadas por meio de sites seguros fornecem acesso instantâneo para tomadores de decisão imobiliários e de alta gerência.

Para estabelecer uma linha de base para a discussão do crescimento do GIS nos últimos anos - especificamente nas múltiplas plataformas baseadas na web que fornecem ambientes amigáveis ​​para analisar, editar e visualizar dados essenciais - a seguir oferece uma breve visão geral.

Crescimento de serviços seguros da Web

Em sua essência, GIS é um sistema projetado para capturar, armazenar, manipular, analisar, gerenciar e apresentar dados espaciais ou geográficos com atributos. A necessidade de uma ferramenta com a capacidade de se comunicar com o conjunto de software GIS de alto nível, ainda que permita acessibilidade e interoperabilidade entre plataformas e organizações, impulsionou a inovação. Essa ferramenta deve ser capaz de fornecer acesso seguro de qualquer lugar a dados de alta qualidade referenciados espacialmente. Uma ferramenta com essa capacidade pode transformar a maneira como as organizações operam internamente. Entre no GIS seguro, centrado no serviço e baseado na web.

Os avanços nas conexões de banco de dados por meio de serviços da web permitem que os principais participantes envolvidos em um projeto coexistam no mesmo banco de dados em tempo real.

Quando usado como uma ferramenta de gestão de ativos, o GIS tem um histórico comprovado de sucesso - promovendo uma comunicação sólida entre as equipes para transformar positivamente a cultura e a gestão corporativa. Os avanços nas conexões de banco de dados por meio de serviços web levaram o sistema à vanguarda da tecnologia, permitindo o acesso por meio de smartphones, tablets e o ambiente mais tradicional de laptop / desktop. Esses avanços permitem que os principais participantes envolvidos em um projeto coexistam no mesmo banco de dados - engenheiros, agrimensores, consultores, profissionais imobiliários e equipe de gerenciamento - em tempo real. O ambiente de plataforma múltipla / multiusuário do GIS fornece informações vitais que eliminam as suposições, com dados de propriedade detalhados, levantamento de localizações de grau de recursos de serviços públicos e outros itens de inventário de infraestrutura, dados e registros de operações e manutenção, imagens aéreas gerais e muito mais em seu ponta dos dedos.

Vamos dar uma olhada em como cada departamento da organização pode utilizar este ambiente multicêntrico e acessível.

Eficiência Departamental por meio da Comunicação

A comunicação é a pedra angular fundamental de qualquer relacionamento. Uma falha na comunicação custa dinheiro às organizações. O princípio básico por trás do ambiente multicêntrico de um GIS moderno é evitar interrupções na comunicação, promovendo-a em todas as organizações. E isso começa no nível da pesquisa.

Integração GIS com Topografia

O processo de construção de um hub de gerenciamento GIS utilizável começa no lado do banco de dados GIS. As três principais tarefas neste processo são:

  1. Padronizando nomes de recursos com todos os proprietários e usuários de dados
  2. Estabelecer atributos e valores de domínio codificados para os recursos recém-criados
  3. Interpolando essas informações em um dicionário de dados utilizável para o dispositivo de coleta de dados do topógrafo.

O processo de padronização de recursos requer a entrada de todos os proprietários dos dados, bem como dos usuários finais que acessarão as informações por meio dos serviços da web seguros. Isso inclui o recebimento de contribuições de equipes de GIS, engenharia, topografia, construção, imóveis e gerenciamento de projetos. Cada grupo pode ter opiniões com base em requisitos regulamentares ou terminologia específica do setor que precisarão ser considerados para construir a estrutura de recursos mais precisa e útil.

Após a conclusão, essas mesmas partes interessadas precisam concordar sobre os atributos de recursos necessários e seus valores de domínio correspondentes para cada um na estrutura recém-criada. Esses atributos e valores de domínio são a carne e batatas do sistema de banco de dados GIS. Eles fornecerão os dados necessários, conforme coletados em campo, para realizar análises rotineiras e complexas de ativos.

A próxima peça do quebra-cabeça é a integração dos domínios de recursos do banco de dados GIS em uma unidade GNSS de nível de pesquisa. Isso pode ser obtido exportando o esquema do banco de dados. Existem alguns programas no mercado que podem facilmente interpolar entre diferentes formatos de dicionário de dados. Ter um ótimo programa de interpolação pode economizar muitas dores de cabeça e ajuda a evitar o trabalho duplicado. Este processo não só garantirá que os dados de campo sejam coletados com os melhores dados de atributos possíveis, mas porque está utilizando a estrutura de recursos com valores de domínio codificados criados em um ambiente de banco de dados GIS, criará eficiência ao importar os dados de avaliação de volta para GIS.

Além disso, é uma prática útil converter qualquer engenharia de escritório ou dados de levantamento (parcelas e servidões) em GIS a partir do CAD. Isso pode ser feito por meio de vários fluxos de trabalho. Se o fluxo de trabalho adequado for escolhido, você pode interpolar todas as informações do proprietário fora do CAD com os formatos de pacote descritivos legais. O mesmo pode ser feito com quaisquer dados de engenharia que sejam essenciais para as tarefas O & ampM. Esta é uma abordagem inestimável para a comunicação entre a equipe de manutenção, imóveis e gestão de ativos.

Processamento pós-pesquisa

Ao investir pesadamente em um ambiente GIS desde o início do processo, você terá os elementos necessários para moldar um aplicativo personalizável, fácil de usar e seguro para sua organização. A experiência multicêntrica começa aqui.

Nesse ponto, todos os dados coletados no campo e desenvolvidos pela equipe de engenharia e de pesquisa são convertidos em um formato de banco de dados GIS. Conforme os serviços da web são construídos, a administração do banco de dados via nuvem ou unidades de armazenamento internas está ocorrendo. De dentro de um espaço de trabalho de banco de dados com versão, com o rastreamento de edição habilitado, nasce uma camada de recursos viva e vibrante que tem a capacidade de ser utilizada no ambiente multicêntrico de GIS.

Agora que temos nossos dados de linha de base em um ambiente GIS, podemos começar a adicionar informações de suporte. Um exemplo de uma fonte de informação auxiliar é a imagem de lapso de tempo UAV / UAS de um projeto de construção de subsuperfície. Essas imagens podem ser utilizadas como um mapa de base histórico dos recursos de subsuperfície instalados in-situ. Da mesma forma, o UAV / UAS tem a capacidade de obter imagens atualizadas de direitos de passagem gerenciados pela organização para identificar possíveis invasões.

Outro novo método de coleta de dados que tem crescido exponencialmente nos últimos anos são os scanners móveis LiDAR com capacidade de imagens orbitais. Esses conjuntos de dados podem ser adicionados ao ambiente GIS multicêntrico crescente para fornecer uma varredura virtual de 360 ​​graus dos recursos topográficos. Isso é extremamente útil em um ambiente urbano denso, onde as paisagens podem mudar quase que mensalmente. Ter imagens orbitais históricas pode tornar mais fácil para os funcionários imobiliários realizarem análises. E onde existem paisagens exurbanas, esses dados são vitais para tirar fotos em tempo dos direitos de passagem de uma organização para identificar potenciais invasões, realizar análises de curvatura de linha aérea e fazer um inventário de recursos naturais.

Além disso, essas informações de UAV 3D e LiDAR podem ser representadas em um espaço 2D dentro do GIS. Um caso específico para mostrar o valor de ter informações 3D representadas em um espaço 2D é o posicionamento de engenharia de ativos de dutos. Depois que os dados de campo com informações XYZ são importados para um GIS, existem ferramentas especiais de referência linear que permitem distâncias 3D em uma linha 2D que representa uma rota de pipeline. Isso pode ser extremamente útil para auxiliar os serviços de campo da equipe de O&AM.

Gestão de ativos: imóveis e muito mais

Agora que construímos um ambiente multiusuário com grande densidade de dados, com dados de notas de pesquisa - complementado com novas técnicas de coleta de dados e informações de engenharia - vamos dar uma olhada em um estudo de caso sobre como o ambiente multicêntrico promove uma comunicação eficaz.

Estudo de caso em gestão imobiliária

Como uma linha de transmissão aérea de alta tensão está nos primeiros estágios de planejamento, o departamento de GIS pega o projeto inicial da equipe de engenharia e carrega a rota proposta em um banco de dados de GIS. Uma seleção com base nas larguras de servidão conhecidas a partir da linha central é feita a partir das informações do condado e do avaliador. Isso formará a estrutura inicial do banco de dados GIS usada para rastrear os contatos dos proprietários.

Uma vez que essas informações de lote, linha central e servidão de GIS são habilitadas no ambiente multicêntrico, os profissionais do setor imobiliário podem começar a acessar esse sistema por meio de um portal da web seguro para atualizar os relatórios de contato do proprietário e o status de aquisição de lotes. O processo de negociação com proprietários de terras para acesso é a primeira parte do trabalho de campo essencial que precisa ser comunicado a toda a organização. Como essas informações são editadas em ambiente seguro por profissionais do setor imobiliário, uma versão somente para visualização pode ser analisada pela equipe de gerenciamento e acessada no campo por agrimensores, cujos direitos de acesso os proprietários concordaram. Esta é uma técnica de comunicação não verbal que cria um hub inteligente e em tempo real que pode ajudar a prevenir a ocorrência de problemas de atendimento ao cliente de proprietários de terras.

A equipe certa

À medida que as organizações começam a comprar o software GIS como uma solução de gerenciamento de ativos, é essencial ter os profissionais e consultores de GIS adequados desde o início. O crescimento exponencial do GIS como um ambiente multicêntrico tornou ainda mais crítico ter o pessoal apropriado no local. As equipes de GIS em todo o mundo que trabalham nesses sistemas complexos precisam ter membros de equipe com uma base de conhecimento sólida em todas as disciplinas das empresas de serviços públicos. Além disso, o ambiente GIS da web adicionou “desenvolvedor da web” à descrição do trabalho do analista de GIS. O objetivo final do ambiente GIS multicêntrico é permitir o acesso seguro de qualquer lugar e por todas as partes interessadas a dados de alta qualidade referenciados espacialmente. Assim que este sistema for habilitado dentro de uma organização, o GIS se tornará sinônimo de comunicação e criará eficiências no trabalho de campo, análise de negócios, gerenciamento de ativos e muito mais.


2 respostas 2

interpolar $ f_1 $ e $ f_2 $: interpolação linear na grade irregular,

avalie $ f_1 $ e $ f_2 $ em toda a grade (interpole os dados ausentes):

gráficos das funções interpoladas no estilo da solução de @ kickert:

A função Prever pode fornecer as informações de que você precisa.

Comece importando seus dados para o Mathematica. Para mim, foi mais fácil mudar as extensões de arquivo para .txt e usar SemanticImport.

Em seguida, retire o subconjunto com i2 = 4.

Agora você pode encadear seus valores (x0, y0) para os valores f1:

Neste ponto, você tem algumas escolhas a fazer em torno do Método e das Metas de Desempenho que usa para a função Prever. Poderíamos ir fundo nas ervas daninhas sobre isso, mas criei alguns dados de treinamento e teste, examinei todas as opções e descobri que GradientBoostedTrees era o melhor compromisso entre qualidade e tempo computacional.

Com o Predictor que você acabou de criar, você pode executar os dados ausentes por meio dele.

Em seguida, combine as entradas e saídas e junte-se às listas

Usando um ListDensityPlot, você obtém isto:

Olhando para o ListPointPlot3D você pode ver que não é perfeito, mas está muito próximo.

Se você quiser usar isso para f2, siga o mesmo processo puxando seus dados do subconjunto [[All, <1,2,4>]] e criando um novo preditor


Este arquivo de importação é uma exportação feita com uma ferramenta como exp73, exp ou expdp.

A maneira de importar dados a que você se refere quando você tem dados em uma planilha do Excel com valores separados por vírgulas, o SQL Developer criará uma grande instrução de inserção com os dados para você e a executará, que preencherá uma tabela.

O que você quer fazer é usar ferramentas de importação do oracle como impdp ou imp.

Por acaso você tem o log de exportação? Pode haver um arquivo com o mesmo nome que termina com um .log

Aqui está um exemplo de sintaxe sobre como importar tabelas específicas de uma exportação Oracle

Você desejará executar a seguinte consulta para descobrir onde está o local do diretório de bombeamento de dados e colocar a exportação na pasta correspondente:


4 respostas 4

Somente Windows de 64 bits

Nota para Mathematica 11.3: Existe um conflito potencial entre o MathMF e o pacote integrado MediaTools. Veja aqui os detalhes e aqui um exemplo de como usar o MediaTools no lugar do MathMF.

Nota para Mathematica versão 10: A Biblioteca Wolfram foi atualizada na versão 10 e você precisará recompilar a DLL MathMF. Isso é mais facilmente realizado avaliando "MathMF" // FindLibrary // DeleteFile antes de carregar o pacote.

Eu escrevi um pacote chamado MathMF que usa uma DLL LibraryLink para fazer importação e exportação de vídeo quadro a quadro com o Windows Media Foundation. Ele deve ser capaz de ler uma variedade razoável de arquivos de filme, incluindo AVI, WMV e MP4. A exportação está atualmente limitada aos formatos WMV e MP4 (a codificação AVI não é nativamente suportada pelo Media Foundation)

Aqui está o tipo de código que você pode escrever com ele. O código primeiro abre um arquivo de vídeo para leitura e cria um novo arquivo de vídeo para gravação. Em seguida, ele executa um loop no qual cada quadro é lido sequencialmente a partir do fluxo de entrada, processado em Mathematica e, em seguida, gravados no fluxo de saída. Então Mathematica está sendo usado efetivamente como um filtro de vídeo.

O pacote pode ser baixado do link GitHub no topo deste post, é muito grande para incluir aqui.

O pacote inclui o código-fonte da biblioteca e, na primeira utilização, tentará compilar a biblioteca localmente. Eu acredito que a compilação deve funcionar se você tiver o Visual Studio 2010 ou posterior instalado e provavelmente não funcionará se você usar um compilador diferente. Existe uma DLL pré-construída disponível se a compilação falhar (veja o leiame no GitHub para mais detalhes)

Espero que algumas pessoas achem isso útil, tem pairado em minha mente como algo a tentar fazer há algum tempo, prejudicado principalmente por minha total falta de experiência com programação C ++ e COM.


Em vez de importar diretamente um arquivo .mdd, você pode usar um modificador de cache de malha.

Um modificador de cache de malha pode ler arquivos .mdd e .pc2 e então substituir os dados de malha de objetos pelos arquivos de malha para um determinado quadro. As propriedades do modificador permitem ajustes de como a animação é reproduzida.

Se a opção .mdd para importação não estiver disponível, carregue o add-on em Preferências do usuário:

Arquivo >> Preferências do usuário >> Complementos >> Importar-Exportar: formato NewTek MDD (habilitar o complemento)


Eu parei de usar o After Effects .. Acho que a última vez que usei foi há 3 anos! mas me lembro da maneira de como fazê-lo ..

Clique em Ctrl / Command + Shift + C

este comando criará uma camada (composição em Efeitos posteriores e MovieClip no Flash).

Mova a reprodução (o ponteiro na linha do tempo) no final de sua animação, no último quadro .. onde você deseja parar a animação ..

Isso é chamado de "congelar quadro" nos efeitos posteriores e ("Parar ()" no Flash :))

Vá para "Editar> Dividir Camada". ele irá aparar a camada e criar uma camada duplicada acima da camada selecionada. e essa camada começaria logo após o indicador de reprodução.

Selecione a camada superior recém-criada. Clique com o botão direito e selecione Freeze Frame. Ou no menu "Camada-> Tempo-> FreezeFrame".

sua camada irá congelar neste ponto ... você pode estender ou cortar esta camada pelo tempo que desejar.


4 respostas 4

Se você quiser dizer OU, use pipe duplo (||).

(O código OP original usando | estava simplesmente canalizando a saída do lado esquerdo para o lado direito, da mesma forma que qualquer canalização normal funciona.)

Depois de muitos anos de comentários e mal-entendidos, permita-me esclarecer.

Quer você use [ou [[ou teste ou ((tudo depende do que você precisa, caso a caso. É errado dizer que um desses é preferido em todos os casos. Às vezes [está certo e [[está errado. Mas não era essa a pergunta. OP perguntou por que | não funcionou. A resposta é porque deveria ser ||.


Assista o vídeo: interpolacja Lagrangea C++ (Outubro 2021).