Altitudes no Google Earth

Então, uns testes que estou fazendo aqui, se bem que até agora, obtive umas elevações bem "variadas" por assim dizer... O caso é o seguinte: a rotina a seguir deveria servir para isso: dadas as coordenadas geográficas de um ponto, ela abre o google earth e "pergunta" a ele qual a elevação do ponto na coordenada informada.. bom, deveria ser assim, mas até agora não encontrei uma confiável de de certificar-me que a imagem "estabilizou" na tela, para aí sim, "perguntar" a cota... se ela não estabiliza, o terreno não informa a cota corretamente, e o google earth não está sendo "modal" nos métodos que usei nele.. aos que pensarem que isso se deve a estar programado em lisp, digo que não tem nada a ver... faz o teste, rode a rotina para as coordenadas Lat: -21 e Lon:-48 por exemplo... põe o globo em movimento e rode a rotina pelo console... ela deverá informar cotas estranhas... e se deixar a imagem estabilizar nesta coordenada, ele passa a informar sempre o mesmo valor.. em fim... se estabilizar funciona!!!
imagine as utilidades!! para um anteprojeto de estradas por exemplo, já é um começo se você não tem topografia alguma, hehehe, eu mesmo estou usando este esquema até a topografia ser concluída, aliás, até o geométrico preliminar foi feito no google earth e exportado para o cad com o expge. Se alguém quiser contribuir no desenvolvimento, ou tiver alguma dica, manda aí!!!
mais...
;inicializa o google earth:
(defun getools:init ()
  (
if (setq ge:app (vlax-get-or-create-object "GoogleEarth.ApplicationGE")
        kh:app (vlax-get-or-create-object "Keyhole.khInterface"))
    (
progn
      (while (/= 1 (vlax-invoke-method ge:app "isinitialized")))
      (
while (/= 1 (vlax-invoke-method ge:app "isonline")))
      

      t)
    ))


;calcula a elevação de um ponto na superficie do globo:
(defun getools:elevation-from-pt (lon lat / PointOnTerrain)
  (
if (not kh:app)  (getools:init))
  (
vlax-invoke-method kh:app "setViewParams" lat lon 1000 0 0 5 5)
  (
setq PointOnTerrain nil)
  (
setvar "cmdecho" 0)
  (
while (/= PointOnTerrain
         (setq PointOnTerrain
            (caddr
              (vlax-safearray->list
            (vlax-invoke-method
              kh:app
              "GetPointOnTerrainFromScreenCoords"
              0 0)))))
    (
command "delay" 500))
  (
setvar "cmdecho" 1)
  PointOnTerrain)

;libera a memória:
(defun getools:restore ()
  (
if (equal 'vla-object (type ge:app)) (vlax-release-object ge:app))
  (
if (equal 'vla-object (type kh:app)) (vlax-release-object kh:app))
  (
setq ge:app nil kh:app nil))
Para usar é simples:
(getools:init)
(getools:elevation-from-pt lon lat)
(getools:restore)
onde lat e lon são as coordenadas geográficas do ponto, por exemplo
Lon = -48.5 ( 48º30' Oeste )
Lat = -21 ( 21º00' Sul )

Publicidade: interneyshop

21 comentários:

  1. Cara muito legal todos os seus programas, queria entrar em contato com vc já faz um tempo mas só agora me cadastrei. Olha só em um perfil com estaqueamento de 20 metros tem como eu ter a desenvolvida e a progressiva clicando na linha do perfil?

    ResponderExcluir
  2. Anônimo3/8/07 18:10

    já olhou todas as informações que se pode ter nas label style de um profile?
    não lembro de ter visto isso...

    de qualquer modo, programar isso estaria fora de cogitação?

    ResponderExcluir
  3. só quero saber se tem um jeito, se vc sabe alguma função. Gosto de fazer eu mesmo meus programinhas

    ResponderExcluir
  4. Certo vc, só quero saber se vc sabe alguma função que faria isso ou alguma forma de medir isso, pois gosto de eu mesmo fazer meus programinhas heheh

    ResponderExcluir
  5. certo, gostaria de saber se vc tem uma ideia de como eu poderia medir isso gosto de eu mesmo fazer meus programinhas heheh

    ResponderExcluir
  6. explique melhor, o que seria essa "desenvolvida" e "progressiva"? não me lembro desses termos

    ResponderExcluir
  7. ok! Progressiva seria quanto eu andei horizontalmente, e desenvolvida o quanto andei verticalmente em um perfil, ou seja em um perfil de 20 em 20 metros, em cada estaca andei 20 metros certo(progressiva), e nos mesmos 20 em 20 metros se eu quebrar minha polilinha (perfil) nas estacas terei la 20,015 metros.
    deu pra entender...:Ah! já valeu pela atenção dispensada, obrigado!

    ResponderExcluir
    Respostas
    1. Cara! Tô com o mesmo problema que o seu!
      Alguém por acaso já te respondeu?
      Tô suando a camisa pra tentar descobrir essa função de desenvolvida mas, até agora não consegui.
      Acho que o Civil 3D 2011 não faz isso pois, era só para dar o comprimento da linha de perfil que considera planimetria e altimetria (desenvolvida) enquanto o estaqueamento (progressiva) só considera planimetria.
      Se alguém souber como fazer, por favor me dê uma luz!
      Agradeço desde já!!!!
      Abraço.

      Pedro

      Excluir
  8. OPaa ... iae kra !!!! Acho q posso te ajudar .. com relação aos pontos de altimetria q vc precisa... ou precisava !!! jah faz mto tempo !!! eu trabalho num escritório de agrimensura ... acho q agente pode ver alguma coisa junto !!!


    mto bom ... seu programa de exportar para o google... eu fiz um q faz a msm coisa !!! ahahahh !!! na verdade jah tinha feito uns Lisps de conversão de coordenadas ... daí fico mais fácil !!

    se possível entre em contato ... MSN >> daniel182_@msn.com ... abraço !!

    ResponderExcluir
  9. opa, blz cara
    hein, que tipo de entidades voce esta exportando? conseguiu exportar blocos já? não como markedplace mas como se fosse linhas, ate agora so explodindo...

    ResponderExcluir
  10. Bom Dia Neyton.

    Sou funcionário de uma empressa de Prestação de serviços na área de mineração. No momento o DNPM está exigindo o levantamento topográfico das areas registradas, porem alguns clientes não querem desembolsar o dinheiro para contratar topografo para que seja feito o levantamento topográfico. No momento estou usando um meio através do Google Earth, onde crio uma malha o GTM, através de trilhas, fragmento elas e envio para o Google Earth, depois de pegar cada altitude, faço uma malha igual no Cad 2005 e coloco coloco, depois vou ligando com spline, claro que dependendo do detalhamento da malha tenho que preencher os espaços sem as altitudes, isso porque tenho que colocar as curvas de nível de 1 em 1 metro. Você teria um método melhor para que eu possa usar o Google Earth para criar curvas de nível de 1 em 1 metro no Cad2005? Ficaria imensamente agradecido.

    ResponderExcluir
  11. Vocês estão loucos!? ou é apenas para um exercício intelectual?

    Qual é a validade de curvas de nível retiradas do google earth?

    Há alguma verdade de campo que possa garantir a acuracidade deste levantamento.

    Na minha opinião, para fins exploratórios e espedito, está OK. Mas não se pode realizar laudos, trabalhos técnicos baseados nisso!.
    Lembrem da qualidade da base de dados ...

    Juízo, garotos!
    Não confundam métodos adicionais e complementares com métodos fundamentais ou essenciais.

    ResponderExcluir
  12. é verdade...

    o intuito deste blog não é ensinar engenharia, cartografia ou qualquer coisa assim, hehehe

    é apenas um meio de discutir ferramentas

    ResponderExcluir
  13. Digam isso para meu chefe, mas nem ele tem culpa, o problema é que os clientes querem extrair granito, e para o relatório final de pesquisa não querem gastar dinheiro fazendo um levantamento topográfico para tal, ai a gente tem que ficar fazendo esses dribles.

    ResponderExcluir
  14. Nenhuma idéia para retirar as altitudes?

    ResponderExcluir
  15. Antonio Carneiro - Sou leigo em AutoCad e Goolge Earth, mas gostaria muito de ver o Seu programinha de Altitudes no Google Earth fucionando. Podrias me explicar melhor pois não consigo achar o arquivo com o comando APPLOAD.

    ResponderExcluir
  16. very well information you write it very clean. I'm very lucky to get this info from you.

    ResponderExcluir
  17. Se colocar na programação um contador de tempo até que a imagem estabilize para que possa pegar a cota correta.

    ResponderExcluir
  18. Da uma olhadinha nesse link, tem umas ideias de pegar altitude.


    http://mathgis.blogspot.com/2009/07/extract-elevation-data-from-google.html

    ResponderExcluir
  19. Acessa essa pagina, alem das outra que te enviei antes, acho que isso vai te ajudar.
    http://code.google.com/intl/pt-BR/apis/maps/documentation/elevation/

    ResponderExcluir
  20. interessante, para precisoes mais baixas já ajuda pra caramba

    ResponderExcluir