plateauapi

package
v0.0.0-...-e9a8072 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2024 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const SpecVersion = "2.3"

Variables

View Source
var AllTexture = []Texture{
	TextureNone,
	TextureTexture,
}
View Source
var ErrDatacatalogUnavailable = errors.New("datacatalog is currently unavailable")

Functions

func AllowAdminStages

func AllowAdminStages(ctx context.Context, stages []string) context.Context

func BypassAdminRemoval

func BypassAdminRemoval(ctx context.Context, b bool) context.Context

func IsLayerSupported

func IsLayerSupported(format DatasetFormat) bool

func MajorVersion

func MajorVersion(version string) string

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

func NewSchema

func NewSchema(repo Repo) graphql.ExecutableSchema

func NewService

func NewService(repo Repo, opts ...Option) *handler.Server

func PlaygroundHandler

func PlaygroundHandler(title string, endpoint string) http.HandlerFunc

PlaygroundHandler responsible for setting up the playground

func SpecNumber

func SpecNumber(spec string) string

Types

type Area

type Area interface {
	IsNode()
	IsArea()
	GetID() ID
	// 地域の種類
	GetType() AreaType
	// 地域コード。行政コードや市区町村コードとも呼ばれます。
	// 都道府県の場合は二桁の数字から成る文字列です。
	// 市区町村の場合は、先頭に都道府県コードを含む5桁の数字から成る文字列です。
	GetCode() AreaCode
	// 地域名
	GetName() string
	// 地域に属するデータセット(DatasetInput内のareasCodeの指定は無視されます)。
	GetDatasets() []Dataset
	// 地域の親となる地域のID。市区町村の親は都道府県です。政令指定都市の区の親は市です。
	GetParentID() *ID
	// 地域の親となる地域。
	GetParent() Area
}

地域。都道府県(Prefecture)・市区町村(City)・区(政令指定都市のみ・Ward)のいずれかです。 政令指定都市の場合のみ、市の下に区が存在します。

type AreaCode

type AreaCode string

func ParentAreaCode

func ParentAreaCode(a Area) AreaCode

func (AreaCode) Int

func (a AreaCode) Int() int

func (AreaCode) IsPrefectureCode

func (a AreaCode) IsPrefectureCode() bool

func (AreaCode) PrefectureCode

func (a AreaCode) PrefectureCode() string

func (AreaCode) PrefectureCodeInt

func (a AreaCode) PrefectureCodeInt() int

func (AreaCode) String

func (a AreaCode) String() string

type AreaType

type AreaType string
const (
	// 都道府県
	AreaTypePrefecture AreaType = "PREFECTURE"
	// 市町村
	AreaTypeCity AreaType = "CITY"
	// 区(政令指定都市のみ)
	AreaTypeWard AreaType = "WARD"
)

func (AreaType) IsValid

func (e AreaType) IsValid() bool

func (AreaType) MarshalGQL

func (e AreaType) MarshalGQL(w io.Writer)

func (AreaType) String

func (e AreaType) String() string

func (*AreaType) UnmarshalGQL

func (e *AreaType) UnmarshalGQL(v interface{}) error

type Areas

type Areas map[AreaType][]Area

func (Areas) All

func (a Areas) All() []Area

func (Areas) Append

func (a Areas) Append(cat AreaType, as []Area)

func (*Areas) Area

func (a *Areas) Area(id ID) Area

func (Areas) Filter

func (a Areas) Filter(f func(a Area) bool) []Area

func (Areas) Find

func (a Areas) Find(f func(a Area) bool) Area

func (Areas) FindByCode

func (a Areas) FindByCode(code AreaCode) Area

func (Areas) FindByCodeAndType

func (a Areas) FindByCodeAndType(code AreaCode, ty AreaType) Area

type AreasInput

type AreasInput struct {
	// 検索したい地域が属する親となる地域のコード。例えば東京都に属する都市を検索したい場合は "13" を指定します。
	ParentCode *AreaCode `json:"parentCode,omitempty"`
	// データセットの種類コード。例えば、建築物モデルのデータセットが存在する地域を検索したい場合は "bldg" を指定します。複数指定するとOR条件で検索を行います。
	// 未指定の場合、全てのデータセットの種類を対象に検索します。
	DatasetTypes []string `json:"datasetTypes,omitempty"`
	// データセットの種類のカテゴリ。例えば、PLATEAU都市モデルデータセットが存在する地域を検索したい場合は PLATEAU を指定します。複数指定するとOR条件で検索を行います。
	// 未指定の場合、全てのカテゴリのデータセットを対象に検索します。
	Categories []DatasetTypeCategory `json:"categories,omitempty"`
	// 地域の種類。例えば、市を検索したい場合は CITY を指定します。複数指定するとOR条件で検索を行います。
	// 未指定の場合、全ての地域を対象に検索します。
	AreaTypes []AreaType `json:"areaTypes,omitempty"`
	// 検索文字列。複数指定するとAND条件で絞り込み検索が行えます。
	SearchTokens []string `json:"searchTokens,omitempty"`
	// 検索結果にその地域の親も含めるかどうか。デフォルトは false です。
	IncludeParents *bool `json:"includeParents,omitempty"`
}

地域を検索するためのクエリ。

type City

type City struct {
	ID ID `json:"id"`
	// 地域の種類
	Type AreaType `json:"type"`
	// 市区町村コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	Code AreaCode `json:"code"`
	// 市区町村名
	Name string `json:"name"`
	// 市区町村が属する都道府県のID。
	PrefectureID ID `json:"prefectureId"`
	// 市区町村が属する都道府県コード。2桁の数字から成る文字列です。
	PrefectureCode AreaCode `json:"prefectureCode"`
	// 市区町村の都道府県。
	Prefecture *Prefecture `json:"prefecture,omitempty"`
	// 市区町村に属する区。政令指定都市の場合のみ存在します。
	Wards []*Ward `json:"wards"`
	// 市区町村に属するデータセット(DatasetInput内のareasCodeの指定は無視されます)。
	Datasets []Dataset `json:"datasets"`
	// 地域の親となる地域のID。市区町村の親は都道府県です。政令指定都市の区の親は市です。
	ParentID *ID `json:"parentId,omitempty"`
	// 地域の親となる地域。
	Parent *Prefecture `json:"parent"`
	// 平面直角座標系のEPSGコード。例えば、東京都の場合は "6677" です。
	PlanarCrsEpsgCode *string `json:"planarCrsEpsgCode,omitempty"`
	// CityGMLデータセットのID。
	CitygmlID *ID `json:"citygmlId,omitempty"`
	// CityGMLデータセット。
	Citygml *CityGMLDataset `json:"citygml,omitempty"`
}

市区町村

func (City) GetCode

func (this City) GetCode() AreaCode

地域コード。行政コードや市区町村コードとも呼ばれます。 都道府県の場合は二桁の数字から成る文字列です。 市区町村の場合は、先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (City) GetDatasets

func (this City) GetDatasets() []Dataset

地域に属するデータセット(DatasetInput内のareasCodeの指定は無視されます)。

func (City) GetID

func (this City) GetID() ID

func (City) GetName

func (this City) GetName() string

地域名

func (City) GetParent

func (this City) GetParent() Area

地域の親となる地域。

func (City) GetParentID

func (this City) GetParentID() *ID

地域の親となる地域のID。市区町村の親は都道府県です。政令指定都市の区の親は市です。

func (City) GetType

func (this City) GetType() AreaType

地域の種類

func (City) IsArea

func (City) IsArea()

func (City) IsNode

func (City) IsNode()

type CityGMLDataset

type CityGMLDataset struct {
	ID ID `json:"id"`
	// データセットの整備年度(西暦)。
	Year int `json:"year"`
	// データセットの登録年度(西暦)。
	RegistrationYear int `json:"registrationYear"`
	// データセットが属する都道府県のID。
	PrefectureID ID `json:"prefectureId"`
	// データセットが属する都道府県コード。2桁の数字から成る文字列です。
	PrefectureCode AreaCode `json:"prefectureCode"`
	// データセットが属する市のID。
	CityID ID `json:"cityId"`
	// データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	CityCode AreaCode `json:"cityCode"`
	// データセットが準拠するPLATEAU都市モデルの仕様のマイナーバージョンへのID。
	PlateauSpecMinorID ID `json:"plateauSpecMinorId"`
	// CityGMLのzip形式のファイルのURL。
	URL string `json:"url"`
	// データセットが属する都道府県。
	Prefecture *Prefecture `json:"prefecture"`
	// データセットが属する市。
	City *City `json:"city"`
	// データセットが準拠するPLATEAU都市モデルの仕様。
	PlateauSpecMinor *PlateauSpecMinor `json:"plateauSpecMinor"`
	// CityGMLが含む地物型コードのリスト。
	FeatureTypes []string `json:"featureTypes"`
	// 管理者用
	Admin interface{} `json:"admin,omitempty"`
}

PLATEAU標準製品仕様書に基づくCityGMLのデータセット。

func (CityGMLDataset) GetID

func (this CityGMLDataset) GetID() ID

オブジェクトのID

func (CityGMLDataset) IsNode

func (CityGMLDataset) IsNode()

type CityGMLDatasetResolver

type CityGMLDatasetResolver interface {
	Prefecture(ctx context.Context, obj *CityGMLDataset) (*Prefecture, error)
	City(ctx context.Context, obj *CityGMLDataset) (*City, error)
	PlateauSpecMinor(ctx context.Context, obj *CityGMLDataset) (*PlateauSpecMinor, error)
}

type CityResolver

type CityResolver interface {
	Prefecture(ctx context.Context, obj *City) (*Prefecture, error)
	Wards(ctx context.Context, obj *City) ([]*Ward, error)
	Datasets(ctx context.Context, obj *City, input *DatasetsInput) ([]Dataset, error)

	Parent(ctx context.Context, obj *City) (*Prefecture, error)

	Citygml(ctx context.Context, obj *City) (*CityGMLDataset, error)
}

type ComplexityRoot

type ComplexityRoot struct {
	City struct {
		Citygml           func(childComplexity int) int
		CitygmlID         func(childComplexity int) int
		Code              func(childComplexity int) int
		Datasets          func(childComplexity int, input *DatasetsInput) int
		ID                func(childComplexity int) int
		Name              func(childComplexity int) int
		Parent            func(childComplexity int) int
		ParentID          func(childComplexity int) int
		PlanarCrsEpsgCode func(childComplexity int) int
		Prefecture        func(childComplexity int) int
		PrefectureCode    func(childComplexity int) int
		PrefectureID      func(childComplexity int) int
		Type              func(childComplexity int) int
		Wards             func(childComplexity int) int
	}

	CityGMLDataset struct {
		Admin              func(childComplexity int) int
		City               func(childComplexity int) int
		CityCode           func(childComplexity int) int
		CityID             func(childComplexity int) int
		FeatureTypes       func(childComplexity int) int
		ID                 func(childComplexity int) int
		PlateauSpecMinor   func(childComplexity int) int
		PlateauSpecMinorID func(childComplexity int) int
		Prefecture         func(childComplexity int) int
		PrefectureCode     func(childComplexity int) int
		PrefectureID       func(childComplexity int) int
		RegistrationYear   func(childComplexity int) int
		URL                func(childComplexity int) int
		Year               func(childComplexity int) int
	}

	GenericDataset struct {
		Admin             func(childComplexity int) int
		City              func(childComplexity int) int
		CityCode          func(childComplexity int) int
		CityID            func(childComplexity int) int
		Description       func(childComplexity int) int
		Groups            func(childComplexity int) int
		ID                func(childComplexity int) int
		Items             func(childComplexity int) int
		Name              func(childComplexity int) int
		OpenDataURL       func(childComplexity int) int
		Prefecture        func(childComplexity int) int
		PrefectureCode    func(childComplexity int) int
		PrefectureID      func(childComplexity int) int
		RegisterationYear func(childComplexity int) int
		Type              func(childComplexity int) int
		TypeCode          func(childComplexity int) int
		TypeID            func(childComplexity int) int
		Ward              func(childComplexity int) int
		WardCode          func(childComplexity int) int
		WardID            func(childComplexity int) int
		Year              func(childComplexity int) int
	}

	GenericDatasetItem struct {
		Format   func(childComplexity int) int
		ID       func(childComplexity int) int
		Layers   func(childComplexity int) int
		Name     func(childComplexity int) int
		Parent   func(childComplexity int) int
		ParentID func(childComplexity int) int
		URL      func(childComplexity int) int
	}

	GenericDatasetType struct {
		Category func(childComplexity int) int
		Code     func(childComplexity int) int
		Datasets func(childComplexity int, input *DatasetsInput) int
		ID       func(childComplexity int) int
		Name     func(childComplexity int) int
		Order    func(childComplexity int) int
	}

	PlateauDataset struct {
		Admin              func(childComplexity int) int
		City               func(childComplexity int) int
		CityCode           func(childComplexity int) int
		CityID             func(childComplexity int) int
		Description        func(childComplexity int) int
		Groups             func(childComplexity int) int
		ID                 func(childComplexity int) int
		Items              func(childComplexity int) int
		Name               func(childComplexity int) int
		OpenDataURL        func(childComplexity int) int
		PlateauSpecMinor   func(childComplexity int) int
		PlateauSpecMinorID func(childComplexity int) int
		Prefecture         func(childComplexity int) int
		PrefectureCode     func(childComplexity int) int
		PrefectureID       func(childComplexity int) int
		RegisterationYear  func(childComplexity int) int
		River              func(childComplexity int) int
		Subcode            func(childComplexity int) int
		Subname            func(childComplexity int) int
		Suborder           func(childComplexity int) int
		Type               func(childComplexity int) int
		TypeCode           func(childComplexity int) int
		TypeID             func(childComplexity int) int
		Ward               func(childComplexity int) int
		WardCode           func(childComplexity int) int
		WardID             func(childComplexity int) int
		Year               func(childComplexity int) int
	}

	PlateauDatasetItem struct {
		FloodingScale       func(childComplexity int) int
		FloodingScaleSuffix func(childComplexity int) int
		Format              func(childComplexity int) int
		ID                  func(childComplexity int) int
		Layers              func(childComplexity int) int
		Lod                 func(childComplexity int) int
		Name                func(childComplexity int) int
		Parent              func(childComplexity int) int
		ParentID            func(childComplexity int) int
		Texture             func(childComplexity int) int
		URL                 func(childComplexity int) int
	}

	PlateauDatasetType struct {
		Category      func(childComplexity int) int
		Code          func(childComplexity int) int
		Datasets      func(childComplexity int, input *DatasetsInput) int
		Flood         func(childComplexity int) int
		ID            func(childComplexity int) int
		Name          func(childComplexity int) int
		Order         func(childComplexity int) int
		PlateauSpec   func(childComplexity int) int
		PlateauSpecID func(childComplexity int) int
		Year          func(childComplexity int) int
	}

	PlateauSpec struct {
		DatasetTypes  func(childComplexity int) int
		ID            func(childComplexity int) int
		MajorVersion  func(childComplexity int) int
		MinorVersions func(childComplexity int) int
		Year          func(childComplexity int) int
	}

	PlateauSpecMinor struct {
		Datasets     func(childComplexity int, input *DatasetsInput) int
		ID           func(childComplexity int) int
		MajorVersion func(childComplexity int) int
		Name         func(childComplexity int) int
		Parent       func(childComplexity int) int
		ParentID     func(childComplexity int) int
		Version      func(childComplexity int) int
		Year         func(childComplexity int) int
	}

	Prefecture struct {
		Cities   func(childComplexity int) int
		Code     func(childComplexity int) int
		Datasets func(childComplexity int, input *DatasetsInput) int
		ID       func(childComplexity int) int
		Name     func(childComplexity int) int
		Parent   func(childComplexity int) int
		ParentID func(childComplexity int) int
		Type     func(childComplexity int) int
	}

	Query struct {
		Area         func(childComplexity int, code AreaCode) int
		Areas        func(childComplexity int, input *AreasInput) int
		DatasetTypes func(childComplexity int, input *DatasetTypesInput) int
		Datasets     func(childComplexity int, input *DatasetsInput) int
		Node         func(childComplexity int, id ID) int
		Nodes        func(childComplexity int, ids []ID) int
		PlateauSpecs func(childComplexity int) int
		Years        func(childComplexity int) int
	}

	RelatedDataset struct {
		Admin             func(childComplexity int) int
		City              func(childComplexity int) int
		CityCode          func(childComplexity int) int
		CityID            func(childComplexity int) int
		Description       func(childComplexity int) int
		Groups            func(childComplexity int) int
		ID                func(childComplexity int) int
		Items             func(childComplexity int) int
		Name              func(childComplexity int) int
		OpenDataURL       func(childComplexity int) int
		Prefecture        func(childComplexity int) int
		PrefectureCode    func(childComplexity int) int
		PrefectureID      func(childComplexity int) int
		RegisterationYear func(childComplexity int) int
		Type              func(childComplexity int) int
		TypeCode          func(childComplexity int) int
		TypeID            func(childComplexity int) int
		Ward              func(childComplexity int) int
		WardCode          func(childComplexity int) int
		WardID            func(childComplexity int) int
		Year              func(childComplexity int) int
	}

	RelatedDatasetItem struct {
		Format         func(childComplexity int) int
		ID             func(childComplexity int) int
		Layers         func(childComplexity int) int
		Name           func(childComplexity int) int
		OriginalFormat func(childComplexity int) int
		OriginalURL    func(childComplexity int) int
		Parent         func(childComplexity int) int
		ParentID       func(childComplexity int) int
		URL            func(childComplexity int) int
	}

	RelatedDatasetType struct {
		Category func(childComplexity int) int
		Code     func(childComplexity int) int
		Datasets func(childComplexity int, input *DatasetsInput) int
		ID       func(childComplexity int) int
		Name     func(childComplexity int) int
		Order    func(childComplexity int) int
	}

	River struct {
		Admin func(childComplexity int) int
		Name  func(childComplexity int) int
	}

	Ward struct {
		City           func(childComplexity int) int
		CityCode       func(childComplexity int) int
		CityID         func(childComplexity int) int
		Code           func(childComplexity int) int
		Datasets       func(childComplexity int, input *DatasetsInput) int
		ID             func(childComplexity int) int
		Name           func(childComplexity int) int
		Parent         func(childComplexity int) int
		ParentID       func(childComplexity int) int
		Prefecture     func(childComplexity int) int
		PrefectureCode func(childComplexity int) int
		PrefectureID   func(childComplexity int) int
		Type           func(childComplexity int) int
	}
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type Dataset

type Dataset interface {
	IsNode()
	IsDataset()
	GetID() ID
	// データセット名
	GetName() string
	// データセットの説明
	GetDescription() *string
	// データセットの整備年度(西暦)
	GetYear() int
	// データセットの登録年度(西暦)
	GetRegisterationYear() int
	// データセットを分類するグループ。グループが階層構造になっている場合は、親から子の順番で複数のグループ名が存在することがあります。
	GetGroups() []string
	// データセットの公開データのURL。
	GetOpenDataURL() *string
	// データセットが属する都道府県のID。
	GetPrefectureID() *ID
	// データセットが属する都道府県コード。2桁の数字から成る文字列です。
	GetPrefectureCode() *AreaCode
	// データセットが属する市のID。
	GetCityID() *ID
	// データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	GetCityCode() *AreaCode
	// データセットが属する区のID。
	GetWardID() *ID
	// データセットが属する区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	GetWardCode() *AreaCode
	// データセットの種類のID。
	GetTypeID() ID
	// データセットの種類コード。
	GetTypeCode() string
	// データセットが属する都道府県。
	GetPrefecture() *Prefecture
	// データセットが属する市。
	GetCity() *City
	// データセットが属する区。
	GetWard() *Ward
	// データセットの種類。
	GetType() DatasetType
	// データセットのアイテム。
	GetItems() []DatasetItem
	// 管理者用
	GetAdmin() interface{}
}

データセット。

type DatasetFormat

type DatasetFormat string

データセットのフォーマット。

const (
	// CSV
	DatasetFormatCSV DatasetFormat = "CSV"
	// CZML
	DatasetFormatCzml DatasetFormat = "CZML"
	// 3D Tiles
	DatasetFormatCesium3dtiles DatasetFormat = "CESIUM3DTILES"
	// GlTF
	DatasetFormatGltf DatasetFormat = "GLTF"
	// GTFS Realtime
	DatasetFormatGtfsRealtime DatasetFormat = "GTFS_REALTIME"
	// GeoJSON
	DatasetFormatGeojson DatasetFormat = "GEOJSON"
	// Mapbox Vector Tile
	DatasetFormatMvt DatasetFormat = "MVT"
	// Tile Map Service
	DatasetFormatTms DatasetFormat = "TMS"
	// XYZで分割された画像タイル。/{z}/{x}/{y}.png のようなURLになります。
	DatasetFormatTiles DatasetFormat = "TILES"
	// Web Map Service
	DatasetFormatWms DatasetFormat = "WMS"
)

func (DatasetFormat) IsValid

func (e DatasetFormat) IsValid() bool

func (DatasetFormat) MarshalGQL

func (e DatasetFormat) MarshalGQL(w io.Writer)

func (DatasetFormat) String

func (e DatasetFormat) String() string

func (*DatasetFormat) UnmarshalGQL

func (e *DatasetFormat) UnmarshalGQL(v interface{}) error

type DatasetItem

type DatasetItem interface {
	IsNode()
	IsDatasetItem()
	GetID() ID
	// データセットのアイテムのフォーマット。
	GetFormat() DatasetFormat
	// データセットのアイテム名。
	GetName() string
	// データセットのアイテムのURL。
	GetURL() string
	// データセットのアイテムのレイヤー名。MVTやWMSなどのフォーマットの場合のみ存在。
	// レイヤー名が複数存在する場合は、同時に複数のレイヤーを表示可能であることを意味します。
	GetLayers() []string
	// データセットのアイテムが属するデータセットのID。
	GetParentID() ID
	// データセットのアイテムが属するデータセット。
	GetParent() Dataset
}

データセットのアイテム。

func FindItem

func FindItem(d Dataset, id ID) DatasetItem

type DatasetType

type DatasetType interface {
	IsNode()
	IsDatasetType()
	GetID() ID
	// データセットの種類コード。 "bldg" など。
	GetCode() string
	// データセットの種類名。
	GetName() string
	// データセットの種類のカテゴリ。
	GetCategory() DatasetTypeCategory
	// データセットの種類の順番を示す数字。大きいほど後に表示されます。
	GetOrder() int
	// データセット(DatasetInput内のincludeTypesとexcludeTypesの指定は無視されます)。
	GetDatasets() []Dataset
}

データセットの種類。

type DatasetTypeCategory

type DatasetTypeCategory string

データセットの種類のカテゴリ。

const (
	// PLATEAU都市モデルデータセット
	DatasetTypeCategoryPlateau DatasetTypeCategory = "PLATEAU"
	// 関連データセット
	DatasetTypeCategoryRelated DatasetTypeCategory = "RELATED"
	// その他のデータセット
	DatasetTypeCategoryGeneric DatasetTypeCategory = "GENERIC"
)

func DatasetTypeCategoryFromDataset

func DatasetTypeCategoryFromDataset(d Dataset) DatasetTypeCategory

func (DatasetTypeCategory) IsValid

func (e DatasetTypeCategory) IsValid() bool

func (DatasetTypeCategory) MarshalGQL

func (e DatasetTypeCategory) MarshalGQL(w io.Writer)

func (DatasetTypeCategory) String

func (e DatasetTypeCategory) String() string

func (*DatasetTypeCategory) UnmarshalGQL

func (e *DatasetTypeCategory) UnmarshalGQL(v interface{}) error

type DatasetTypes

type DatasetTypes map[DatasetTypeCategory][]DatasetType

func (DatasetTypes) All

func (d DatasetTypes) All() []DatasetType

func (DatasetTypes) Append

func (d DatasetTypes) Append(cat DatasetTypeCategory, ds []DatasetType)

func (*DatasetTypes) DatasetType

func (d *DatasetTypes) DatasetType(id ID) DatasetType

func (DatasetTypes) DatasetTypesByCategories

func (d DatasetTypes) DatasetTypesByCategories(categories []DatasetTypeCategory) (res []DatasetType)

func (DatasetTypes) DatasetTypesByCategory

func (d DatasetTypes) DatasetTypesByCategory(cat DatasetTypeCategory) []DatasetType

func (DatasetTypes) Filter

func (d DatasetTypes) Filter(f func(d DatasetType) bool) []DatasetType

func (DatasetTypes) FindByCode

func (d DatasetTypes) FindByCode(code string, cat DatasetTypeCategory) DatasetType

type DatasetTypesInput

type DatasetTypesInput struct {
	// データセットの種類のカテゴリ。
	Category *DatasetTypeCategory `json:"category,omitempty"`
	// データセットの種類が属するPLATEAU都市モデルの仕様名。
	PlateauSpec *string `json:"plateauSpec,omitempty"`
	// データセットの種類が属するPLATEAU都市モデルの仕様の公開年度(西暦)。
	Year *int `json:"year,omitempty"`
}

データセットの種類を検索するためのクエリ。

type Datasets

type Datasets map[DatasetTypeCategory][]Dataset

func (Datasets) All

func (d Datasets) All() []Dataset

func (Datasets) Append

func (d Datasets) Append(cat DatasetTypeCategory, ds []Dataset)

func (*Datasets) Dataset

func (d *Datasets) Dataset(id ID) Dataset

func (Datasets) Filter

func (d Datasets) Filter(f func(d Dataset) bool) []Dataset

func (*Datasets) Item

func (d *Datasets) Item(id ID) DatasetItem

type DatasetsInput

type DatasetsInput struct {
	// データセットの地域コード(都道府県コードや市区町村コードが使用可能)。複数指定するとOR条件で検索を行います。
	AreaCodes []AreaCode `json:"areaCodes,omitempty"`
	// 仕様書のバージョン。「第2.3版」「2.3」「2」などの文字列が使用可能です。
	PlateauSpec *string `json:"plateauSpec,omitempty"`
	// データの整備年度(西暦)。
	Year *int `json:"year,omitempty"`
	// データの公開年度(西暦)。
	RegistrationYear *int `json:"registrationYear,omitempty"`
	// 検索結果から除外するデータセットの種類コード。種類コードは例えば "bldg"(建築物モデル)の他、"plateau"(PLATEAU都市モデルデータセット)、"related"(関連データセット)、"generic"(その他のデータセット)が使用可能です。
	ExcludeTypes []string `json:"excludeTypes,omitempty"`
	// 検索結果に含めるデータセットの種類コード。未指定の場合、全てのデータセットの種類を対象に検索し、指定するとその種類で検索結果を絞り込みます。種類コードは例えば "bldg"(建築物モデル)の他、"plateau"(PLATEAU都市モデルデータセット)、"related"(関連データセット)、"generic"(その他のデータセット)が使用可能です。
	IncludeTypes []string `json:"includeTypes,omitempty"`
	// 検索文字列。複数指定するとAND条件で絞り込み検索が行えます。
	SearchTokens []string `json:"searchTokens,omitempty"`
	// areaCodesで指定された地域に直接属しているデータセットのみを検索対象にするかどうか。
	// デフォルトはfalseで、指定された地域に間接的に属するデータセットも全て検索します。
	// 例えば、札幌市を対象にした場合、札幌市には中央区や北区といった区のデータセットも存在しますが、trueにすると札幌市のデータセットのみを返します。
	Shallow *bool `json:"shallow,omitempty"`
}

データセットを検索するためのクエリ。

type DirectiveRoot

type DirectiveRoot struct {
}

type FloodingScale

type FloodingScale string

浸水想定区域モデルにおける浸水規模。

const (
	// 計画規模
	FloodingScalePlanned FloodingScale = "PLANNED"
	// 想定最大規模
	FloodingScaleExpectedMaximum FloodingScale = "EXPECTED_MAXIMUM"
)

func (FloodingScale) IsValid

func (e FloodingScale) IsValid() bool

func (FloodingScale) MarshalGQL

func (e FloodingScale) MarshalGQL(w io.Writer)

func (FloodingScale) String

func (e FloodingScale) String() string

func (*FloodingScale) UnmarshalGQL

func (e *FloodingScale) UnmarshalGQL(v interface{}) error

type GenericDataset

type GenericDataset struct {
	ID ID `json:"id"`
	// データセット名
	Name string `json:"name"`
	// データセットの説明
	Description *string `json:"description,omitempty"`
	// データセットの整備年度(西暦)
	Year int `json:"year"`
	// データセットの公開年度(西暦)
	RegisterationYear int `json:"registerationYear"`
	// データセットを分類するグループ。グループが階層構造になっている場合は、親から子の順番で複数のグループ名が存在することがあります。
	Groups []string `json:"groups,omitempty"`
	// データセットの公開データのURL。
	OpenDataURL *string `json:"openDataUrl,omitempty"`
	// データセットが属する都道府県のID。
	PrefectureID *ID `json:"prefectureId,omitempty"`
	// データセットが属する都道府県コード。2桁の数字から成る文字列です。
	PrefectureCode *AreaCode `json:"prefectureCode,omitempty"`
	// データセットが属する市のID。
	CityID *ID `json:"cityId,omitempty"`
	// データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	CityCode *AreaCode `json:"cityCode,omitempty"`
	// データセットが属する区のID。
	WardID *ID `json:"wardId,omitempty"`
	// データセットが属する区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	WardCode *AreaCode `json:"wardCode,omitempty"`
	// データセットの種類のID。
	TypeID ID `json:"typeId"`
	// データセットの種類コード。
	TypeCode string `json:"typeCode"`
	// データセットが属する都道府県。
	Prefecture *Prefecture `json:"prefecture,omitempty"`
	// データセットが属する市。
	City *City `json:"city,omitempty"`
	// データセットが属する区。
	Ward *Ward `json:"ward,omitempty"`
	// データセットの種類。
	Type *GenericDatasetType `json:"type"`
	// データセットのアイテム。
	Items []*GenericDatasetItem `json:"items"`
	// 管理者用
	Admin interface{} `json:"admin,omitempty"`
}

ユースケースデータなどを含む、その他のデータセット。

func PlateauDatasetToGenericDataset

func PlateauDatasetToGenericDataset(p *PlateauDataset, typeID ID, typeCode string, newID ID) *GenericDataset

func (GenericDataset) GetAdmin

func (this GenericDataset) GetAdmin() interface{}

管理者用

func (GenericDataset) GetCity

func (this GenericDataset) GetCity() *City

データセットが属する市。

func (GenericDataset) GetCityCode

func (this GenericDataset) GetCityCode() *AreaCode

データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (GenericDataset) GetCityID

func (this GenericDataset) GetCityID() *ID

データセットが属する市のID。

func (GenericDataset) GetDescription

func (this GenericDataset) GetDescription() *string

データセットの説明

func (GenericDataset) GetGroups

func (this GenericDataset) GetGroups() []string

データセットを分類するグループ。グループが階層構造になっている場合は、親から子の順番で複数のグループ名が存在することがあります。

func (GenericDataset) GetID

func (this GenericDataset) GetID() ID

func (GenericDataset) GetItems

func (this GenericDataset) GetItems() []DatasetItem

データセットのアイテム。

func (GenericDataset) GetName

func (this GenericDataset) GetName() string

データセット名

func (GenericDataset) GetOpenDataURL

func (this GenericDataset) GetOpenDataURL() *string

データセットの公開データのURL。

func (GenericDataset) GetPrefecture

func (this GenericDataset) GetPrefecture() *Prefecture

データセットが属する都道府県。

func (GenericDataset) GetPrefectureCode

func (this GenericDataset) GetPrefectureCode() *AreaCode

データセットが属する都道府県コード。2桁の数字から成る文字列です。

func (GenericDataset) GetPrefectureID

func (this GenericDataset) GetPrefectureID() *ID

データセットが属する都道府県のID。

func (GenericDataset) GetRegisterationYear

func (this GenericDataset) GetRegisterationYear() int

データセットの登録年度(西暦)

func (GenericDataset) GetType

func (this GenericDataset) GetType() DatasetType

データセットの種類。

func (GenericDataset) GetTypeCode

func (this GenericDataset) GetTypeCode() string

データセットの種類コード。

func (GenericDataset) GetTypeID

func (this GenericDataset) GetTypeID() ID

データセットの種類のID。

func (GenericDataset) GetWard

func (this GenericDataset) GetWard() *Ward

データセットが属する区。

func (GenericDataset) GetWardCode

func (this GenericDataset) GetWardCode() *AreaCode

データセットが属する区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (GenericDataset) GetWardID

func (this GenericDataset) GetWardID() *ID

データセットが属する区のID。

func (GenericDataset) GetYear

func (this GenericDataset) GetYear() int

データセットの整備年度(西暦)

func (GenericDataset) IsDataset

func (GenericDataset) IsDataset()

func (GenericDataset) IsNode

func (GenericDataset) IsNode()

type GenericDatasetItem

type GenericDatasetItem struct {
	ID ID `json:"id"`
	// データセットのアイテムのフォーマット。
	Format DatasetFormat `json:"format"`
	// データセットのアイテム名。
	Name string `json:"name"`
	// データセットのアイテムのURL。
	URL string `json:"url"`
	// データセットのアイテムのレイヤー名。MVTやWMSなどのフォーマットの場合のみ存在。
	// レイヤー名が複数存在する場合は、同時に複数のレイヤーを表示可能であることを意味します。
	Layers []string `json:"layers,omitempty"`
	// データセットのアイテムが属するデータセットのID。
	ParentID ID `json:"parentId"`
	// データセットのアイテムが属するデータセット。
	Parent *GenericDataset `json:"parent,omitempty"`
}

その他のデータセットのアイテム。

func (GenericDatasetItem) GetFormat

func (this GenericDatasetItem) GetFormat() DatasetFormat

データセットのアイテムのフォーマット。

func (GenericDatasetItem) GetID

func (this GenericDatasetItem) GetID() ID

func (GenericDatasetItem) GetLayers

func (this GenericDatasetItem) GetLayers() []string

データセットのアイテムのレイヤー名。MVTやWMSなどのフォーマットの場合のみ存在。 レイヤー名が複数存在する場合は、同時に複数のレイヤーを表示可能であることを意味します。

func (GenericDatasetItem) GetName

func (this GenericDatasetItem) GetName() string

データセットのアイテム名。

func (GenericDatasetItem) GetParent

func (this GenericDatasetItem) GetParent() Dataset

データセットのアイテムが属するデータセット。

func (GenericDatasetItem) GetParentID

func (this GenericDatasetItem) GetParentID() ID

データセットのアイテムが属するデータセットのID。

func (GenericDatasetItem) GetURL

func (this GenericDatasetItem) GetURL() string

データセットのアイテムのURL。

func (GenericDatasetItem) IsDatasetItem

func (GenericDatasetItem) IsDatasetItem()

func (GenericDatasetItem) IsNode

func (GenericDatasetItem) IsNode()

type GenericDatasetItemResolver

type GenericDatasetItemResolver interface {
	Parent(ctx context.Context, obj *GenericDatasetItem) (*GenericDataset, error)
}

type GenericDatasetResolver

type GenericDatasetResolver interface {
	Prefecture(ctx context.Context, obj *GenericDataset) (*Prefecture, error)
	City(ctx context.Context, obj *GenericDataset) (*City, error)
	Ward(ctx context.Context, obj *GenericDataset) (*Ward, error)
	Type(ctx context.Context, obj *GenericDataset) (*GenericDatasetType, error)
}

type GenericDatasetType

type GenericDatasetType struct {
	ID ID `json:"id"`
	// データセットの種類コード。「usecase」など。
	Code string `json:"code"`
	// データセットの種類名。
	Name string `json:"name"`
	// データセットの種類のカテゴリ。
	Category DatasetTypeCategory `json:"category"`
	// データセットの種類の順番を示す数字。大きいほど後に表示されます。
	Order int `json:"order"`
	// データセット(DatasetInput内のincludeTypesとexcludeTypesの指定は無視されます)。
	Datasets []*GenericDataset `json:"datasets"`
}

その他のデータセットの種類。

func (GenericDatasetType) GetCategory

func (this GenericDatasetType) GetCategory() DatasetTypeCategory

データセットの種類のカテゴリ。

func (GenericDatasetType) GetCode

func (this GenericDatasetType) GetCode() string

データセットの種類コード。 "bldg" など。

func (GenericDatasetType) GetDatasets

func (this GenericDatasetType) GetDatasets() []Dataset

データセット(DatasetInput内のincludeTypesとexcludeTypesの指定は無視されます)。

func (GenericDatasetType) GetID

func (this GenericDatasetType) GetID() ID

func (GenericDatasetType) GetName

func (this GenericDatasetType) GetName() string

データセットの種類名。

func (GenericDatasetType) GetOrder

func (this GenericDatasetType) GetOrder() int

データセットの種類の順番を示す数字。大きいほど後に表示されます。

func (GenericDatasetType) IsDatasetType

func (GenericDatasetType) IsDatasetType()

func (GenericDatasetType) IsNode

func (GenericDatasetType) IsNode()

type GenericDatasetTypeResolver

type GenericDatasetTypeResolver interface {
	Datasets(ctx context.Context, obj *GenericDatasetType, input *DatasetsInput) ([]*GenericDataset, error)
}

type ID

type ID string

func CityGMLDatasetIDFrom

func CityGMLDatasetIDFrom(areaCode AreaCode) ID

func NewID

func NewID(id string, ty Type) ID

func PlateauSpecIDFrom

func PlateauSpecIDFrom(version string) ID

func PlateauSpecMajorIDFrom

func PlateauSpecMajorIDFrom(version string) ID

func (ID) ID

func (i ID) ID() string

func (ID) String

func (i ID) String() string

func (ID) Type

func (i ID) Type() Type

func (ID) Unwrap

func (i ID) Unwrap() (string, Type)

type InMemoryRepo

type InMemoryRepo struct {
	// contains filtered or unexported fields
}

InMemoryRepo is a repository that stores all data in memory. Note that it is not thread-safe.

func NewInMemoryRepo

func NewInMemoryRepo(ctx *InMemoryRepoContext) *InMemoryRepo

func (*InMemoryRepo) Area

func (c *InMemoryRepo) Area(ctx context.Context, code AreaCode) (Area, error)

func (*InMemoryRepo) Areas

func (c *InMemoryRepo) Areas(ctx context.Context, input *AreasInput) (res []Area, _ error)

func (*InMemoryRepo) DatasetTypes

func (c *InMemoryRepo) DatasetTypes(ctx context.Context, input *DatasetTypesInput) (res []DatasetType, _ error)

func (*InMemoryRepo) Datasets

func (c *InMemoryRepo) Datasets(ctx context.Context, input *DatasetsInput) (res []Dataset, _ error)

func (*InMemoryRepo) Name

func (c *InMemoryRepo) Name() string

func (*InMemoryRepo) Node

func (c *InMemoryRepo) Node(ctx context.Context, id ID) (Node, error)

func (*InMemoryRepo) Nodes

func (c *InMemoryRepo) Nodes(ctx context.Context, ids []ID) ([]Node, error)

func (*InMemoryRepo) PlateauSpecs

func (c *InMemoryRepo) PlateauSpecs(ctx context.Context) ([]*PlateauSpec, error)

func (*InMemoryRepo) SetContext

func (c *InMemoryRepo) SetContext(ctx *InMemoryRepoContext)

func (*InMemoryRepo) Years

func (c *InMemoryRepo) Years(ctx context.Context) ([]int, error)

type InMemoryRepoContext

type InMemoryRepoContext struct {
	Name         string
	Areas        Areas
	DatasetTypes DatasetTypes
	Datasets     Datasets
	PlateauSpecs []PlateauSpec
	Years        []int
	CityGML      map[ID]*CityGMLDataset
}

type Merger

type Merger struct {
	// contains filtered or unexported fields
}

Merger is a repository that merges multiple repositories. It returns the latest year data.

func NewMerger

func NewMerger(repos ...Repo) *Merger

func (*Merger) Area

func (m *Merger) Area(ctx context.Context, code AreaCode) (Area, error)

func (*Merger) Areas

func (m *Merger) Areas(ctx context.Context, input *AreasInput) ([]Area, error)

func (*Merger) DatasetTypes

func (m *Merger) DatasetTypes(ctx context.Context, input *DatasetTypesInput) ([]DatasetType, error)

func (*Merger) Datasets

func (m *Merger) Datasets(ctx context.Context, input *DatasetsInput) ([]Dataset, error)

func (*Merger) Init

func (m *Merger) Init(ctx context.Context) error

func (*Merger) Name

func (m *Merger) Name() string

func (*Merger) Node

func (m *Merger) Node(ctx context.Context, id ID) (Node, error)

func (*Merger) Nodes

func (m *Merger) Nodes(ctx context.Context, ids []ID) ([]Node, error)

func (*Merger) PlateauSpecs

func (m *Merger) PlateauSpecs(ctx context.Context) ([]*PlateauSpec, error)

func (*Merger) Years

func (m *Merger) Years(ctx context.Context) ([]int, error)

type Node

type Node interface {
	IsNode()
	// オブジェクトのID
	GetID() ID
}

IDを持つオブジェクト。nodeまたはnodesクエリでIDを指定して検索可能です。

type Option

type Option func(*handler.Server)

func FixedComplexityLimit

func FixedComplexityLimit(limit int) Option

type OrderNode

type OrderNode interface {
	GetOrder() int
}

type PlateauDataset

type PlateauDataset struct {
	ID ID `json:"id"`
	// データセット名
	Name string `json:"name"`
	// データセットのサブ名。都市計画決定情報の○○区域や洪水浸水想定区域の河川名などが含まれます。
	Subname *string `json:"subname,omitempty"`
	// データセットのサブコード。都市計画決定情報の○○区域や洪水浸水想定区域の河川名などのコード表現が含まれます。
	Subcode *string `json:"subcode,omitempty"`
	// データセットのサブコードの順番。大きいほど後に表示されます。
	Suborder *int `json:"suborder,omitempty"`
	// データセットの説明
	Description *string `json:"description,omitempty"`
	// データセットの整備年度(西暦)
	Year int `json:"year"`
	// データセットの公開年度(西暦)
	RegisterationYear int `json:"registerationYear"`
	// データセットを分類するグループ。グループが階層構造になっている場合は、親から子の順番で複数のグループ名が存在することがあります。
	Groups []string `json:"groups,omitempty"`
	// データセットの公開データのURL。
	OpenDataURL *string `json:"openDataUrl,omitempty"`
	// データセットが属する都道府県のID。
	PrefectureID *ID `json:"prefectureId,omitempty"`
	// データセットが属する都道府県コード。2桁の数字から成る文字列です。
	PrefectureCode *AreaCode `json:"prefectureCode,omitempty"`
	// データセットが属する市のID。
	CityID *ID `json:"cityId,omitempty"`
	// データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	CityCode *AreaCode `json:"cityCode,omitempty"`
	// データセットが属する区のID。
	WardID *ID `json:"wardId,omitempty"`
	// データセットが属する区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	WardCode *AreaCode `json:"wardCode,omitempty"`
	// データセットの種類のID。
	TypeID ID `json:"typeId"`
	// データセットの種類コード。
	TypeCode string `json:"typeCode"`
	// データセットが属する都道府県。
	Prefecture *Prefecture `json:"prefecture,omitempty"`
	// データセットが属する市。
	City *City `json:"city,omitempty"`
	// データセットが属する区。
	Ward *Ward `json:"ward,omitempty"`
	// データセットの種類。
	Type *PlateauDatasetType `json:"type"`
	// データセットのアイテム。
	Items []*PlateauDatasetItem `json:"items"`
	// 管理者用
	Admin interface{} `json:"admin,omitempty"`
	// データセットが準拠するPLATEAU都市モデルの仕様のマイナーバージョンへのID。
	PlateauSpecMinorID ID `json:"plateauSpecMinorId"`
	// データセットが準拠するPLATEAU都市モデルの仕様。
	PlateauSpecMinor *PlateauSpecMinor `json:"plateauSpecMinor"`
	// 河川。地物型が洪水浸水想定区域モデル(fld)の場合のみ存在します。
	River *River `json:"river,omitempty"`
}

PLATEAU都市モデルの通常のデータセット。例えば、地物型が建築物モデル(bldg)などのデータセットです。

func (PlateauDataset) GetAdmin

func (this PlateauDataset) GetAdmin() interface{}

管理者用

func (PlateauDataset) GetCity

func (this PlateauDataset) GetCity() *City

データセットが属する市。

func (PlateauDataset) GetCityCode

func (this PlateauDataset) GetCityCode() *AreaCode

データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (PlateauDataset) GetCityID

func (this PlateauDataset) GetCityID() *ID

データセットが属する市のID。

func (PlateauDataset) GetDescription

func (this PlateauDataset) GetDescription() *string

データセットの説明

func (PlateauDataset) GetGroups

func (this PlateauDataset) GetGroups() []string

データセットを分類するグループ。グループが階層構造になっている場合は、親から子の順番で複数のグループ名が存在することがあります。

func (PlateauDataset) GetID

func (this PlateauDataset) GetID() ID

func (PlateauDataset) GetItems

func (this PlateauDataset) GetItems() []DatasetItem

データセットのアイテム。

func (PlateauDataset) GetName

func (this PlateauDataset) GetName() string

データセット名

func (PlateauDataset) GetOpenDataURL

func (this PlateauDataset) GetOpenDataURL() *string

データセットの公開データのURL。

func (PlateauDataset) GetPrefecture

func (this PlateauDataset) GetPrefecture() *Prefecture

データセットが属する都道府県。

func (PlateauDataset) GetPrefectureCode

func (this PlateauDataset) GetPrefectureCode() *AreaCode

データセットが属する都道府県コード。2桁の数字から成る文字列です。

func (PlateauDataset) GetPrefectureID

func (this PlateauDataset) GetPrefectureID() *ID

データセットが属する都道府県のID。

func (PlateauDataset) GetRegisterationYear

func (this PlateauDataset) GetRegisterationYear() int

データセットの登録年度(西暦)

func (PlateauDataset) GetType

func (this PlateauDataset) GetType() DatasetType

データセットの種類。

func (PlateauDataset) GetTypeCode

func (this PlateauDataset) GetTypeCode() string

データセットの種類コード。

func (PlateauDataset) GetTypeID

func (this PlateauDataset) GetTypeID() ID

データセットの種類のID。

func (PlateauDataset) GetWard

func (this PlateauDataset) GetWard() *Ward

データセットが属する区。

func (PlateauDataset) GetWardCode

func (this PlateauDataset) GetWardCode() *AreaCode

データセットが属する区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (PlateauDataset) GetWardID

func (this PlateauDataset) GetWardID() *ID

データセットが属する区のID。

func (PlateauDataset) GetYear

func (this PlateauDataset) GetYear() int

データセットの整備年度(西暦)

func (PlateauDataset) IsDataset

func (PlateauDataset) IsDataset()

func (PlateauDataset) IsNode

func (PlateauDataset) IsNode()

func (*PlateauDataset) VagueID

func (a *PlateauDataset) VagueID() string

type PlateauDatasetItem

type PlateauDatasetItem struct {
	ID ID `json:"id"`
	// データセットのアイテムのフォーマット。
	Format DatasetFormat `json:"format"`
	// データセットのアイテム名。
	Name string `json:"name"`
	// データセットのアイテムのURL。
	URL string `json:"url"`
	// データセットのアイテムのレイヤー名。MVTやWMSなどのフォーマットの場合のみ存在。
	// レイヤー名が複数存在する場合は、同時に複数のレイヤーを表示可能であることを意味します。
	Layers []string `json:"layers,omitempty"`
	// データセットのアイテムが属するデータセットのID。
	ParentID ID `json:"parentId"`
	// データセットのアイテムが属するデータセット。
	Parent *PlateauDataset `json:"parent,omitempty"`
	// データセットのアイテムのLOD(詳細度・Level of Detail)。1、2、3、4などの整数値です。
	Lod *int `json:"lod,omitempty"`
	// データセットのアイテムのテクスチャの種類。
	Texture *Texture `json:"texture,omitempty"`
	// 浸水規模。地物型が洪水・高潮・津波・内水浸水想定区域モデル(fld・htd・tnm・ifld)の場合のみ存在します。
	FloodingScale *FloodingScale `json:"floodingScale,omitempty"`
	// 浸水規模の枝番。地物型が洪水・高潮・津波・内水浸水想定区域モデル(fld・htd・tnm・ifld)の場合のみ存在することがあります。
	FloodingScaleSuffix *string `json:"floodingScaleSuffix,omitempty"`
}

PLATEAU都市モデルのデータセットのアイテム。

func (PlateauDatasetItem) GetFormat

func (this PlateauDatasetItem) GetFormat() DatasetFormat

データセットのアイテムのフォーマット。

func (PlateauDatasetItem) GetID

func (this PlateauDatasetItem) GetID() ID

func (PlateauDatasetItem) GetLayers

func (this PlateauDatasetItem) GetLayers() []string

データセットのアイテムのレイヤー名。MVTやWMSなどのフォーマットの場合のみ存在。 レイヤー名が複数存在する場合は、同時に複数のレイヤーを表示可能であることを意味します。

func (PlateauDatasetItem) GetName

func (this PlateauDatasetItem) GetName() string

データセットのアイテム名。

func (PlateauDatasetItem) GetParent

func (this PlateauDatasetItem) GetParent() Dataset

データセットのアイテムが属するデータセット。

func (PlateauDatasetItem) GetParentID

func (this PlateauDatasetItem) GetParentID() ID

データセットのアイテムが属するデータセットのID。

func (PlateauDatasetItem) GetURL

func (this PlateauDatasetItem) GetURL() string

データセットのアイテムのURL。

func (PlateauDatasetItem) IsDatasetItem

func (PlateauDatasetItem) IsDatasetItem()

func (PlateauDatasetItem) IsNode

func (PlateauDatasetItem) IsNode()

type PlateauDatasetItemResolver

type PlateauDatasetItemResolver interface {
	Parent(ctx context.Context, obj *PlateauDatasetItem) (*PlateauDataset, error)
}

type PlateauDatasetResolver

type PlateauDatasetResolver interface {
	Prefecture(ctx context.Context, obj *PlateauDataset) (*Prefecture, error)
	City(ctx context.Context, obj *PlateauDataset) (*City, error)
	Ward(ctx context.Context, obj *PlateauDataset) (*Ward, error)
	Type(ctx context.Context, obj *PlateauDataset) (*PlateauDatasetType, error)

	PlateauSpecMinor(ctx context.Context, obj *PlateauDataset) (*PlateauSpecMinor, error)
}

type PlateauDatasetType

type PlateauDatasetType struct {
	ID ID `json:"id"`
	// データセットの種類コード。「bldg」など。
	Code string `json:"code"`
	// データセットの種類名。
	Name string `json:"name"`
	// データセットの種類のカテゴリ。
	Category DatasetTypeCategory `json:"category"`
	// データセットの種類の順番を示す数字。大きいほど後に表示されます。
	Order int `json:"order"`
	// データセットの種類が属するPLATEAU都市モデルの仕様のID。
	PlateauSpecID ID `json:"plateauSpecId"`
	// データセットの種類が属するPLATEAU都市モデルの仕様。
	PlateauSpec *PlateauSpec `json:"plateauSpec,omitempty"`
	// データセットの種類が属するPLATEAU都市モデルの仕様の公開年度(西暦)。
	Year int `json:"year"`
	// 洪水・高潮・津波・内水浸水想定区域モデルを表す種類かどうか。河川などの情報が利用可能です。
	Flood bool `json:"flood"`
	// データセット(DatasetInput内のincludeTypesとexcludeTypesの指定は無視されます)。
	Datasets []*PlateauDataset `json:"datasets"`
}

PLATEAU都市モデルのデータセットの種類。

func (PlateauDatasetType) GetCategory

func (this PlateauDatasetType) GetCategory() DatasetTypeCategory

データセットの種類のカテゴリ。

func (PlateauDatasetType) GetCode

func (this PlateauDatasetType) GetCode() string

データセットの種類コード。 "bldg" など。

func (PlateauDatasetType) GetDatasets

func (this PlateauDatasetType) GetDatasets() []Dataset

データセット(DatasetInput内のincludeTypesとexcludeTypesの指定は無視されます)。

func (PlateauDatasetType) GetID

func (this PlateauDatasetType) GetID() ID

func (PlateauDatasetType) GetName

func (this PlateauDatasetType) GetName() string

データセットの種類名。

func (PlateauDatasetType) GetOrder

func (this PlateauDatasetType) GetOrder() int

データセットの種類の順番を示す数字。大きいほど後に表示されます。

func (PlateauDatasetType) GetYear

func (d PlateauDatasetType) GetYear() int

func (PlateauDatasetType) IsDatasetType

func (PlateauDatasetType) IsDatasetType()

func (PlateauDatasetType) IsNode

func (PlateauDatasetType) IsNode()

type PlateauDatasetTypeResolver

type PlateauDatasetTypeResolver interface {
	PlateauSpec(ctx context.Context, obj *PlateauDatasetType) (*PlateauSpec, error)

	Datasets(ctx context.Context, obj *PlateauDatasetType, input *DatasetsInput) ([]*PlateauDataset, error)
}

type PlateauSpec

type PlateauSpec struct {
	ID ID `json:"id"`
	// PLATEAU都市モデルの仕様のバージョン番号。
	MajorVersion int `json:"majorVersion"`
	// 仕様の公開年度(西暦)。
	Year int `json:"year"`
	// その仕様に含まれるデータセットの種類。
	DatasetTypes []*PlateauDatasetType `json:"datasetTypes"`
	// その仕様のマイナーバージョン。
	MinorVersions []*PlateauSpecMinor `json:"minorVersions"`
}

PLATEAU都市モデルの仕様のメジャーバージョン。

func PlateauSpecsFrom

func PlateauSpecsFrom(specs []PlateauSpecSimple) (res []PlateauSpec)

func (PlateauSpec) GetID

func (this PlateauSpec) GetID() ID

オブジェクトのID

func (PlateauSpec) GetYear

func (d PlateauSpec) GetYear() int

func (PlateauSpec) IsNode

func (PlateauSpec) IsNode()

func (*PlateauSpec) Minor

func (s *PlateauSpec) Minor(name string) *PlateauSpecMinor

type PlateauSpecMinor

type PlateauSpecMinor struct {
	ID ID `json:"id"`
	// PLATEAU都市モデルの仕様の名前。 "第2.3版" のような文字列です。
	Name string `json:"name"`
	// バージョンを表す文字列。 "2.3" のような文字列です。
	Version string `json:"version"`
	// メジャーバージョン番号。 2のような整数です。
	MajorVersion int `json:"majorVersion"`
	// 仕様の公開年度(西暦)。
	Year int `json:"year"`
	// その仕様が属する仕様のメジャーバージョンのID。
	ParentID ID `json:"parentId"`
	// その仕様が属する仕様のメジャーバージョン。
	Parent *PlateauSpec `json:"parent"`
	// その仕様に準拠して整備されたPLATEAU都市モデルデータセット(DatasetInput内のplateauSpecの指定は無視されます)。
	Datasets []Dataset `json:"datasets"`
}

PLATEAU都市モデルの仕様のマイナーバージョン。

func FindSpecMinorByName

func FindSpecMinorByName(specs []PlateauSpec, name string) *PlateauSpecMinor

func (PlateauSpecMinor) GetID

func (this PlateauSpecMinor) GetID() ID

オブジェクトのID

func (PlateauSpecMinor) GetYear

func (d PlateauSpecMinor) GetYear() int

func (PlateauSpecMinor) IsNode

func (PlateauSpecMinor) IsNode()

type PlateauSpecMinorResolver

type PlateauSpecMinorResolver interface {
	Parent(ctx context.Context, obj *PlateauSpecMinor) (*PlateauSpec, error)
	Datasets(ctx context.Context, obj *PlateauSpecMinor, input *DatasetsInput) ([]Dataset, error)
}

type PlateauSpecResolver

type PlateauSpecResolver interface {
	DatasetTypes(ctx context.Context, obj *PlateauSpec) ([]*PlateauDatasetType, error)
}

type PlateauSpecSimple

type PlateauSpecSimple struct {
	MajorVersion  int
	Year          int
	MinorVersions []string
}

type Prefecture

type Prefecture struct {
	ID ID `json:"id"`
	// 地域の種類
	Type AreaType `json:"type"`
	// 都道府県コード。2桁の数字から成る文字列です。
	Code AreaCode `json:"code"`
	// 都道府県名
	Name string `json:"name"`
	// 都道府県に属する市区町村
	Cities []*City `json:"cities"`
	// 都道府県に属するデータセット(DatasetInput内のareasCodeの指定は無視されます)。
	Datasets []Dataset `json:"datasets"`
	// 地域の親となる地域のID。市区町村の親は都道府県です。政令指定都市の区の親は市です。
	ParentID *ID `json:"parentId,omitempty"`
	// 地域の親となる地域。
	Parent Area `json:"parent,omitempty"`
}

都道府県

func (Prefecture) GetCode

func (this Prefecture) GetCode() AreaCode

地域コード。行政コードや市区町村コードとも呼ばれます。 都道府県の場合は二桁の数字から成る文字列です。 市区町村の場合は、先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (Prefecture) GetDatasets

func (this Prefecture) GetDatasets() []Dataset

地域に属するデータセット(DatasetInput内のareasCodeの指定は無視されます)。

func (Prefecture) GetID

func (this Prefecture) GetID() ID

func (Prefecture) GetName

func (this Prefecture) GetName() string

地域名

func (Prefecture) GetParent

func (this Prefecture) GetParent() Area

地域の親となる地域。

func (Prefecture) GetParentID

func (this Prefecture) GetParentID() *ID

地域の親となる地域のID。市区町村の親は都道府県です。政令指定都市の区の親は市です。

func (Prefecture) GetType

func (this Prefecture) GetType() AreaType

地域の種類

func (Prefecture) IsArea

func (Prefecture) IsArea()

func (Prefecture) IsNode

func (Prefecture) IsNode()

type PrefectureResolver

type PrefectureResolver interface {
	Cities(ctx context.Context, obj *Prefecture) ([]*City, error)
	Datasets(ctx context.Context, obj *Prefecture, input *DatasetsInput) ([]Dataset, error)

	Parent(ctx context.Context, obj *Prefecture) (Area, error)
}

type Query

type Query struct {
}

PLATEAU GraphQL API のクエリルート。

type QueryResolver

type QueryResolver interface {
	Node(ctx context.Context, id ID) (Node, error)
	Nodes(ctx context.Context, ids []ID) ([]Node, error)
	Area(ctx context.Context, code AreaCode) (Area, error)
	Areas(ctx context.Context, input *AreasInput) ([]Area, error)
	DatasetTypes(ctx context.Context, input *DatasetTypesInput) ([]DatasetType, error)
	Datasets(ctx context.Context, input *DatasetsInput) ([]Dataset, error)
	PlateauSpecs(ctx context.Context) ([]*PlateauSpec, error)
	Years(ctx context.Context) ([]int, error)
}

type RelatedDataset

type RelatedDataset struct {
	ID ID `json:"id"`
	// データセット名
	Name string `json:"name"`
	// データセットの説明
	Description *string `json:"description,omitempty"`
	// データセットの整備年度(西暦)
	Year int `json:"year"`
	// データセットの公開年度(西暦)
	RegisterationYear int `json:"registerationYear"`
	// データセットを分類するグループ。グループが階層構造になっている場合は、親から子の順番で複数のグループ名が存在することがあります。
	Groups []string `json:"groups,omitempty"`
	// データセットの公開データのURL。
	OpenDataURL *string `json:"openDataUrl,omitempty"`
	// データセットが属する都道府県のID。
	PrefectureID *ID `json:"prefectureId,omitempty"`
	// データセットが属する都道府県コード。2桁の数字から成る文字列です。
	PrefectureCode *AreaCode `json:"prefectureCode,omitempty"`
	// データセットが属する市のID。
	CityID *ID `json:"cityId,omitempty"`
	// データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	CityCode *AreaCode `json:"cityCode,omitempty"`
	// データセットが属する区のID。
	WardID *ID `json:"wardId,omitempty"`
	// データセットが属する区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	WardCode *AreaCode `json:"wardCode,omitempty"`
	// データセットの種類のID。
	TypeID ID `json:"typeId"`
	// データセットの種類コード。
	TypeCode string `json:"typeCode"`
	// データセットが属する都道府県。
	Prefecture *Prefecture `json:"prefecture,omitempty"`
	// データセットが属する市。
	City *City `json:"city,omitempty"`
	// データセットが属する区。
	Ward *Ward `json:"ward,omitempty"`
	// データセットの種類。
	Type *RelatedDatasetType `json:"type"`
	// データセットのアイテム。
	Items []*RelatedDatasetItem `json:"items"`
	// 管理者用
	Admin interface{} `json:"admin,omitempty"`
}

PLATEAU都市モデルデータセットと併せて表示することで情報を補完できる、関連データセット。 避難施設・ランドマーク・鉄道駅・鉄道・緊急輸送道路・公園・行政界などのデータセット。

func (RelatedDataset) GetAdmin

func (this RelatedDataset) GetAdmin() interface{}

管理者用

func (RelatedDataset) GetCity

func (this RelatedDataset) GetCity() *City

データセットが属する市。

func (RelatedDataset) GetCityCode

func (this RelatedDataset) GetCityCode() *AreaCode

データセットが属する市コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (RelatedDataset) GetCityID

func (this RelatedDataset) GetCityID() *ID

データセットが属する市のID。

func (RelatedDataset) GetDescription

func (this RelatedDataset) GetDescription() *string

データセットの説明

func (RelatedDataset) GetGroups

func (this RelatedDataset) GetGroups() []string

データセットを分類するグループ。グループが階層構造になっている場合は、親から子の順番で複数のグループ名が存在することがあります。

func (RelatedDataset) GetID

func (this RelatedDataset) GetID() ID

func (RelatedDataset) GetItems

func (this RelatedDataset) GetItems() []DatasetItem

データセットのアイテム。

func (RelatedDataset) GetName

func (this RelatedDataset) GetName() string

データセット名

func (RelatedDataset) GetOpenDataURL

func (this RelatedDataset) GetOpenDataURL() *string

データセットの公開データのURL。

func (RelatedDataset) GetPrefecture

func (this RelatedDataset) GetPrefecture() *Prefecture

データセットが属する都道府県。

func (RelatedDataset) GetPrefectureCode

func (this RelatedDataset) GetPrefectureCode() *AreaCode

データセットが属する都道府県コード。2桁の数字から成る文字列です。

func (RelatedDataset) GetPrefectureID

func (this RelatedDataset) GetPrefectureID() *ID

データセットが属する都道府県のID。

func (RelatedDataset) GetRegisterationYear

func (this RelatedDataset) GetRegisterationYear() int

データセットの登録年度(西暦)

func (RelatedDataset) GetType

func (this RelatedDataset) GetType() DatasetType

データセットの種類。

func (RelatedDataset) GetTypeCode

func (this RelatedDataset) GetTypeCode() string

データセットの種類コード。

func (RelatedDataset) GetTypeID

func (this RelatedDataset) GetTypeID() ID

データセットの種類のID。

func (RelatedDataset) GetWard

func (this RelatedDataset) GetWard() *Ward

データセットが属する区。

func (RelatedDataset) GetWardCode

func (this RelatedDataset) GetWardCode() *AreaCode

データセットが属する区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (RelatedDataset) GetWardID

func (this RelatedDataset) GetWardID() *ID

データセットが属する区のID。

func (RelatedDataset) GetYear

func (this RelatedDataset) GetYear() int

データセットの整備年度(西暦)

func (RelatedDataset) IsDataset

func (RelatedDataset) IsDataset()

func (RelatedDataset) IsNode

func (RelatedDataset) IsNode()

type RelatedDatasetItem

type RelatedDatasetItem struct {
	ID ID `json:"id"`
	// データセットのアイテムのフォーマット。
	Format DatasetFormat `json:"format"`
	// データセットのアイテム名。
	Name string `json:"name"`
	// データセットのアイテムのURL。
	URL string `json:"url"`
	// データセットのアイテムの変換前データのフォーマット。
	// originalUrlフィールドが存在する場合のみ存在します。
	OriginalFormat *DatasetFormat `json:"originalFormat,omitempty"`
	// データセットのアイテムの変換前データのURL。
	// 鉄道駅情報・ランドマーク情報はurlフィールドではCZML形式で提供されていますが、元となったGeoJSONデータが存在します。
	OriginalURL *string `json:"originalUrl,omitempty"`
	// データセットのアイテムのレイヤー名。MVTやWMSなどのフォーマットの場合のみ存在。
	// レイヤー名が複数存在する場合は、同時に複数のレイヤーを表示可能であることを意味します。
	Layers []string `json:"layers,omitempty"`
	// データセットのアイテムが属するデータセットのID。
	ParentID ID `json:"parentId"`
	// データセットのアイテムが属するデータセット。
	Parent *RelatedDataset `json:"parent,omitempty"`
}

関連データセットのアイテム。

func (RelatedDatasetItem) GetFormat

func (this RelatedDatasetItem) GetFormat() DatasetFormat

データセットのアイテムのフォーマット。

func (RelatedDatasetItem) GetID

func (this RelatedDatasetItem) GetID() ID

func (RelatedDatasetItem) GetLayers

func (this RelatedDatasetItem) GetLayers() []string

データセットのアイテムのレイヤー名。MVTやWMSなどのフォーマットの場合のみ存在。 レイヤー名が複数存在する場合は、同時に複数のレイヤーを表示可能であることを意味します。

func (RelatedDatasetItem) GetName

func (this RelatedDatasetItem) GetName() string

データセットのアイテム名。

func (RelatedDatasetItem) GetParent

func (this RelatedDatasetItem) GetParent() Dataset

データセットのアイテムが属するデータセット。

func (RelatedDatasetItem) GetParentID

func (this RelatedDatasetItem) GetParentID() ID

データセットのアイテムが属するデータセットのID。

func (RelatedDatasetItem) GetURL

func (this RelatedDatasetItem) GetURL() string

データセットのアイテムのURL。

func (RelatedDatasetItem) IsDatasetItem

func (RelatedDatasetItem) IsDatasetItem()

func (RelatedDatasetItem) IsNode

func (RelatedDatasetItem) IsNode()

type RelatedDatasetItemResolver

type RelatedDatasetItemResolver interface {
	Parent(ctx context.Context, obj *RelatedDatasetItem) (*RelatedDataset, error)
}

type RelatedDatasetResolver

type RelatedDatasetResolver interface {
	Prefecture(ctx context.Context, obj *RelatedDataset) (*Prefecture, error)
	City(ctx context.Context, obj *RelatedDataset) (*City, error)
	Ward(ctx context.Context, obj *RelatedDataset) (*Ward, error)
	Type(ctx context.Context, obj *RelatedDataset) (*RelatedDatasetType, error)
}

type RelatedDatasetType

type RelatedDatasetType struct {
	ID ID `json:"id"`
	// データセットの種類コード。「park」など。
	Code string `json:"code"`
	// データセットの種類名。
	Name string `json:"name"`
	// データセットの種類のカテゴリ。
	Category DatasetTypeCategory `json:"category"`
	// データセットの種類の順番を示す数字。大きいほど後に表示されます。
	Order int `json:"order"`
	// データセット(DatasetInput内のincludeTypesとexcludeTypesの指定は無視されます)。
	Datasets []*RelatedDataset `json:"datasets"`
}

関連データセットの種類。

func (RelatedDatasetType) GetCategory

func (this RelatedDatasetType) GetCategory() DatasetTypeCategory

データセットの種類のカテゴリ。

func (RelatedDatasetType) GetCode

func (this RelatedDatasetType) GetCode() string

データセットの種類コード。 "bldg" など。

func (RelatedDatasetType) GetDatasets

func (this RelatedDatasetType) GetDatasets() []Dataset

データセット(DatasetInput内のincludeTypesとexcludeTypesの指定は無視されます)。

func (RelatedDatasetType) GetID

func (this RelatedDatasetType) GetID() ID

func (RelatedDatasetType) GetName

func (this RelatedDatasetType) GetName() string

データセットの種類名。

func (RelatedDatasetType) GetOrder

func (this RelatedDatasetType) GetOrder() int

データセットの種類の順番を示す数字。大きいほど後に表示されます。

func (RelatedDatasetType) IsDatasetType

func (RelatedDatasetType) IsDatasetType()

func (RelatedDatasetType) IsNode

func (RelatedDatasetType) IsNode()

type RelatedDatasetTypeResolver

type RelatedDatasetTypeResolver interface {
	Datasets(ctx context.Context, obj *RelatedDatasetType, input *DatasetsInput) ([]*RelatedDataset, error)
}

type Repo

type Repo interface {
	QueryResolver
	Name() string
}

type RepoUpdater

type RepoUpdater func(ctx context.Context, repo *Repo) error

type RepoWrapper

type RepoWrapper struct {
	// contains filtered or unexported fields
}

RepoWrapper is a thread-safe wrapper of Repo.

func NewRepoWrapper

func NewRepoWrapper(repo Repo, updater RepoUpdater) *RepoWrapper

func (*RepoWrapper) Area

func (a *RepoWrapper) Area(ctx context.Context, code AreaCode) (res Area, err error)

func (*RepoWrapper) Areas

func (a *RepoWrapper) Areas(ctx context.Context, input *AreasInput) (res []Area, err error)

func (*RepoWrapper) DatasetTypes

func (a *RepoWrapper) DatasetTypes(ctx context.Context, input *DatasetTypesInput) (res []DatasetType, err error)

func (*RepoWrapper) Datasets

func (a *RepoWrapper) Datasets(ctx context.Context, input *DatasetsInput) (res []Dataset, err error)

func (*RepoWrapper) GetRepo

func (a *RepoWrapper) GetRepo() Repo

func (*RepoWrapper) IsAvailable

func (a *RepoWrapper) IsAvailable() bool

func (*RepoWrapper) Name

func (a *RepoWrapper) Name() string

func (*RepoWrapper) Node

func (a *RepoWrapper) Node(ctx context.Context, id ID) (res Node, err error)

func (*RepoWrapper) Nodes

func (a *RepoWrapper) Nodes(ctx context.Context, ids []ID) (res []Node, err error)

func (*RepoWrapper) PlateauSpecs

func (a *RepoWrapper) PlateauSpecs(ctx context.Context) (res []*PlateauSpec, err error)

func (*RepoWrapper) SetMinCacheDuration

func (a *RepoWrapper) SetMinCacheDuration(d time.Duration)

func (*RepoWrapper) SetName

func (a *RepoWrapper) SetName(name string)

func (*RepoWrapper) SetRepo

func (a *RepoWrapper) SetRepo(repo Repo)

func (*RepoWrapper) Update

func (a *RepoWrapper) Update(ctx context.Context) (bool, error)

func (*RepoWrapper) UpdatedAt

func (a *RepoWrapper) UpdatedAt() time.Time

func (*RepoWrapper) Years

func (a *RepoWrapper) Years(ctx context.Context) (res []int, err error)

type Repos

type Repos struct {
	// contains filtered or unexported fields
}

func NewRepos

func NewRepos(u ReposUpdater) *Repos

func (*Repos) Prepare

func (r *Repos) Prepare(ctx context.Context, project string, year int, cms cms.Interface) error

func (*Repos) Projects

func (r *Repos) Projects() []string

func (*Repos) Repo

func (r *Repos) Repo(project string) *RepoWrapper

func (*Repos) Update

func (r *Repos) Update(ctx context.Context, project string) (bool, error)

Update updates the project's repo if it's not updated recently. If false is returned, it means the repo is not updated.

func (*Repos) UpdateAll

func (r *Repos) UpdateAll(ctx context.Context) error

func (*Repos) UpdatedAt

func (r *Repos) UpdatedAt(project string) time.Time

func (*Repos) Warnings

func (r *Repos) Warnings(project string) []string

type ReposUpdateResult

type ReposUpdateResult struct {
	Repo     Repo
	Warnings []string
}

type ReposUpdater

type ReposUpdater = func(ctx context.Context, project string) (*ReposUpdateResult, error)

type Resolver

type Resolver struct {
	Repo Repo
}

func (*Resolver) City

func (r *Resolver) City() CityResolver

City returns CityResolver implementation.

func (*Resolver) CityGMLDataset

func (r *Resolver) CityGMLDataset() CityGMLDatasetResolver

CityGMLDataset returns CityGMLDatasetResolver implementation.

func (*Resolver) GenericDataset

func (r *Resolver) GenericDataset() GenericDatasetResolver

GenericDataset returns GenericDatasetResolver implementation.

func (*Resolver) GenericDatasetItem

func (r *Resolver) GenericDatasetItem() GenericDatasetItemResolver

GenericDatasetItem returns GenericDatasetItemResolver implementation.

func (*Resolver) GenericDatasetType

func (r *Resolver) GenericDatasetType() GenericDatasetTypeResolver

GenericDatasetType returns GenericDatasetTypeResolver implementation.

func (*Resolver) PlateauDataset

func (r *Resolver) PlateauDataset() PlateauDatasetResolver

PlateauDataset returns PlateauDatasetResolver implementation.

func (*Resolver) PlateauDatasetItem

func (r *Resolver) PlateauDatasetItem() PlateauDatasetItemResolver

PlateauDatasetItem returns PlateauDatasetItemResolver implementation.

func (*Resolver) PlateauDatasetType

func (r *Resolver) PlateauDatasetType() PlateauDatasetTypeResolver

PlateauDatasetType returns PlateauDatasetTypeResolver implementation.

func (*Resolver) PlateauSpec

func (r *Resolver) PlateauSpec() PlateauSpecResolver

PlateauSpec returns PlateauSpecResolver implementation.

func (*Resolver) PlateauSpecMinor

func (r *Resolver) PlateauSpecMinor() PlateauSpecMinorResolver

PlateauSpecMinor returns PlateauSpecMinorResolver implementation.

func (*Resolver) Prefecture

func (r *Resolver) Prefecture() PrefectureResolver

Prefecture returns PrefectureResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

func (*Resolver) RelatedDataset

func (r *Resolver) RelatedDataset() RelatedDatasetResolver

RelatedDataset returns RelatedDatasetResolver implementation.

func (*Resolver) RelatedDatasetItem

func (r *Resolver) RelatedDatasetItem() RelatedDatasetItemResolver

RelatedDatasetItem returns RelatedDatasetItemResolver implementation.

func (*Resolver) RelatedDatasetType

func (r *Resolver) RelatedDatasetType() RelatedDatasetTypeResolver

RelatedDatasetType returns RelatedDatasetTypeResolver implementation.

func (*Resolver) Ward

func (r *Resolver) Ward() WardResolver

Ward returns WardResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	City() CityResolver
	CityGMLDataset() CityGMLDatasetResolver
	GenericDataset() GenericDatasetResolver
	GenericDatasetItem() GenericDatasetItemResolver
	GenericDatasetType() GenericDatasetTypeResolver
	PlateauDataset() PlateauDatasetResolver
	PlateauDatasetItem() PlateauDatasetItemResolver
	PlateauDatasetType() PlateauDatasetTypeResolver
	PlateauSpec() PlateauSpecResolver
	PlateauSpecMinor() PlateauSpecMinorResolver
	Prefecture() PrefectureResolver
	Query() QueryResolver
	RelatedDataset() RelatedDatasetResolver
	RelatedDatasetItem() RelatedDatasetItemResolver
	RelatedDatasetType() RelatedDatasetTypeResolver
	Ward() WardResolver
}

type River

type River struct {
	// 河川名。通常、「〜水系〜川」という形式になります。
	Name string `json:"name"`
	// 管理区間
	Admin RiverAdmin `json:"admin"`
}

洪水浸水想定区域モデルにおける河川。

type RiverAdmin

type RiverAdmin string

河川の管理区間

const (
	// 国管理区間
	RiverAdminNational RiverAdmin = "NATIONAL"
	// 都道府県管理区間
	RiverAdminPrefecture RiverAdmin = "PREFECTURE"
)

func (RiverAdmin) IsValid

func (e RiverAdmin) IsValid() bool

func (RiverAdmin) MarshalGQL

func (e RiverAdmin) MarshalGQL(w io.Writer)

func (RiverAdmin) String

func (e RiverAdmin) String() string

func (*RiverAdmin) UnmarshalGQL

func (e *RiverAdmin) UnmarshalGQL(v interface{}) error

type Texture

type Texture string

建築物モデルのテクスチャの種類。

const (
	// テクスチャなし
	TextureNone Texture = "NONE"
	// テクスチャあり
	TextureTexture Texture = "TEXTURE"
)

func (Texture) IsValid

func (e Texture) IsValid() bool

func (Texture) MarshalGQL

func (e Texture) MarshalGQL(w io.Writer)

func (Texture) String

func (e Texture) String() string

func (*Texture) UnmarshalGQL

func (e *Texture) UnmarshalGQL(v interface{}) error

type Type

type Type string
const (
	TypeDataset     Type = "d"
	TypeDatasetItem Type = "di"
	TypeDatasetType Type = "dt"
	TypePrefecture  Type = "p"
	TypeCity        Type = "c"
	TypeWard        Type = "w"
	TypePlateauSpec Type = "ps"
	TypeCityGML     Type = "cg"
)

type VagueID

type VagueID interface {
	VagueID() string
}

type Ward

type Ward struct {
	ID ID `json:"id"`
	// 種類
	Type AreaType `json:"type"`
	// 区コード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	Code AreaCode `json:"code"`
	// 区名
	Name string `json:"name"`
	// 区が属する都道府県のID。
	PrefectureID ID `json:"prefectureId"`
	// 区が属する都道府県コード。2桁の数字から成る文字列です。
	PrefectureCode AreaCode `json:"prefectureCode"`
	// 区が属する市のID。
	CityID ID `json:"cityId"`
	// 区が属する市のコード。先頭に都道府県コードを含む5桁の数字から成る文字列です。
	CityCode AreaCode `json:"cityCode"`
	// 区が属する都道府県。
	Prefecture *Prefecture `json:"prefecture,omitempty"`
	// 区が属する市。
	City *City `json:"city,omitempty"`
	// 区に属するデータセット(DatasetInput内のareasCodeの指定は無視されます)。
	Datasets []Dataset `json:"datasets"`
	// 地域の親となる地域のID。市区町村の親は都道府県です。政令指定都市の区の親は市です。
	ParentID *ID `json:"parentId,omitempty"`
	// 地域の親となる地域。
	Parent *City `json:"parent"`
}

区(政令指定都市のみ)

func (Ward) GetCode

func (this Ward) GetCode() AreaCode

地域コード。行政コードや市区町村コードとも呼ばれます。 都道府県の場合は二桁の数字から成る文字列です。 市区町村の場合は、先頭に都道府県コードを含む5桁の数字から成る文字列です。

func (Ward) GetDatasets

func (this Ward) GetDatasets() []Dataset

地域に属するデータセット(DatasetInput内のareasCodeの指定は無視されます)。

func (Ward) GetID

func (this Ward) GetID() ID

func (Ward) GetName

func (this Ward) GetName() string

地域名

func (Ward) GetParent

func (this Ward) GetParent() Area

地域の親となる地域。

func (Ward) GetParentID

func (this Ward) GetParentID() *ID

地域の親となる地域のID。市区町村の親は都道府県です。政令指定都市の区の親は市です。

func (Ward) GetType

func (this Ward) GetType() AreaType

地域の種類

func (Ward) IsArea

func (Ward) IsArea()

func (Ward) IsNode

func (Ward) IsNode()

type WardResolver

type WardResolver interface {
	Prefecture(ctx context.Context, obj *Ward) (*Prefecture, error)
	City(ctx context.Context, obj *Ward) (*City, error)
	Datasets(ctx context.Context, obj *Ward, input *DatasetsInput) ([]Dataset, error)

	Parent(ctx context.Context, obj *Ward) (*City, error)
}

type YearNode

type YearNode interface {
	GetYear() int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL