0.2.1 • Published 1 year ago

@watergis/postgis2geojson v0.2.1

Weekly downloads
14
License
MIT
Repository
github
Last release
1 year ago

postgis2geojson

npm.io 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
0.2.1

1 year ago

0.2.0

1 year ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.8

5 years ago