Quais são seus maiores desafios como desenvolvedor de GIS?

23

Quais são seus maiores desafios ao desenvolver software GIS?

Está codificando? Está entendendo conceitos de cartografia / geografia / etc (como projeções)? Ou outras dificuldades?

George
fonte
Eu amo essa discussão. Eu sei que é um tópico antigo, mas a informação é OURO. Trabalho para a Esri como gerente de produtos de produtos para desenvolvedores. Eu cuido dos SDKs do ArcGIS Runtime (Java, Android, Qt) e do ArcObjects SDK para Java. Antes de tudo, posso simpatizar com a dor. Segundo, gostaria de saber se as APIs da Web e as APIs do ArcGIS Runtime ajudaram a mitigar os pontos problemáticos no uso da Plataforma, ou apenas em geral. Lidar com muitos dados ainda é um desafio, suponho, pouco está melhorando ... agora, cinco anos depois? Os serviços, tanto do Online quanto do Portal, estão ficando mais robustos. São t
Olá Eric, bem-vindo ao GIS.SE. É sempre bom ver os funcionários da empresa de software participando da comunidade. Aqui estamos um pouco menos de fórum de discussão e perguntas e respostas mais específicas. Você pode querer conferir o tour . Temos um bate - papo para conversar, embora não seja muito usado. Você também pode dar uma olhada no nosso sistema de marcação. Usando isso, você pode aprimorar a atividade de perguntas recentes sobre um assunto específico, como as APIs e os SDKs mencionados.
Chris W
Da mesma forma, seja bem-vindo ao GIS SE Eric! À medida que você olha um pouco mais pelo site, espero que você entenda rapidamente o que é o Stack Exchange e quão diferente é o formato de perguntas e respostas focado em um fórum de discussão. É exatamente o que eu esperava que os fóruns de discussão do ArcGIS se tornassem em sua revisão mais recente. No entanto, não julgue seu valor nesta sessão de perguntas e respostas, que, apesar de sua popularidade, não é um ótimo exemplo de como os usuários podem vir aqui procurando uma resposta e, em alguns minutos, identifique a mesma pergunta e leia sua resposta sem ter para digerir uma discussão para frente e para trás.
PolyGeo

Respostas:

22

Falando da minha experiência como desenvolvedor que entrou no cenário de desenvolvimento ESRI / GIS há quase 5 anos:

  1. Não há uma API única para fazer o que você deseja fazer. Apenas uma bagunça confusa de APIs que podem ou não funcionar para seus propósitos: operadores ArcObjects, Python, REST, SOAP, ADF, ST_Geometry?
  2. Todas as APIs estão vinculadas a algum software caro e desajeitado que você prefere não colocar no centro do seu aplicativo.
  3. Pouca oportunidade para um design verdadeiramente criativo. Estruturas de dados geoespaciais orientadas a objetos? Esqueça. Apesar de toda a conversa sobre "objetos" e "classes de recursos", você ainda está trabalhando com tabelas idiotas mediadas por middleware caprichoso.
  4. O software está com erros, as mensagens de erro são enganosas e a documentação incompleta. A solução de problemas é quase sempre tentativa e erro. Acostume-se a isso.
  5. Gerenciar dados geoespaciais usando métodos de banco de dados relacional é quase impossível. Eu praticamente tive que abandonar qualquer SQL / DDL porque eles só me causaram problemas com o middleware (sim, estou falando do ArcSDE). É uma pena jogar fora um conjunto de habilidades inteiro. Basta abrir o ArcCatalog, apontar, clicar.

Como você pode ver, tenho uma perspectiva bastante negativa no cenário de desenvolvimento da ESRI. Para quem vem de uma geografia, tenho certeza de que as possibilidades são bastante emocionantes. Mas para alguém como eu que adora bancos de dados relacionais, programação orientada a objetos e ampla oportunidade de soluções criativas, o desenvolvimento de GIS com ESRI é muito restritivo e insatisfatório. É uma pena, porque a multidão da velha escola me diz que costumava ser um ambiente superior, antes do alinhamento com a Microsoft. Espero sinceramente que a comunidade de código aberto continue inovando.

nw1
fonte
4
Sou estatístico e tenho queixas muito semelhantes sobre os produtos ESRI. Minha teoria excessivamente otimista é que, como os computadores provavelmente foram aplicados às estatísticas antes do GIS, o software GIS está cerca de dez anos atrás do software estatístico (na fase SAS / SPSS) e que um programa ou pilha de código aberto verdadeiramente notável está à beira de sair. Talvez já tenha - faz anos desde que tive a chance de jogar com programas que não são da ESRI.
Matt Parker
2
Eu apenas gritei para sacudir meu punho em Redlands com o resto de vocês e transmiti uma anedota ilustrativa: Praticamente qualquer chamada de API para as APIs de varredura do Spatial Analyst (na época) falharia com um COM "Erro Não Especificado genérico" "se algo der errado. Desesperado para solucionar problemas, acabei conectando o strace ao ArcGIS.exe e, enterrado em chamadas do sistema, encontrei (drumroll) que mensagens de erro úteis e detalhadas da década de 1980 estavam sendo gravadas no equivalente a / dev / null do Windows.
Dan S.
13

Grandes quantidades de dados. Ser capaz de descobrir o caminho certo para extrair grandes quantidades de dados usando a tecnologia da web tem sido um desafio. Podemos ter muitos dados e desempenho ruim ou exibir muito menos dados, mas potencialmente transmitindo as informações erradas.

Hugo Estrada
fonte
10

Eu não sou desenvolvedor de GIS; no entanto, sou um modelador GIS:

Desafios:

  • Coleta, agregação, desagregação, mesclagem e divisão de dados : eu obtenho dados de várias fontes para diferentes projetos; o maior problema geralmente é obter todos os dados para a mesma parcela / área geográfica. Normalmente, tenho que usar algumas das técnicas mencionadas acima em todos os conjuntos de dados, para ter uma amostra coerente do projeto. Isso aumenta a probabilidade de erro e dilui nossa precisão.

  • Eu não sou desenvolvedor; Repito que não sou desenvolvedor: quando você ama pessoas que falam sobre índices SOAP, SHAMPOO, REST, GIS-T, etc. isso significa muito para você. Para mim, principalmente, é um jargão. Normalmente, tenho uma grande curva de aprendizado ou uma subida íngreme para realizar algumas das coisas simples.

  • A diferença entre o software livre e o software proprietário: eu amo o QGIS e o postgis até a morte; literalmente eu os tenho instalados em todas as máquinas; no entanto, quando quero fazer uma análise baseada em transporte, tenho que recorrer ao TransCAD ou ao EMME2 / 3. Cada um custa cerca de US $ 15.000 com todos os sinos e assobios. Com toda a justiça, todos esses problemas poderiam ser resolvidos se houvesse um pacote networkx para arquivos shp.

  • Problema de várias disciplinas: eu sou versado em técnicas de modelagem de transporte; por mais ruim que seja a modelagem demográfica e, até onde sei, tenho que usar ferramentas sofisticadas de R para realizar meus dados. Portanto, o problema do SIG é que o SIG é um campo multidisciplinar difícil de sobreviver por conta própria.

  • Falta de ferramentas e software bem estabelecidos para passar do uso da terra das imagens ao uso da terra de vetores: prevejo um futuro em que uma ferramenta analisará a imagem de satélite GEOEYE e comparará os usos da terra nela com um banco de dados vetorial (como construído)

  • Às vezes, é mais rápido fazer as coisas no Excel / "seu programa de planilhas favoritas está aqui: Às vezes, quero fazer uma análise de trânsito, é muito mais rápido pegar os dados, colocá-los no Excel, fazer as fórmulas funcionarem e depois despejar os dados de volta. postgis como um arquivo CSV e regenere o mapa.Esta divisão, especialmente no mundo OpenSource, deve ser melhor tratada.

De qualquer forma, posso não ter respondido corretamente; Eu só queria ser versado no que diz respeito à programação GIS, para que eu possa me destacar na modelagem GIS

dassouki
fonte
NetworkX para shp já existem FYI por exemplo networkx.github.io/documentation/latest/reference/... Para vector + raster, consulte PostGIS extensão raster trac.osgeo.org/postgis/wiki/WKTRaster
ThomasG77
O maior problema com +1 são fontes de dados confiáveis. Muitos estados contratam estagiários para trabalhos de verão, coletando coordenadas para estradas e outras coisas, e geralmente não são verificados ou auditados (nem mesmo amostras), e o resultado é que agora você tem o DOT de Nova Jersey dizendo que um estrada é 500 pés mais curta que o Google e OSM diz que é. Droga.
nothingisnecessary
8

As coisas mais importantes, e geralmente as mais difíceis da minha experiência, são:

  1. obtenha os dados certos para o trabalho
  2. faça com que seja exibido na projeção adequada (e que todas as camadas estejam de acordo.) Especialmente quando elas vêm de fontes diferentes
  3. projetar um aplicativo utilizável. É fácil e tentador colocar muitos sinos e assobios que apenas confundem os usuários

Penso que o ponto 1 será mais fácil nos países desenvolvidos, mas essa não é a minha experiência.

Vinko Vrsalovic
fonte
6

Para mim, o maior desafio é decidir quais ferramentas usar para um determinado projeto. Código aberto ou proprietário? Python ou .NET? Baseado na Web ou desktop? Respondo a essas perguntas de maneira diferente para projetos diferentes e tenho certeza de que as pessoas farão todas elas neste site. Muito disso se resume à preferência pessoal e à tentativa de adivinhar o que a ESRI e a Microsoft apoiarão no futuro.

jswise
fonte
Isso teria que ser a maior coisa para mim.
Nathan W
2
Isso é menos importante para mim. Embora seja do interesse do desenvolvedor investir em seu próprio futuro e evitar o "trabalho desperdiçado", sinto que os fins justificam os meios, e qualquer tecnologia que faça o trabalho é a melhor escolha. Ter uma idéia clara do que você precisa entregar é mais importante do que como chegar lá.
mwalker
5

Meu problema é sobre o cavalo e a água. Em muitos casos, desenvolvemos e / ou apresentamos soluções realmente boas para nossos clientes, mas não importa quão elegante seja a solução, é absolutamente inútil se ninguém tiver tempo para usar. Em alguns casos, conseguimos aliviá-lo, tornando o nosso trabalho baseado no usuário (pesquisa de problemas, discussão sobre soluções antes do desenvolvimento), mas em alguns casos isso ainda não é suficiente.

wilsongis
fonte
3

Acho que o desafio mais difícil é fazer com que a gerência entenda o GIS e alguns usuários também não o entendem. A percepção é que o GIS é sobre fazer um mapa; que um mapa é o único resultado de qualquer atividade GIS. Eu não posso te dizer o quão frustrante eu acho isso - o nível de ignorância lá fora é enorme, e é mantido pelos principais tomadores de decisão.

Eventualmente, porém - sendo alguns dos especialistas e programadores pioneiros em GIS -, eventualmente, tornar-se-emos gerenciamento e, finalmente, podemos finalmente concluir alguns projetos decentes de GIS!

A outra coisa difícil como programador de GIS - é preciso entender tantas tecnologias diferentes, Java, .Net, bancos de dados, software ESRI ou outros fornecedores, como MapInfo, redes, segurança, tecnologia da web etc. etc. Às vezes, é um trabalho quase impossível!

Vidar
fonte
2

Lidando com pessoas com experiência em pesquisa que não entendem técnicas e metodologias profissionais de desenvolvimento de software, mas porque se ensinaram a codificar avenue / VB, pense que é tudo o que existe.

BlinkyBill
fonte
2

# 3 da resposta de Vinko :

projetar um aplicativo utilizável. É fácil e tentador colocar muitos sinos e assobios que apenas confundem os usuários.

Eu votaria na resposta inteira, mas pelo fato de que a usabilidade é apenas o terceiro item da lista dele e não acho que os dois primeiros sejam tão desafiadores.

A usabilidade é onde estão a maioria dos meus problemas e onde passo a maior parte do tempo de design / desenvolvimento, descobrindo como criar uma interface de usuário inteligente e eficaz, mas mantenha-a intuitiva para que os usuários não se confundam com ela, por exemplo:

  • Como ajustar o estilo (e escolher as camadas) de um mapa interativo para mostrar as informações relevantes e evitar a confusão que geralmente vem com a exibição de muitos dados (por exemplo, usando agregação automática de recursos de pontos); Eu sei que é isso que a cartografia tenta resolver há muito tempo, mas o problema só piora com mapas interativos / digitais

  • Como fazer o posicionamento automático da visualização do mapa com base na seleção de consulta / recurso do usuário

  • Destacando os recursos 'selecionados' - você mostra o destaque brevemente, destaca-o o tempo todo em que um recurso é selecionado, desmarca quando a tabela (ou lista) de seleção perde o foco ... Como destacar as duas consultas resultados de uma tabela e da linha selecionada dentro dessa tabela (sem ter muitos botões de alternância)

  • Mostrando informações adicionais em listas de camadas ou recursos, por exemplo, visibilidade / estilo aplicado / tipo de geometria de uma camada, status / classe do recurso ... Isso fica ainda mais complicado caso alguém tenha diferentes tipos de recursos exibidos na mesma lista (acho que é por isso Google e Bing Maps usam filtros bastante pesados ​​dos resultados da pesquisa)

  • Edição eficiente: encaixe, fechamento de polígonos, adição / movimentação / exclusão de pontos, sem ter muitos botões na barra de ferramentas.

  • Como projetar (e implementar) uma interface de consulta amigável ao usuário para consultas de geometria e, ainda mais desafiador, uma interface para consultas, incluindo atributos e geometria; sem fazer com que o usuário digite algo parecido com SQL.

  • Como projetar algo como uma prancheta para recursos / geometrias para evitar a necessidade de 'escolher' continuamente um recurso do mapa para uso em consultas, edições ...

Meu sentimento é que o GIS é um campo especialmente desafiador no aspecto da usabilidade, porque:

  • A localização é o contexto universal e, geralmente, o mais natural para qualquer informação, portanto sempre há muita informação disponível para exibição

  • Tendo as informações exibidas em um mapa, é fácil tentar subestimar a importância das partes não GIS da interface do usuário

  • Tradicionalmente, a indústria negligenciava o aspecto da usabilidade do software GIS, e eles se safavam disso porque o mapeamento digital era visto como um comércio técnico com uma lenta curva de aprendizado e havia conceitos muito mais difíceis de aprender do que como usar a interface. Isso significa que qualquer pessoa que tente criar uma interface GIS para quem não é especialista deve inventar seus próprios princípios, que são condenados a serem confusos (um bom exemplo seria 'Meus Mapas' do Google ou 'Meus Locais' do Bing Maps)

mkadunc
fonte
2

Um dos maiores desafios para o desenvolvimento de GIS baseado na Web é como os dados são entregues e quanta eficiência posso obter ao entregá-los de uma certa maneira. O maior obstáculo é que é muito difícil escrever código para algo que requer que um humano ajuste. Muito raramente você vê técnicas de generalização para dados vetoriais usados ​​em grandes escalas. Na maioria das vezes, é necessário ajustar os intervalos da escala para ativar e desativar as camadas.

CrazyEnigma
fonte
1

Essa pergunta surgiu na minha pesquisa no Google por desafios no GIS, e estou com vontade de contribuir aqui.

Outro link que me pareceu relevante foi este artigo.

Resumindo o que é dito lá e minhas próprias opiniões, acho que os maiores desafios (em nenhuma ordem específica são):

  • Interface do usuário: Com o host de opções da interface do usuário, é um desafio para o desenvolvedor otimizar a oferta de modo a se adequar a todos os dispositivos. Baseado em toque ou desktop ou wearable. A ideia do DE, apresentada por Gore, que apresenta um fone de ouvido vestível com visor, luvas com controle de direção e reconhecimento de fala é um futuro chique.
  • Padronização: com os padrões de armazenamento e recuperação de dados, poderíamos ter bancos de dados geográficos que permanecem na nuvem e permitir a busca de informações durante a execução, para que uma navegação e uso de GIS possam ser facilitados.
  • Uso de dados: Os tomadores de decisão sempre pressionam pelo tempo. Se uma ferramenta é para ajudá-los, ela deve ser feita de maneira suave, fácil e rápida. Parece que o GIS não foi entregue nessa frente e essa é uma das razões pelas quais ainda não é um chavão.
  • Dados: os dados são variados, dispersos e barulhentos. Mesmo para organizações com incentivos claros em um SIG em tempo real, a agregação de dados é um obstáculo ainda grande demais para prever a entrada.
  • Esforço coordenado: o SIG é multidisciplinar. Toda criança sabe disso. A gerência é informada disso no primeiro slide. Embora esses projetos multidisciplinares e multidisciplinares sejam raros.
Chintan Pathak
fonte
0

Quando se trata de codificação, sinto que perco muito tempo em soluções alternativas. Para projeções, demorei alguns meses para entender os processos e a matemática, pois na minha opinião há pouco material publicado útil sobre o assunto. Os documentos EPSG e OGC sobre o assunto me ajudaram a entender isso depois de algumas leituras, mesmo que às vezes pareçam ser cópias um do outro. O maior problema que tenho como desenvolvedor independente é que não posso deixar de tropeçar em pessoas que precisam de trabalho especializado para desenvolvimento médico, industrial ou mesmo simples de aplicativos da Web, mesmo agora. Com a indústria de GIS, parece quase impossível encontrar uma maneira de entrar no mercado.

Dândi
fonte
0

Eu sou um novato completo em tecnologias GIS, descobrindo as coisas à medida que vou. E como tenho fundos limitados, estou tentando evitar o uso de qualquer produto ESRI e fazer as coisas inteiramente com ferramentas de código aberto.

Dito isso, as coisas mais difíceis para mim até agora estão relacionadas à coleta de dados. Existem muitos artigos sobre manipulação e exibição de dados e muitas ferramentas para facilitar sua vida. Mas ainda estou andando no escuro quando se trata de coletar dados.

Não tenho ideia do que os profissionais fazem para encontrar e coletar dados. Algo me diz que há uma maneira mais fácil de obter dados do que data.gov e google.

Eric Palakovich Carr
fonte
A maioria foi comprada de fornecedores, que realizam pesquisas de campo e conversões de outras fontes. No terceiro mundo, obter dados do governo abertamente é uma PITA
Devdatta Tengshe 13/08/10
-1

Pode ser uma pena que você seja forçado a trabalhar com analistas de GIS que foram convertidos em desenvolvedores de software.

É fácil esperar que um desenvolvedor de software competente compreenda os conceitos de GIS e permita que eles acessem a API e geralmente resolvam as coisas sem muita ajuda. O mesmo não acontece com a contratação de um analista de GIS e a expectativa de que ele adquira o desenvolvimento de software.

Os resultados são embaraçosos , na melhor das hipóteses. Se você tem experiência em trabalhar com desenvolvedores ruins , imagine que é um código pior do que qualquer coisa que o pior programador tenha desenvolvido.

Existem algumas empresas para as quais você trabalha que não entendem isso.

emptyset
fonte
2
@emptyset: Sou um geógrafo que se tornou desenvolvedor. Não acho que meus resultados sejam "embaraçosos", na melhor das hipóteses. Eu tenho muito mais o desenvolvimento de competências em seguida, outros colegas que têm um fundo de TI - incluind melhor compreensão e utilização de conceitos OOP, conceitos de banco de dados e regras, etc. Claro, não concordo com a sua resposta: P
George Silva
1
@ George: E não estou dizendo que você disse o contrário, apenas apontando que, para ser um ótimo desenvolvedor, você precisa saber o quanto é ruim. Pelo menos eu tento.
Vinko Vrsalovic 22/07/10
2
+1 Em inúmeras ocasiões, fui solicitado a "corrigir os bugs" em uma bola grande de lama en.wikipedia.org/wiki/Big_ball_of_mud, escrita por um ou mais analistas. Alguns dos piores códigos foram escritos por alguns dos analistas mais inteligentes. Muitas vezes, os espertos não apreciam a beleza da simplicidade. Freqüentemente, a culpa é da gerência - o analista pode perceber o valor da refatoração, mas não pode justificar gastar tempo alterando o código que não está quebrado.
Kirk Kuykendall
3
Para o corolário, você pode ser infeliz o suficiente para trabalhar com desenvolvedores de software sendo forçados a trabalhar como profissionais de GIS. Eu sou muito cauteloso com qualquer pessoa, de qualquer campo, apenas descobrindo as coisas à medida que vão no SIG. Sou um analista que explora o desenvolvimento e espero totalmente - e quero - que as pessoas tomem cuidado com meu código. Qualquer desenvolvedor que sinta que está indo bem no SIG, provavelmente não está. :-)
matt wilkie
3
-1 - declaração muito abrangente que é comprovadamente falsa e um tanto ofensiva. Como Matt W sugere acima, geralmente é melhor ter uma pessoa do GIS codificando do que o contrário, porque há muito mais recursos para ajudá-lo a aprender a codificar e implementar as práticas recomendadas do que no GIS
dmbrubac
-1

o mundo do GIS está sendo expandido para o usuário comum, a menos que os primeiros anos em que o GIS fosse tratado apenas por engenheiros, architecs ou pela comunidade científica. No caso de o aplicativo GIS ser feito para o usuário comum, o desafio é misturar adequadamente as tecnologias nas quais o GIS é tratado como uma tecnologia mais (nesse caso, um desenvolvedor com um pouco de entendimento da tecnologia GIS é suficiente). No entanto, no caso em que o aplicativo é feito para a comunidade especializada, o desafio é mais complexo, pois além da junção de tecnologias é necessário pesquisar os algoritmos existentes para atender aos requisitos, caso contrário, ainda pior, teríamos que desenvolver esses algoritmos. Nesse caso, uma mistura de engenheiro e desenvolvedor é o trabalhador apropriado.

Rodolfo Moreno
fonte