@watergis/postgis2geojson
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

postgis2geojson

GitHub

This module is to extract GeoJSON files by SQL from PostGIS database.

Install

npm install @watergis/postgis2geojson

Usage

const {postgis2geojson} = require('@watergis/postgis2geojson');
const config = require('./config');

const pg2json = new postgis2geojson(config);
pg2json.run().then(res=>{
    console.log(res);
}).catch(err=>{
    console.log(err);
})

config.js

module.exports = {
    db: {
        user:process.env.DB_USER,
        password:process.env.DB_PASSWORD,
        host:process.env.DB_HOST,
        port:process.env.DB_PORT,
        database:'narwassco',
    },
    layers : [
      {
          name: 'pipeline',
          geojsonFileName: export_dir + '/pipeline.geojson',
          select: `
          SELECT row_to_json(featurecollection) AS json FROM (
              SELECT
                'FeatureCollection' AS type,
                array_to_json(array_agg(feature)) AS features
              FROM (
                SELECT
                  'Feature' AS type,
                  ST_AsGeoJSON(ST_TRANSFORM(ST_MakeValid(x.geom),4326))::json AS geometry,
                  row_to_json((
                    SELECT p FROM (
                      SELECT
                        x.pipeid as fid,
                        a.name as pipetype,
                        x.pipesize,
                        b.name as material,
                        x.constructiondate,
                        x.insertdate,
                        x.updatedate,
                        x."Town"
                    ) AS p
                  )) AS properties
                FROM pipenet x
                INNER JOIN pipetype a
                ON x.pipetypeid = a.pipetypeid
                INNER JOIN material b
                ON x.materialid = b.materialid
                WHERE NOT ST_IsEmpty(x.geom)
              ) AS feature
            ) AS featurecollection
          `
      },
    ]
}

See the test module under test directory.

Build

npm run build

Test

npm run test

Readme

Keywords

none

Package Sidebar

Install

npm i @watergis/postgis2geojson

Weekly Downloads

4

Version

0.2.1

License

MIT

Unpacked Size

18.5 kB

Total Files

19

Last publish

Collaborators

  • j_igarashi