import HTTP from "../HTTP"; import { Dataset, Dataset3D, PointCloudDataset, Scene } from "./CloudApiModel"; import Resource from "../Resource"; import SceneLoader from "../SceneLoader"; import GeoJSON from "../GeoJSON"; /** * Mapray Cloudへアクセスするためのクラスです。 * * このクラスを利用するには事前にMapray Cloudアカウントを作成する必要があります。 * [https://cloud.mapray.com](https://cloud.mapray.com/) からサインアップすることができます。 * * 事前に下記の情報を調べておきます。 * * - User ID:
* Mapray Cloudの[ユーザー情報ページ](https://cloud.mapray.com/settings)から確認します。 * 右上メニューのAccountメニューからこのページを開くことができます。 * * - Token:
* Mapray Cloudの[Tokenページ](https://cloud.mapray.com/dashboard)でトークンを作成します。 * 上部のTokensタブからこのページを開くことができます。 * * - データセット等のID:
* Mapray Cloudへデータをアップロードし、そのデータを使用するには、[データセットページ](https://cloud.mapray.com/datasetslist) * からGeoJsonやglTFデータをアップロードしておき、アップロードしたデータのIDを確認します。 * * MaprayCloudバージョンごとに具象クラスが定義されています。 * 利用するバージョンのクラスを利用します。 * * | Version | Class | * |---------|-----------------| * | v1 | [mapray.cloud.CloudApiV1](mapray.cloud.CloudApiV1-1.html) | * | v2 | [mapray.cloud.CloudApiV2](mapray.cloud.CloudApiV2-1.html) | * * MaprayCloudへアクセスする関数は下記のように分類されます。 * * - `get***AsResource()`:
* Maprayの各種ローダは、Resourceクラスを受け取るようになっています。[[mapray.GeoJSONLoader]] * * - `load***()`:
* 適切なクラスのインスタンスを返却します。 * * - `get***()`:
* 最も低レベルのAPI呼び出しを行う。返却値はJSONです。 */ declare abstract class CloudApi { readonly version: string; readonly basePath: string; private _header_key; private _header_value; /** * @param version * @param basePath * @param header_key header key for cloud api * @param header_value header value for cloud api */ constructor(version: string, basePath: string | undefined, header_key: string, header_value: string); /** * データセットのリストを取得します。 * ページごとにデータセットリストを取得します。 * * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return データセットの配列 */ loadDatasets(page?: number, limit?: number): Promise; /** * 指定したIDのデータセットを取得します。 * @param datasetId データセットのID * @return データセット */ loadDataset(datasetId: string): Promise; /** * 3Dデータセットのリストを取得します。 * ページごとにデータセットリストを取得します。 * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return 3Dデータセットの配列 */ load3DDatasets(page?: number, limit?: number): Promise; /** * 指定したIDの3Dデータセットを取得します。 * @param datasetId * @return 3Dデータセット */ load3DDataset(datasetId: string): Promise; /** * 点群データセットのリストを取得します。 * ページごとにデータセットリストを取得します。 * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return 点群データセットの配列 */ loadPointCloudDatasets(page?: number, limit?: number): Promise; /** * 指定したIDの点群データセットを取得します。 * @param datasetId データセットID * @return 点群データセット */ loadPointCloudDataset(datasetId: string): Promise; /** * シーンのリストを取得します。 * ページごとにシーンリストを取得します。 * * *CloudApiV2でのみ対応しています。 * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return シーンの配列 */ loadScenes(page?: number, limit?: number): Promise; /** * 指定したIDのシーンを取得します。 * * *CloudApiV2でのみ対応しています。 * @param sceneId シーンのID * @return シーン */ loadScene(sceneId: string): Promise; /** * 指定したIDのデータセットをリソースとして取得します。 * @param datasetId データセットID * @return データセットのリソース */ getDatasetAsResource(datasetId: string): Resource; /** * 指定したIDの3Dデータセットのシーンファイルをリソースとして取得します。 * @param datasetId データセットIDのリスト * @return 3Dデータセットのリソース */ get3DDatasetAsResource(datasetIds: string[]): Resource; /** * 指定したIDの点群データセットの定義ファイルをリソースとして取得します。 * @param datasetId データセットID * @return 点群データのリソース */ getPointCloudDatasetAsResource(datasetId: string): Resource; /** * 指定したIDのシーンのシーンファイルをリソースとして取得します。 * * *CloudApiV2でのみ対応しています。 * @param sceneId シーンID * @return シーンのリソース */ getSceneAsResource(sceneId: string): Resource; /** * データセットリストを取得します * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return json[] */ abstract getDatasets(page: number, limit: number): Promise; /** * 登録されているデータセットの数を取得します * @returns json */ abstract countDatasets(): Promise; /** * get dataset * @param datasetId * @return json */ abstract getDataset(datasetId: string): Promise; /** * GeoJSONの内容を取得します。 * @param datasetId データセットID * @return json */ abstract getFeatures(datasetId: string): Promise; /** * 3Dデータセットのリストを取得します。 * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return json */ abstract get3DDatasets(page: number, limit: number): Promise; /** * 登録されている3Dデータセットの数を取得します * @returns json */ abstract count3DDatasets(): Promise; /** * 3Dデータセットに含まれる scene情報 を取得します。 * @param datasetIds * @return シーンファイルの実体 */ abstract get3DDatasetScene(datasetIds: string | string[]): Promise; /** * 点群データセットリストを取得します。 * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return json */ abstract getPointCloudDatasets(page: number, limit: number): Promise; /** * 登録されている点群データセットの数を取得します * @returns json */ abstract countPointCloudDatasets(): Promise; /** * 点群データセットを取得します。 * @param datasetId データセットId * @return json */ abstract getPointCloudDataset(datasetId: string): Promise; /** * シーンリストを取得します。 * * *CloudApiV2でのみ対応しています。 * @param page 取得する要素のページ番号 * @param limit 1ページに含まれる要素数。最大100まで指定することができます。 * @return json */ abstract getScenes(page: number, limit: number): Promise; /** * シーンを取得します。 * * *CloudApiV2でのみ対応しています。 * @param sceneId シーンId * @return json */ abstract getScene(sceneId: string): Promise; /** * シーンファイルを取得します。 * * *CloudApiV2でのみ対応しています。 * @param sceneId シーンId * @return json */ abstract getSceneContent(sceneId: string): Promise; /** * 低レベルAPI。このクラスの別関数から呼び出される。 * @return json */ protected get(api: string, args: string[], query?: HTTP.Query, option?: {}): Promise; /** * 低レベルAPI。このクラスの別関数から呼び出される。 * @return json */ protected post(api: string, args: string[], query?: HTTP.Query, body?: HTTP.Body, option?: {}): Promise; /** * 低レベルAPI。このクラスの別関数から呼び出される。 * @return json */ protected patch(api: string, args: string[], query?: HTTP.Query, body?: HTTP.Body, option?: {}): Promise; /** * 低レベルAPI。このクラスの別関数から呼び出される。 * @return json */ protected put(api: string, args: string[], query?: HTTP.Query, body?: HTTP.Body, option?: {}): Promise; /** * 低レベルAPI。このクラスの別関数から呼び出される。 * @return json */ protected delete(api: string, args: string[], query?: HTTP.Query, option?: {}): Promise; /** * 低レベルAPI。このクラスの別関数から呼び出される。 * @return json */ protected fetchAPI(method: string, api: string, args: string[], query?: HTTP.Query, body?: HTTP.Body, option?: {}): Promise; /** * 低レベルAPI。このクラスの別関数から呼び出される。 * @return json */ protected fetch(method: string, url: string, query?: HTTP.Query, body?: HTTP.Body, option?: RequestInit): Promise; } declare namespace CloudApi { interface FeatureRequestJson { } interface LoadDatasetsJson { } enum TokenType { /** api key */ API_KEY = "@@_CloudApi.TokenType.API_KEY", /** access token */ ACCESS_TOKEN = "@@_CloudApi.TokenType.ACCESS_TOKEN" } } export default CloudApi; //# sourceMappingURL=CloudApi.d.ts.map