APIとは、Google Maps APIなどのHTTP POST / GETタイプの問題を介した、データへのある種のネットワークアクセスを意味していると思いますか?ラスターデータですか、ベクターデータですか?この説明では、ベクターを想定します。これは、実際にはアプリケーションプログラミングインターフェイスではなく、単なる通信プロトコルです。
標準プロトコルがたくさんあるので、最初から何も設計する必要はありません(API自体ではなく、APIがない場合にAPIを呼び出すことには少しバグがありますが、退屈することはありません! )。読み取り専用のベクターデータをクライアントに提供するだけの場合は、データベースの前にあるWFSサーバーが必要です。私は過去にGeoServerを使用しましたが、TinyOWSの軽さを好みます。どちらも同じ仕事をします:派生データのデータベースにアクセスするように設定し、Webサーバーの一部として実行するように設定します(Apacheが一般的ですが、私はlighttpdを好みます)、そしてあなたはそれを持っています。QGISはWFSサーバーからデータをロードでき、Arcも同様にロードできます。OpenLayersには、ブラウザーベースのソリューション用のWFSレンダリング機能もあります。下位レベルでは、GDALを使用して、WFSからOGRがサポートする任意のベクトル形式にデータを変換できます。
編集機能が必要な場合は、GeoServerとTinyOWSの両方がWFS-Tをサポートしているため、ユーザーは分析をサーバーにアップロードできます。
独自のAPIを作成することは、非常に専門的で、パフォーマンスなどの特定の要件がない限り、そもそもこれらの標準を持つ目的を完全に覆します。適度な量のリソースなしにこのルートを進むことは、不可能ではありませんが、困難な作業です。