GIS 개발자로서 가장 큰 어려움은 무엇입니까?


23

GIS 소프트웨어를 개발할 때 가장 큰 어려움은 무엇입니까?

코딩입니까? 지도 제작 / 지리 / 기타 개념 (예 : 투영)을 이해하고 있습니까? 아니면 다른 어려움?


나는이 토론을 좋아한다. 나는 오래된 실을 알고 있지만 정보는 금입니다. Esri에서 개발자 제품의 제품 관리자로 일하고 있습니다. ArcGIS Runtime SDK (Java, Android, Qt) 및 ArcObjects SDK for Java를 살펴 봅니다. 우선, 고통에 공감할 수 있습니다. 둘째, 웹 API와 ArcGIS Runtime API가 플랫폼 사용의 어려움을 완화시키는 데 도움이되었는지 또는 일반적으로 들리는 지 듣고 싶습니다. 많은 양의 데이터를 처리하는 것이 여전히 어려울 것으로 예상됩니다. 5 년 후에는 조금 나아지고 있습니까? 온라인과 포털의 서비스가 더욱 강력 해지고 있습니다. t

에릭 안녕하세요, GIS.SE에 오신 것을 환영합니다. 커뮤니티에 참여하는 소프트웨어 회사 직원을 항상 만나보십시오. 우리는 여기서 토론 포럼이 적고 더 구체적인 Q & A입니다. 둘러보기를 원할 수도 있습니다 . 우리는해야합니까 채팅 이 많이 사용되지 않고 있지만, 대화를합니다. 태그 시스템을 살펴볼 수도 있습니다. 이를 사용하여 언급 한 API 및 SDK와 같은 특정 주제에 대한 최근 질문 활동에 대해 자세히 알아볼 수 있습니다.
Chris W

마찬가지로 GIS SE Eric에 오신 것을 환영합니다! 사이트를 좀 더 살펴보면 Stack Exchange의 모든 내용과 토론 포럼에서 초점을 맞춘 Q & A 형식이 어떻게 다른지 신속하게 알 수 있기를 바랍니다. ArcGIS 토론 포럼이 가장 최근에 개편되기를 바랐습니다. 그러나이 초기 Q & A에 대한 가치를 평가하지 마십시오. 인기가 많음에도 불구하고 사용자가 여기에 답변을 찾는 방법에 대한 훌륭한 예가 아니며 몇 분 안에 동일한 질문을 식별하고 답변을 읽지 않아도됩니다. 앞뒤 토론을 소화합니다.
PolyGeo

답변:


22

거의 5 년 전에 ESRI / GIS 개발 현장에 빠진 개발자로서의 경험에서 말하면 :

  1. 원하는 작업을 수행하는 단일 API가 없습니다. ArcObjects, Python, REST, SOAP, ADF, ST_Geometry 연산자와 같이 목적에 맞지 않거나 작동하지 않을 수있는 API 혼란?
  2. 모든 API는 응용 프로그램의 핵심에 배치하지 않는 고르지 않은 고가의 소프트웨어와 연결되어 있습니다.
  3. 독창적 인 디자인을위한 적은 기회. 객체 지향 지리 공간 데이터 구조? 잊어 버려. "객체"와 "기능 클래스"에 대한 모든 이야기에도 불구하고 여전히 변덕스러운 미들웨어가 중재하는 멍청한 테이블로 작업하고 있습니다.
  4. 소프트웨어에 버그가 있거나 오류 메시지가 잘못 표시되고 설명서가 불완전합니다. 문제 해결은 거의 항상 시행 착오입니다. 그것에 익숙해.
  5. 관계형 데이터베이스 방법을 사용하여 지리 공간 데이터를 관리하는 것은 거의 불가능합니다. 미들웨어에 문제가 발생하기 때문에 SQL / DDL을 거의 포기해야했습니다 (예, ArcSDE에 대해 이야기하고 있습니다). 전체 스킬 셋을 버리는 것은 부끄러운 일입니다. ArcCatalog를 열고 가리킨 다음 클릭하십시오.

당신이 말할 수 있듯이 ESRI 개발 현장에 대한 부정적인 전망이 있습니다. 지리학 적 배경을 가진 사람들에게는 가능성이 매우 흥미로울 것입니다. 그러나 관계형 데이터베이스, 객체 지향 프로그래밍 및 창의적인 솔루션에 대한 폭 넓은 기회를 좋아하는 나와 같은 누군가에게 ESRI를 사용한 GIS 개발은 매우 제한적이고 충족되지 않습니다. 구식 관중들이 마이크로 소프트와의 제휴 이전에 그것이 우월한 환경이었다고 말했기 때문에 이것은 부끄러운 일입니다. 오픈 소스 커뮤니티가 계속 혁신하기를 진심으로 바랍니다.


4
저는 통계 학자이며 ESRI 제품에 대해 매우 비슷한 불만이 있습니다. 지나치게 낙관적 인 이론은 컴퓨터가 GIS 이전의 통계에 적용되었을 수 있기 때문에 GIS 소프트웨어는 통계 소프트웨어 (SAS / SPSS 단계에서)보다 약 10 년 뒤떨어져 있으며 진정한 뛰어난 오픈 소스 프로그램 또는 스택이 곧 탈주. 어쩌면 이미 그랬을 수도 있습니다. ESRI 이외의 프로그램으로 게임을 할 기회를 얻은 지 몇 년이 지났습니다.
매트 파커

2
Redlands에서 주먹을 떨고 나머지 예시와 함께 설명을 들려 줄 것입니다. Spatial Analyst의 래스터 API에 대한 API 호출은 일반적인 COM "지정되지 않은 오류로 실패합니다. "문제가 발생한 경우. 문제 해결에 필사적으로 strace 를 ArcGIS.exe에 연결 하고 시스템 호출에 묻혀 도움이되고 자세한 1980 년대 시대 오류 메시지가 / dev / null에 해당하는 창에 기록되고 있음을 발견했습니다 (드럼 롤).
Dan S.

13

많은 양의 데이터. 웹 기술을 사용하여 많은 양의 데이터를 추출 할 수있는 올바른 방법을 찾아내는 것은 어려운 일이었습니다. 데이터가 많거나 성능이 좋지 않거나 표시되는 데이터가 훨씬 적지 만 잘못된 정보를 전달할 수 있습니다.


10

저는 GIS 개발자가 아닙니다. 그러나 저는 GIS 모델러입니다.

도전 과제 :

  • 데이터 수집, 집계, 분리, 병합 및 분할 : 다양한 프로젝트의 다양한 소스에서 데이터를 얻습니다. 가장 큰 문제는 일반적으로 동일한 지리적 구획 / 지역에 대한 모든 데이터를 얻는 것입니다. 프로젝트에 대해 일관된 샘플을 얻으려면 일반적으로 모든 데이터 세트에 대해 위에서 언급 한 기술 중 일부를 사용해야합니다. 이것은 오류 가능성을 높이고 정밀도를 희석시킵니다.

  • 나는 개발자가 아니다. 나는 개발자가 아니라는 것을 반복한다. 사랑스러운 사람들이 SOAP, SHAMPOO, REST, GIS-T Indexs 등에 대해 이야기 할 때 이것은 많은 의미가있다. 나에게는 대부분 전문 용어입니다. 나는 보통 간단한 일을하기 위해 큰 학습 곡선이나 가파른 등반을합니다.

  • FOSS와 독점 소프트웨어의 차이 : QGIS와 postgis를 죽이는 것을 좋아합니다. 말 그대로 나는 모든 컴퓨터에 설치되어 있습니다. 그러나 운송 기반 분석을 수행하려면 TransCAD 또는 EMME2 / 3를 사용해야합니다. 모든 종과 휘파람으로 약 15,000 달러가 든다. 모든 공정성에서 shp 파일 용 networkx 패키지가 있으면 이러한 모든 문제를 해결할 수 있습니다.

  • 여러 분야 문제 : 운송 모델링 기술에 정통합니다. 그러나 인구 통계 학적 모델링에 빠지고, 내가 알 수있는 한, 정교한 R 도구를 사용하여 데이터를 완성해야합니다. 따라서 GIS 문제는 GIS가 혼자서 생존하기 어려운 종합 분야라는 것입니다.

  • 이미지 토지 사용에서 벡터 토지 사용으로 이동하는 잘 확립 된 도구 및 소프트웨어 부족 : 툴이 GEOEYE 위성 이미지를 분석하고 그 토지 이용을 벡터 (내장) 데이터베이스와 비교할 미래를 예측합니다.

  • 때로는 Excel에서 일을하는 것이 더 빠릅니다 / "좋아하는 스프레드 시트 프로그램이 여기 에옵니다 . 때로는 운송 분석을하고 싶습니다. 데이터를 Excel에 넣은 다음 수식을 사용하여 데이터를 다시 덤프하는 것이 훨씬 빠릅니다. csv 파일로 postgis에 맵을 재생성 할 수 있습니다.

어쨌든 내가 당신에게 올바르게 대답하지 않았을 수도 있습니다. 나는 단지 GIS 프로그래밍에 대해 잘 알고 있기 때문에 GIS 모델링에서 뛰어날 수 있기를 바랍니다.


SHP에 대한 Networkx은 이미 참고로 존재 예를 들어 networkx.github.io/documentation/latest/reference/... 벡터 + 래스터를 들어, PostGIS와 래스터 확장 참조 trac.osgeo.org/postgis/wiki/WKTRaster
ThomasG77

+1 가장 큰 문제는 신뢰할 수있는 데이터 소스입니다. 많은 주들이 도로와 물건에 대한 좌표를 수집하기 위해 여름 일자리를 위해 대학 인턴을 고용 할 것입니다. 일반적으로 오류가 있거나 전혀 검사하지 않습니다 (샘플조차도 아님). 도로는 Google보다 500 피트가 짧으며 OSM은 말합니다. Goddamit.
아무것도 불필요

8

가장 중요한 것, 그리고 일반적으로 내 경험에서 가장 어려운 것은 :

  1. 직업에 맞는 데이터를 얻다
  2. 적절한 프로젝션에 표시되도록하십시오 (그리고 모든 레이어가 동의하도록하십시오). 특히 다른 소스에서 온 경우
  3. 사용 가능한 응용 프로그램을 설계하십시오. 사용자를 혼란스럽게 할 많은 종과 휘파람을 넣는 것은 쉽고 유혹적입니다.

선진국에서는 포인트 1이 더 쉬울 것이라고 생각하지만 그것은 내 경험이 아닙니다.


6

나에게 가장 큰 과제는 주어진 프로젝트에 사용할 도구를 결정하는 것입니다. 오픈 소스 또는 독점? 파이썬이나 .NET? 웹 기반 또는 데스크탑? 프로젝트마다 다른 질문에 답을하고이 사이트에서 사람들이 모든 질문을 할 것이라고 확신합니다. ESRI와 Microsoft가 앞으로 지원할 내용을 개인적으로 선호하고 신성하게 만들려고 노력합니다.


이것은 나를 위해 가장 큰 것이어야합니다.
Nathan W

2
이것은 나에게 덜 중요합니다. 자신의 미래에 투자하고 "폐기 된 작업"을 피하는 것이 개발자에게 최선의 이익이되지만, 목적이 수단을 정당화하고 어떤 기술이 그 작업을 수행하는 것이 최선의 선택이라고 생각합니다. 제공해야 할 것에 대한 명확한 아이디어를 얻는 것이 당신이가는 방법보다 중요합니다.
mwalker

5

내 문제는 말과 물에 관한 것입니다. 많은 경우에 우리는 고객을 위해 정말 좋은 솔루션을 개발하고 제시하지만 솔루션이 아무리 우아하더라도 아무도 사용하는 데 시간이 걸리지 않으면 절대 쓸모가 없습니다. 경우에 따라 업무용 사용자 기반 (문제를 조사하고 개발 전에 솔루션에 대해 이야기)을 기반으로하여이를 완화 할 수 있었지만 여전히 충분하지 않은 경우도 있습니다.


3

가장 어려운 과제는 경영진이 GIS를 이해하도록하는 것이며 일부 사용자는이를 얻지 못합니다. 인식은 GIS가지도를 만드는 것에 관한 것입니다. 지도는 모든 GIS 노력의 유일한 결과라는 것입니다. 나는 이것을 얼마나 실망스럽게 생각하는지 말할 수 없다-거기에있는 무지의 수준은 엄청나고, 그것은 주요 의사 결정자들에 의해 유지된다.

결국 우리는 선구적인 GIS 전문가 및 프로그래머 중 한 사람이되어 결국에는 경영진이되고 마침내 GIS 프로젝트를 완성 할 수 있습니다!

GIS 프로그래머로서의 또 다른 어려운 점은 Java, .Net, 데이터베이스, ESRI 소프트웨어 또는 기타 벤더 (예 : MapInfo, 네트워크, 보안, 웹 기술 등)를 이해해야합니다. 때로는 거의 불가능한 일입니다!


2

전문 소프트웨어 개발 기술과 방법론을 이해하지 못하는 측량 분야의 사람들을 상대하지만, 애비뉴 / VB를 코딩하는 방법을 스스로 가르쳤 기 때문에 그게 전부라고 생각하십시오.


2

Vinko의 답변 # 3 :

사용 가능한 응용 프로그램을 설계하십시오. 사용자를 혼란스럽게 할 많은 종과 휘파람을 넣는 것은 쉽고 유혹적입니다.

나는 전체 답변에 투표하지만 유용성은 그의 목록에서 세 번째 항목 일 뿐이며 처음 두 가지는 그렇게 도전적이라고 생각하지 않습니다.

유용성은 대부분의 문제가 있고 지능적이고 효과적인 사용자 인터페이스를 디자인하는 방법을 알아내는 데 대부분의 디자인 / 개발 시간을 보내는 곳이지만 사용자가 혼동하지 않도록 직관적으로 유지하십시오.

  • 대화 형지도의 스타일을 조정하고 레이어를 선택하여 관련 정보를 표시하고 너무 많은 데이터를 표시 할 때 종종 발생하는 혼란을 피하는 방법 (예 : 자동 포인트 기능 집계) 나는 이것이지도 제작이 오랜 세월 동안 해결하려고 시도한 것을 알고 있지만 문제는 디지털 / 대화 형지도에서만 악화됩니다.

  • 사용자의 쿼리 / 기능 선택을 기반으로 맵보기를 자동으로 배치하는 방법

  • '선택된'기능 강조 표시-강조 표시를 간략하게 표시하고, 기능을 선택할 때마다 강조 표시했거나, 선택 테이블 (또는 목록)이 초점을 잃을 때 강조 표시를 해제합니까 ... 모든 쿼리를 강조 표시하는 방법 토글 버튼이 너무 많지 않고 테이블 및 해당 테이블 내에서 선택된 행의 결과

  • 레이어의 가시성 / 적용된 스타일 / 지오메트리 유형, 피처의 상태 / 클래스 등 레이어 또는 피처 목록에 추가 정보 표시 ... 같은 목록에 다른 피처 유형이 표시되는 경우에는 더욱 복잡해집니다 (그 이유가 이유입니다 Google 및 Bing Maps는 검색 결과를 상당히 많이 필터링합니다.)

  • 효율적인 편집 : 도구 모음 버튼이 많지 않고 다각형 스냅, 닫기, 점 추가 / 이동 / 삭제.

  • 지오메트리 쿼리를 위해 사용자가 자주 사용하는 쿼리 인터페이스를 설계 (및 구현)하는 방법 및 속성과 지오메트리를 모두 포함하는 쿼리에 대한 인터페이스를 구현하는 방법; 사용자가 SQL과 비슷한 것을 입력하지 않고.

  • 쿼리, 편집에 사용하기 위해 맵에서 피처를 지속적으로 '선택'할 필요가 없도록 피처 / 형상을위한 클립 보드와 같은 것을 디자인하는 방법 ...

GIS는 유용성 측면에서 특히 까다로운 분야라는 느낌이 듭니다.

  • 위치는 모든 정보에 대해 보편적이며 일반적으로 가장 자연스러운 컨텍스트이므로 표시 할 정보가 항상 너무 많습니다

  • 정보가지도에 표시되면 사용자 인터페이스의 비 GIS 부분의 중요성을 과소 평가하려는 경향이 있습니다.

  • 업계에서는 전통적으로 GIS 소프트웨어의 유용성 측면을 무시해 왔으며 디지털 매핑이 느린 학습 곡선을 가진 기술적 인 거래로 여겨졌 고 인터페이스를 사용하는 방법보다 배우기가 훨씬 더 어려워서 소프트웨어를 사용하지 못했습니다. 이는 전문가가 아닌 사람을 위해 GIS 인터페이스를 디자인하려는 사람은 혼란 스러울 정도로 자신 만의 원칙을 고안해야한다는 것을 의미합니다 (예를 들어 Google의 '내지도'또는 Bing지도 ''내 장소 ')


2

웹 기반 GIS 개발의 가장 큰 과제 중 하나는 데이터를 제공하는 방법과 데이터를 특정 방식으로 제공하여 얻을 수있는 효율성입니다. 가장 큰 장애물은 사람이 조정할 필요가있는 코드를 작성하기가 매우 어렵다는 것입니다. 대규모로 사용되는 벡터 데이터에 대한 일반화 기술은 거의 볼 수 없습니다. 대부분의 경우 레이어를 켜거나 끄려면 스케일 범위를 조정해야합니다.


1

이 질문은 Google 검색에서 GIS의 과제를 찾아 냈으며 여기에 기여하고 싶습니다.

내가 관련 있다고 생각한 또 다른 링크는이 논문이었습니다.

거기에 언급 된 내용과 본인의 견해를 요약하면 가장 큰 과제는 다음과 같습니다 (특별한 순서는 아님).

  • 사용자 인터페이스 : 다양한 사용자 인터페이스 옵션으로 인해 개발자는 모든 장치에 맞게 제품을 최적화하기가 어렵습니다. 터치 기반 대 데스크톱 대 웨어러블. Gore가 제시 한 DE의 아이디어는 디스플레이가있는 웨어러블 헤드셋, 방향 제어 및 음성 인식 기능이있는 장갑이 특징입니다.
  • 표준화 : 데이터 저장 및 검색 표준을 통해 클라우드에 상주하는 지리 데이터베이스를 보유하고 실행 중에 정보를 가져 와서 GIS 탐색 및 사용을 원활하게 할 수 있습니다.
  • 데이터 사용 : 의사 결정자들은 항상 시간을 낭비해야합니다. 도구가 도움이된다면 부드럽고 쉽고 빠른 방법으로해야합니다. GIS는 이런면에서 전달되지 않은 것으로 보이며 이것이 여전히 유행어가 아닌 이유 중 하나입니다.
  • 데이터 : 데이터가 다양하고 흩어져 있으며 시끄 럽습니다. 실시간 GIS에 대한 명확한 인센티브를 보유한 조직의 경우에도 데이터 집계는 여전히 큰 어려움을 겪고 있습니다.
  • 조정 된 노력 : GIS는 다 분야입니다. 모든 아이들은 그것을 알고 있습니다. 관리는 첫 번째 슬라이드에서이를 인식합니다. 이러한 여러 분야의 여러 부서 프로젝트는 드물다.

0

코딩과 관련하여 해결 방법에 너무 많은 시간을 낭비한다고 생각합니다. 프로젝션을 위해 프로세스와 수학을 이해하는 데 2 ​​개월이 걸렸습니다. 주제에 대한 EPSG 및 OGC 문서는 때때로 서로의 사본 인 것처럼 보이지만 몇 번 읽은 후에 머리 주위를 둘러 보는 데 도움이되었습니다. 내가 독립적 인 개발자로서 가지고있는 가장 큰 문제는 지금도 의료, 산업 또는 단순한 웹 앱 개발을위한 전문 작업이 필요한 사람들을 도와 줄 수 없다는 것입니다. GIS 산업에서는 시장에 진입하는 방법을 찾는 것이 거의 불가능 해 보입니다.


0

나는 GIS 기술의 완전한 초보자이며, 내가 갈 때 상황을 알아냅니다. 자금이 제한되어 있으므로 ESRI 제품을 사용하지 말고 오픈 소스 도구를 사용하여 모든 작업을 수행하려고합니다.

따라서 지금까지 가장 어려운 것은 데이터 수집과 관련이 있습니다. 데이터 조작 및 표시에 관한 많은 기사와 삶을 편하게 만드는 많은 도구가 있습니다. 그러나 데이터 수집과 관련하여 어둠 속에서 걷고 있습니다.

나는 전문가들이 데이터를 찾고 수집하기 위해 무엇을하는지 전혀 모른다. data.gov 및 google보다 데이터를 얻는 쉬운 방법이 있다고 말해줍니다.


대부분 우리는 실제 지상 조사와 다른 소스에서 전환을 수행하는 공급 업체로부터 구매해야했습니다. 제 3 세계에서, 정부에서 공개적으로 데이터를 가져 오는 것은 피타입니다
Devdatta Tengshe

-1

소프트웨어 개발자로 전환 된 GIS 분석가와 함께 작업해야한다는 것은 불행한 일입니다.

유능한 소프트웨어 개발자가 GIS 개념을 선택하고 API를 통해 많은 도움을받지 않고 상황을 파악할 수 있기를 기대하기 쉽습니다. GIS 분석가가 소프트웨어 개발을 선택할 것으로 기대하는 것도 마찬가지입니다.

결과는 기껏해야 창피하다 . 나쁜 개발자 와 함께 일한 경험이 있다면 최악의 프로그래머가 개발 한 것보다 더 나쁜 코드라고 상상해보십시오.

그것을 얻지 못하는 회사가 있습니다.


2
@emptyset : 저는 개발자가 된 지리학자입니다. 내 결과가 "당황스럽지 않다"고 생각합니다. 나는 OOP 개념, 데이터베이스 개념 및 규칙 등에 대한 더 나은 이해와 사용을 포함하여 IT 배경을 가진 다른 동료들보다 훨씬 많은 개발 기술을 가지고 있습니다. 물론, 나는 당신의 대답에 동의하지 않습니다 : P
George Silva

1
@ 조지 : 그리고 나는 당신이 달리 말한 것이 아니라, 훌륭한 개발자가되기 위해서는 당신이 얼마나 빨라야하는지 알아야합니다. 최소한 나는 노력한다.
Vinko Vrsalovic

2
+1 여러 차례에 걸쳐 한 명 이상의 분석가가 작성한 Big Ball of Mud en.wikipedia.org/wiki/Big_ball_of_mud 에서 "버그를 수정"하라는 요청을 받았습니다 . 최악의 코드 중 일부는 가장 똑똑한 분석가들에 의해 작성되었습니다. 똑똑한 사람들은 종종 단순함의 아름다움을 인식하지 못합니다. 종종 결함은 경영진에 달려 있습니다. 분석가는 리팩토링의 가치를 인식 할 수 있지만 고장 나지 않은 코드를 변경하는 데 시간을 소비 할 수는 없습니다.
Kirk Kuykendall

3
결과적으로 GIS 전문가로 일하도록 강요받는 소프트웨어 개발자들과 함께 일할 수있을만큼 불행 할 수 있습니다. 나는 어떤 분야에서든 GIS에 들어가는 것을 알아 차리고 매우 조심합니다. 나는 개발을 탐험 애널리스트 해요, 난 완전히 기대 -하고 싶어 - 사람들이 내 코드주의해야 할 수 있습니다. 그들이 GIS에서 잘하고 있다고 생각하는 개발자라면 아마 그렇지 않을 것입니다. :-)
matt wilkie

3
-1-아마도 허위이며 다소 모욕적 인 진술입니다. 매트 W 위에서 알 수 있듯이 GIS 거기에있는 것보다, 당신이 당신이 코딩을 배울 수 있도록 너무 많은 자원하고 모범 사례를 구현하기 때문에 다른 방법으로 주위보다 코딩에 오는 GIS 사람을 가지고 일반적으로 더 낫다
dmbrubac

-1

GIS가 엔지니어, 건축가 또는 과학계에 의해서만 처리 된 초기가 아닌 한 GIS 세계는 일반 사용자를 향해 확장되고 있습니다. 일반 사용자를 위해 GIS 앱을 수행하는 경우 GIS가 기술로 더 취급되는 기술에 적절하게 도전해야합니다 (이 경우 GIS 기술에 대한 지식이 거의없는 개발자이면 충분합니다). 그러나 응용 프로그램이 전문 커뮤니티를 위해 수행되는 경우 기존 알고리즘을 검색하기 위해 기존 알고리즘을 검색하는 데 필요한 기술 결합 외에 더 복잡한 문제가 제기됩니다. 이 경우 엔지니어와 개발자가 혼합 된 작업자가 승인됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.