Quali sono le tue maggiori sfide come sviluppatore GIS?


23

Quali sono le tue maggiori sfide nello sviluppo di software GIS?

Sta codificando? Comprende i concetti di cartografia / geografia / ecc. (Come le proiezioni)? O altre difficoltà?


ADORO questa discussione. So che è un vecchio thread, ma l'informazione è GOLD. Lavoro per Esri come Product Manager di prodotti per sviluppatori. Mi occupo di ArcGIS Runtime SDK (Java, Android, Qt) e ArcObjects SDK per Java. Prima di tutto, posso entrare in empatia con il dolore. In secondo luogo, vorrei sapere se le API Web e le API ArcGIS Runtime hanno contribuito a mitigare i punti deboli nell'utilizzo della piattaforma o, in generale, in generale. Gestire un sacco di dati è ancora una sfida, suppongo, un po 'sta migliorando ... ora 5 anni dopo? I servizi, sia online che del portale, stanno diventando più robusti. Sono t

Ciao Eric, benvenuto su GIS.SE. Sempre bello vedere i dipendenti delle società di software che partecipano alla community. Siamo un po 'meno forum di discussione qui e domande e risposte più specifiche. Potresti voler dare un'occhiata al tour . Abbiamo una chat per le conversazioni, anche se non è molto usata. Potresti anche dare un'occhiata al nostro sistema di tagging. In questo modo puoi approfondire l'attività sulle domande recenti su un argomento specifico, come le API e gli SDK che menzioni.
Chris W,

Allo stesso modo benvenuto in GIS SE Eric! Mentre ti guardi un po 'di più nel sito, spero che otterrai rapidamente di cosa tratta Stack Exchange e di quanto sia diverso il suo formato mirato di domande e risposte da un forum di discussione. È esattamente quello che avevo sperato che i forum di discussione ArcGIS sarebbero diventati nella loro revisione più recente. Tuttavia, ti preghiamo di non giudicare il suo valore in queste prime domande e risposte che, nonostante la sua popolarità, non è un ottimo esempio di come gli utenti possono venire qui in cerca di una risposta, e in pochi minuti identifica la stessa domanda e leggi la sua risposta senza avere per digerire una discussione avanti e indietro.
PolyGeo

Risposte:


22

A proposito della mia esperienza come sviluppatore che è entrato nella scena di sviluppo ESRI / GIS quasi 5 anni fa:

  1. Non esiste un'unica API per fare quello che vuoi fare. Solo un pasticcio confuso di API che possono o non possono funzionare per i tuoi scopi: operatori ArcObjects, Python, REST, SOAP, ADF, ST_Geometry?
  2. Tutte le API sono legate ad alcuni software ingombranti e costosi che preferiresti non collocare al centro dell'applicazione.
  3. Poca opportunità per un design davvero creativo. Strutture di dati geospaziali orientate agli oggetti? Dimenticalo. Nonostante tutte le discussioni su "oggetti" e "classi di funzionalità", stai ancora lavorando con tabelle stupide mediate da un middleware capriccioso.
  4. Il software è difettoso, i messaggi di errore fuorvianti e la documentazione incompleta. La risoluzione dei problemi è quasi sempre tentativi ed errori. Abituati.
  5. La gestione dei dati geospaziali utilizzando metodi di database relazionali è quasi impossibile. Ho praticamente dovuto abbandonare qualsiasi SQL / DDL perché mi mettono nei guai con il middleware (sì, sto parlando di ArcSDE). È un peccato buttare via un'intera skillset. Basta aprire ArcCatalog, puntare, fare clic.

Come puoi dire, ho una visione piuttosto negativa della scena di sviluppo dell'ESRI. Per coloro che provengono da un background geografico, sono sicuro che le possibilità sono piuttosto eccitanti. Ma per uno come me che ama i database relazionali, la programmazione orientata agli oggetti e le opportunità aperte per soluzioni creative, lo sviluppo GIS con ESRI è molto vincolante e insoddisfacente. È un peccato perché la folla della vecchia scuola mi dice che era un ambiente superiore, prima dell'allineamento con Microsoft. Spero sinceramente che la comunità open source continui a innovare.


4
Sono uno statistico e ho lamentele molto simili sui prodotti ESRI. La mia teoria eccessivamente ottimista è che, poiché probabilmente i computer erano stati applicati alle statistiche prima di GIS, il software GIS è indietro di circa dieci anni rispetto al software statistico (nella sua fase SAS / SPSS) e che un programma o stack open source davvero eccezionale è sull'orlo di scoppiare. Forse lo è già - sono anni che ho la possibilità di giocare con programmi non ESRI.
Matt Parker,

2
Mi limiterò a scuotere virtualmente il pugno a Redlands con il resto di voi e passerò un aneddoto illustrativo: praticamente qualsiasi chiamata API nelle API raster di Spatial Analyst (al momento) fallirebbe con un generico COM "Errore non specificato "se qualcosa è andato storto. Nel disperato tentativo di risoluzione dei problemi, ho finito per collegare Strace ad ArcGIS.exe e, seppellito nelle chiamate di sistema , ho scoperto (rullo di tamburi) che messaggi di errore utili e dettagliati degli anni '80 venivano scritti nell'equivalente Windows di / dev / null.
Dan S.

13

Grandi quantità di dati. Essere in grado di capire il modo giusto per estrarre grandi quantità di dati utilizzando la tecnologia web è stata una sfida. Possiamo avere molti dati e scarse prestazioni oppure visualizzare molti meno dati, ma potenzialmente trasmettere informazioni errate.


10

Non sono uno sviluppatore GIS; tuttavia, sono un modellatore GIS:

sfide:

  • Raccolta, aggregazione, disaggregazione, fusione e suddivisione dei dati : ottengo dati da varie fonti per diversi progetti; il problema più grande è di solito ottenere tutti i dati per lo stesso pacco / area geografica. Di solito devo usare alcune delle tecniche sopra menzionate su ogni set di dati, per avere un campione coerente per il progetto. Ciò aumenta le probabilità di errore e diluisce la nostra precisione.

  • Non sono uno sviluppatore; Ripeto che non sono uno sviluppatore: quando voi adorabili parlate di SOAP, SHAMPOO, REST, GIS-T Indexes, ecc., Questo significa molto per voi. Per me soprattutto è un gergo. Di solito ho una grande curva di apprendimento o una ripida salita per fare alcune delle cose semplici.

  • Il divario tra FOSS e software proprietario: amo QGIS e postgis a morte; letteralmente li ho installati su ogni macchina; tuttavia, quando voglio fare un'analisi basata sui trasporti, devo ricorrere a TransCAD o EMME2 / 3. Ognuno costa circa $ 15.000 con tutte le campane e fischietti. In tutta onestà, tutti questi problemi potrebbero essere risolti se esistesse un pacchetto networkx per i file shp.

  • Problema di più discipline: sono esperto di tecniche di modellazione dei trasporti; tuttavia faccio schifo alla modellazione demografica e, per quanto ne so, devo usare sofisticati strumenti R per ottenere i miei dati. Quindi il problema GIS è che il GIS è un campo multidisciplinare che è difficile sopravvivere da soli.

  • Mancanza di strumenti e software ben consolidati per passare dall'immaginario dell'uso del suolo all'utilizzo del territorio vettoriale: prevedo un futuro in cui uno strumento analizzerà l'immagine satellitare GEOEYE e confronterà l'uso del suolo in esso con un database vettoriale (come costruito)

  • A volte è più veloce fare cose in Excel / "il tuo programma di fogli di calcolo preferito va qui: a volte voglio fare analisi di transito, è molto più veloce prendere i dati metterli in Excel, fare funzionare le formule, quindi scaricare i dati indietro in Postgis come file CSV e rigenerare la mappa. Tale divisione, specialmente nel mondo OpenSource, dovrebbe essere gestita meglio.

Comunque potrei non averti risposto correttamente; Vorrei solo essere esperto nella programmazione GIS, quindi posso eccellere nella modellazione GIS


Networkx per shp esiste già FYI, ad esempio networkx.github.io/documentation/latest/reference/… Per vector + raster, vedi estensione raster PostGIS trac.osgeo.org/postgis/wiki/WKTRaster
ThomasG77

Il problema principale di +1 è rappresentato da fonti di dati affidabili. Molti stati assumeranno stagisti universitari per lavori estivi per andare in giro a raccogliere coordinate per strade e cose, e di solito non vengono controllati o controllati errori (nemmeno campioni di esso), e il risultato è che ora hai il New Jersey DOT che dice che un la strada è più corta di 500 piedi rispetto a Google e OSM dice che lo è. Goddamit.
Niente di necessario il

8

Le cose più importanti, e di solito la più difficile della mia esperienza, sono:

  1. ottenere i dati giusti per il lavoro
  2. farlo mostrare nella proiezione corretta (e avere tutti gli strati d'accordo). Soprattutto quando provengono da fonti diverse
  3. progettare un'applicazione utilizzabile. È facile e allettante mettere un sacco di campane e fischietti che confondono solo gli utenti

Penso che il punto 1 sarà più facile nei paesi sviluppati, ma non è la mia esperienza.


6

Per me, la sfida più grande è decidere quali strumenti utilizzare per un determinato progetto. Open source o proprietario? Python o .NET? Basato sul Web o desktop? Rispondo a queste domande in modo diverso per diversi progetti e sono sicuro che le persone li chiederanno a tutti su questo sito. Gran parte di ciò dipende dalle preferenze personali e dal tentativo di divinare ciò che ESRI e Microsoft supporteranno in futuro.


Questa dovrebbe essere la cosa più grande per me.
Nathan W,

2
Questo è meno importante per me. Mentre è nel migliore interesse dello sviluppatore investire nel proprio futuro ed evitare "sprechi di lavoro", ritengo che i fini giustificino i mezzi e qualunque tecnologia faccia il lavoro è la scelta migliore. Avere un'idea chiara di ciò che è necessario consegnare è più importante di come ci si arriva.
mwalker,

5

Il mio problema riguarda il cavallo e l'acqua. In molti casi sviluppiamo e / o presentiamo soluzioni davvero valide per i nostri clienti, ma non importa quanto sia elegante la soluzione, è assolutamente inutile se nessuno impiegherà il tempo di utilizzarlo. In alcuni casi, siamo stati in grado di alleviarlo rendendo il nostro lavoro basato sull'utente (sondaggio per problemi, parlare di soluzioni prima dello sviluppo) ma in alcuni casi questo non è ancora sufficiente.


3

Penso che la sfida più difficile sia far capire al GIS la gestione e alcuni utenti non lo capiscono neanche. La percezione è che GIS riguarda la creazione di una mappa; che una mappa è il solo risultato di qualsiasi endevour GIS. Non posso dirti quanto sia frustrante trovarlo: il livello di ignoranza là fuori è enorme ed è detenuto dai decisori chiave.

Alla fine, però - essendo alcuni dei pionieri degli esperti e dei programmatori GIS - alla fine diventeremo dirigenti e poi potremo finalmente realizzare alcuni progetti GIS decenti!

L'altra cosa difficile come programmatore GIS: devi capire tante tecnologie diverse, Java, .Net, database, software ESRI o altri fornitori, ad esempio MapInfo, reti, sicurezza, tecnologia web, ecc. A volte è un lavoro quasi impossibile!


2

Trattare con persone provenienti da un contesto di rilevamento che non capisce le tecniche e le metodologie di sviluppo software professionale, ma poiché hanno imparato da soli come codificare avenue / VB, pensano che sia tutto ciò che c'è da fare.


2

# 3 dalla risposta di Vinko :

progettare un'applicazione utilizzabile. È facile e allettante mettere un sacco di campane e fischietti che confondono solo gli utenti.

Vorrei votare l'intera risposta, ma per il fatto che l'usabilità è solo il terzo elemento della sua lista e non credo che i primi due siano così impegnativi.

L'usabilità è dove si trovano la maggior parte dei miei problemi e dove passo la maggior parte del tempo di progettazione / sviluppo, per capire come progettare un'interfaccia utente intelligente ed efficace, ma mantenerla intuitiva in modo che gli utenti non ne siano confusi, ad esempio:

  • Come ottimizzare lo stile (e scegliere i livelli) di una mappa interattiva per mostrare le informazioni pertinenti ed evitare il disordine che spesso deriva dalla visualizzazione di troppi dati (ad esempio utilizzando l'aggregazione automatica delle caratteristiche dei punti); So che questo è ciò che la cartografia ha cercato di risolvere per secoli, ma il problema peggiora solo con le mappe digitali / interattive

  • Come eseguire il posizionamento automatico della vista della mappa in base alla query / alla selezione delle funzioni dell'utente

  • Evidenziando le funzionalità 'selezionate' - mostri il momento saliente solo brevemente, lo fai evidenziare per tutto il tempo in cui una funzione è selezionata, non evidenzi quando la tabella di selezione (o elenco) perde lo stato attivo ... Come evidenziare entrambe le query risultati da una tabella e dalla riga selezionata all'interno di quella tabella (senza avere troppi pulsanti di attivazione / disattivazione)

  • Mostrare informazioni aggiuntive in elenchi di livelli o caratteristiche, ad es. Visibilità di un livello / stile applicato / tipo di geometria, stato / classe della caratteristica ... Ciò diventa ancora più complicato nel caso in cui uno abbia tipi di caratteristiche differenti visualizzati nello stesso elenco (suppongo sia per questo Google e Bing Maps utilizzano un filtraggio piuttosto pesante dei risultati della ricerca)

  • Modifica efficiente: snap, chiusura di poligoni, aggiunta / spostamento / eliminazione di punti, senza molti pulsanti della barra degli strumenti.

  • Come progettare (e implementare) un'interfaccia di query agevole per le query sulla geometria e, ancora più impegnativa, un'interfaccia per le query che includa sia attributi che geometria; senza fare in modo che l'utente digiti qualcosa di simile a SQL.

  • Come progettare qualcosa di simile ad un blocco appunti per caratteristiche / geometrie per evitare di dover continuamente 'selezionare' una caratteristica fuori dalla mappa per l'uso in query, modifiche ...

La mia sensazione è che il GIS sia un campo particolarmente impegnativo nell'aspetto dell'usabilità, perché:

  • La posizione è il contesto universale e di solito il più naturale per qualsiasi informazione, quindi ci sono sempre troppe informazioni disponibili per la visualizzazione

  • Avendo informazioni visualizzate su una mappa, si è facilmente tentati di sottovalutare l'importanza delle parti non GIS dell'interfaccia utente

  • L'industria ha tradizionalmente trascurato l'aspetto di usabilità del software GIS e se ne sono andati perché il mapping digitale era visto come un commercio tecnico con una curva di apprendimento lenta e c'erano concetti molto più difficili da imparare rispetto a come utilizzare l'interfaccia. Ciò significa che chiunque tenti di progettare un'interfaccia GIS per i non esperti deve inventare i propri principi che sono destinati a confondere (un bell'esempio potrebbe essere "Le mie mappe" di Google o "Le mie posizioni" di Bing Maps)


2

Una delle maggiori sfide allo sviluppo GIS basato sul Web è il modo in cui i dati vengono consegnati e quanta efficienza posso ottenere dalla consegna dei dati in un certo modo. Il più grande ostacolo è che è molto difficile scrivere codice per qualcosa che richiede una modifica da parte di un essere umano. Molto raramente vedi tecniche di generalizzazione per i dati vettoriali utilizzati su larga scala. La maggior parte delle volte devi modificare gli intervalli di scala per attivare e disattivare i livelli.


1

Questa domanda è emersa durante la mia ricerca su Google per le sfide nel GIS e ho voglia di contribuire qui.

Un altro collegamento che mi è sembrato rilevante era questo documento.

Riassumendo ciò che viene detto lì e le mie opinioni, penso che le maggiori sfide (in nessun ordine particolare siano):

  • Interfaccia utente: con l'host di opzioni dell'interfaccia utente, è difficile per lo sviluppatore ottimizzare l'offerta in modo da adattarsi a tutti i dispositivi. Touch based vs desktop vs indossabile. L'idea di DE presentata da Gore, che presenta un auricolare indossabile con display, guanti con controllo della direzione e riconoscimento vocale, è un futuro fantastico.
  • Standardizzazione: con gli standard per l'archiviazione e il recupero dei dati, potremmo avere geo-database che si basano sul cloud e consentire il recupero delle informazioni in fuga in modo che una navigazione e un utilizzo GIS possano essere agevoli.
  • Utilizzo dei dati: i decisori sono sempre premuti per il tempo. Se uno strumento li aiuta, dovrebbe farlo in modo fluido, facile e veloce. Il GIS sembra non essersi pronunciato su questo fronte e questo è uno dei motivi per cui non è ancora una parola d'ordine.
  • Dati: i dati sono vari, sparsi e rumorosi. Anche per le organizzazioni con chiari incentivi su un GIS in tempo reale, l'aggregazione dei dati è un ostacolo ancora troppo grande per prevedere l'ingresso.
  • Sforzo coordinato: GIS è multidisciplinare. Ogni bambino lo sa. Il management ne è consapevole nella prima diapositiva. Sebbene tali progetti multidisciplinari e multidisciplinari siano rari.

0

Quando si tratta di programmazione, sento di perdere troppo tempo per risolvere il problema. Per le proiezioni mi ci sono voluti un paio di mesi per capire i processi e la matematica in quanto a mio avviso c'è poco materiale pubblicato utile sull'argomento. I documenti EPSG e OGC sull'argomento mi hanno aiutato a risolverlo dopo alcune letture, anche se a volte sembrano copie l'una dell'altra. Il problema più grande che ho come sviluppatore indipendente è che non posso fare a meno di inciampare su persone che necessitano di lavoro specializzato per lo sviluppo di applicazioni web mediche, industriali o persino semplici, anche ora. Con l'industria GIS sembra quasi impossibile trovare un modo per entrare nel mercato.


0

Sono un principiante assoluto nelle tecnologie GIS, capendo le cose mentre vado. E poiché ho fondi limitati, sto cercando di evitare di utilizzare qualsiasi prodotto ESRI e di fare le cose interamente con strumenti open source.

Detto questo, le cose più difficili per me finora sono state tutte legate alla raccolta di dati. Ci sono molti articoli su come manipolare e visualizzare i dati e molti strumenti per semplificarti la vita. Ma sto camminando nel buio quando si tratta di raccogliere dati.

Non ho idea di cosa facciano i professionisti per trovare e raccogliere dati. Qualcosa mi dice che esiste un modo più semplice per ottenere dati rispetto a data.gov e google.


La maggior parte abbiamo dovuto acquistarlo da venditori, che effettuano sondaggi reali sul terreno e la conversione da altre fonti. Nel terzo mondo, ottenere dati apertamente dal governo è una
PITA

-1

Potresti essere sfortunato essere costretto a lavorare con analisti GIS che sono stati convertiti in sviluppatori di software.

È facile aspettarsi che uno sviluppatore di software competente raccolga i concetti GIS e li lasci passare attraverso l'API e generalmente capisca le cose senza molto aiuto. Lo stesso non vale per l'assunzione di un analista GIS e l'aspettarsi che prendano lo sviluppo del software.

I risultati sono imbarazzanti , nella migliore delle ipotesi. Se hai esperienza di lavoro con sviluppatori cattivi , immagina che sia un codice peggiore di qualsiasi cosa il programmatore peggiore abbia sviluppato.

Ci sono alcune aziende per cui potresti lavorare che non lo capiscono.


2
@emptyset: sono un geografo che è diventato uno sviluppatore. Non credo che i miei risultati siano "imbarazzanti" al massimo. Ho molte più capacità di sviluppo rispetto ad altri colleghi che hanno un background IT - compresa una migliore comprensione e UTILIZZO dei concetti di OOP, concetti e regole del database, ecc. Naturalmente, non sono d'accordo con la tua risposta: P
George Silva,

1
@George: E non sto dicendo che avevi detto diversamente, solo sottolineando che per essere un grande sviluppatore devi sapere quanto fai schifo. Almeno ci provo.
Vinko Vrsalovic,

2
+1 In numerose occasioni mi è stato chiesto di "correggere i bug" in una Big Ball of Mud en.wikipedia.org/wiki/Big_ball_of_mud scritto da uno o più analisti. Alcuni dei peggiori codici sono stati scritti da alcuni degli analisti più intelligenti. Spesso quelli intelligenti non riescono ad apprezzare la bellezza della semplicità. Spesso la colpa è della gestione: l'analista può rendersi conto del valore del refactoring, ma non può giustificare passare il tempo a cambiare codice che non è rotto.
Kirk Kuykendall,

3
Per il corollario, potresti essere abbastanza sfortunato da lavorare con gli sviluppatori di software costretti a lavorare come professionisti GIS. Sono molto diffidente nei confronti di chiunque, di qualsiasi settore, stia solo cercando di capire le cose mentre vanno in GIS. Sono un analista che esplora lo sviluppo e mi aspetto pienamente - e voglio - che le persone siano diffidenti nei confronti del mio codice. Qualsiasi sviluppatore che si sente bene nel GIS, probabilmente non lo è. :-)
matt wilkie,

3
-1 - affermazione molto ampia che è dimostratamente falsa e in qualche modo offensiva. Come Matt W implica in precedenza, in genere è meglio avere una persona GIS che arriva alla programmazione piuttosto che il contrario, perché ci sono così tante risorse in più per aiutarti a imparare la codifica e implementare le migliori pratiche di quante ce ne siano in GIS
dmbrubac

-1

il mondo GIS si sta espandendo verso l'utente comune, tranne nei primi anni in cui il GIS è stato trattato solo da ingegneri, architetti o comunità scientifica. Nel caso in cui l'app GIS venga eseguita per l'utente comune, la sfida è un mix appropriato di tecnologie in cui il GIS viene trattato come una tecnologia in più (in questo caso è sufficiente uno sviluppatore con una scarsa conoscenza della tecnologia GIS). Tuttavia, nel caso in cui l'app venga eseguita per la comunità specializzata, la sfida è più complessa poiché oltre a unire le tecnologie è necessario cercare gli algoritmi esistenti per soddisfare i requisiti, altrimenti, peggio ancora, dovremmo sviluppare questi algoritmi. In questo caso, il lavoratore deve adottare una miscela di ingegnere e sviluppatore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.