Giter Club home page Giter Club logo

geojson2postgres's Introduction

geojson2postgres

Copy a geojson file to PostgreSQL

This package supports both a command line interface as well as a programmable API.

Command Line

To install:

npm install -g geojson2postgres

To run:

geojson2postgres <filename> <args> | psql <db>

args:
  --create (-c): drop the database if it exists and recreate it
  --file (-f) <filename>: the GeoJSON file to be processed
  --tablename (-t) <tablename>: the name of the SQL table to be created (defaults to the name of the GeoJSON file)

API

copyToDB(tablename, file, schema, emitRow)

Process a GeoJSON file and generate a PostgreSQL script to insert each feature into a database

Kind: global function

Param Type Description
tablename string Name of table to create in the database (table should not already exist)
file string Name of the input GeoJSON file
schema Array.<{name: string, type: string}> The schema of the table to be created. name is a column name and type is the type for that column
emitRow function A function that takes in a single GeoJSON feature and returns an object where the keys are column names defined in the schema and the values are the values to be entered into each column

Example

copyToDB({
	tablename : 'columbian_municipalities',
	file : process.argv[2],
	schema : [{name : 'department', type : 'text'}, {name : 'municipality', type : 'text'}],
	emitRow : function(feature){
		return {
			municipality : feature.properties.NOMBRE_MPI,
			department : feature.properties.NOMBRE_DPT
		};
	},
})

Where the json file looks something like:

{
  "type": "FeatureCollection",
  "crs": {
    "type": "name",
    "properties": {
      "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
    }
  },
  "features": [
    {
      "type": "Feature",
      "properties": {
        "AREA": 7516765785.590000,
        "PERIMETER": 475636.130236,
        "WCOLGEN02_": 2,
        "WCOLGEN021": 566,
        "DPTO": "44",
        "NOMBRE_DPT": "LA GUAJIRA",
        "MPIO": "847",
        "NOMBRE_MPI": "URIBIA",
        "NOMBRE_CAB": "URIBIA",
        "CLASEMUN": "CM",
        "MPIOS": "44847",
        "ZONA": "ZONA06",
        "OF_REG": "DABAR",
        "REG_ZONAS": "DABARZONA06",
        "HECTARES": 751676.579000
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -71.416042649212045,
              11.786808467660752
            ],
    		...
            [
              -71.416042649212045,
              11.786808467660752
            ]
          ]
        ]
      }
    }
  ]
}

geojson2postgres's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.