API에 따르면 Google Maps API와 같은 HTTP POST / GET 유형을 통해 데이터에 대한 일종의 네트워크 액세스를 의미한다고 가정합니다. 래스터 또는 벡터 데이터입니까? 이 토론의 목적을 위해 벡터를 가정하겠습니다. 이것은 실제로 응용 프로그래밍 인터페이스가 아닌 통신 프로토콜입니다.
API 자체가 아니라 표준 프로토콜이 많기 때문에 처음부터 아무것도 디자인 할 필요가 없습니다. API가 아닌 경우 API를 호출하는 것에 대한 약간의 버그가 있지만, 나는 당신을 지치지 않을 것입니다! ). 읽기 전용 벡터 데이터를 클라이언트에 제공하려는 경우 데이터베이스 앞에 있는 WFS 서버 만 있으면됩니다. 내가 사용했습니다 GeoServer를 과거에,하지만 난의 lightweigtness 선호 TinyOWS을 . 둘 다 동일한 작업을 수행합니다. 파생 데이터의 데이터베이스에 액세스하도록 구성하고 웹 서버의 일부로 실행되도록 설정합니다 ( Apache 는 일반적이지만 lighttpd를 선호합니다)), 거기에 있습니다. QGIS는 WFS 서버에서 데이터를로드 할 수 있으며 Arc도 마찬가지입니다. OpenLayers에는 브라우저 기반 솔루션을위한 WFS 렌더링 기능이 있습니다. 하위 수준에서 GDAL을 사용하여 WFS에서 OGR이 지원하는 모든 벡터 형식으로 데이터를 변환 할 수 있습니다.
편집 기능을 원하는 경우 GeoServer와 TinyOWS는 모두 WFS-T를 지원하므로 사용자는 분석 내용을 서버에 다시 업로드 할 수 있습니다.
자신 만의 API를 만들면 엄청나게 전문적이지 않고 성능과 같은 특정 요구 사항이없는 한 이러한 표준을 처음부터 적용하려는 목적을 실제로 무시할 수 있습니다. 합당한 양의 자원없이이 길을가는 것은 어려운 일이 아닙니다.