Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ghengeveld/graphql-geojson

GraphQL schema object types for GeoJSON
https://github.com/ghengeveld/graphql-geojson

Last synced: 3 months ago
JSON representation

GraphQL schema object types for GeoJSON

Awesome Lists containing this project

README

        

# graphql-geojson

[![npm version][npm shield]][npm url]

GraphQL schema object types for GeoJSON. Based on [GeoJSON Object Schema][geojson schema].

[npm shield]: https://img.shields.io/npm/v/graphql-geojson.svg
[npm url]: https://www.npmjs.com/package/graphql-geojson
[geojson schema]: https://github.com/sogko/graphql-schemas/tree/master/geojson

## Installation

```bash
npm i -S graphql-geojson
```

or with Yarn:

```bash
yarn add graphql-geojson
```

## Usage

```js
import { GraphQLObjectType, GraphQLSchema } from 'graphql'
import { PointObject } from 'graphql-geojson'

export default new GraphQLSchema({
query: new GraphQLObjectType({
name: 'Query',
fields: () => ({
point: {
type: PointObject,
resolve: () => ({
type: 'Point',
coordinates: [-105.01621, 39.57422],
crs: {
type: 'name',
properties: {
name: 'urn:ogc:def:crs:OGC:1.3:CRS84',
},
},
}),
},
}),
}),
})
```

Then you can query it like this:

```graphql
query {
point {
type
coordinates
crs {
type
properties {
... on GeoJSONNamedCRSProperties {
name
}
}
}
}
}
```

## Demo

An example GraphQL server implementation is available here:
https://github.com/ghengeveld/graphql-geojson-demo