GeoScript visa fornecer um framework para a criação de scripts para realizar tarefas de processamento com GeoTools e Java Topology Suite (JTS). Em um recente post em seu blog, Darren Cope escreveu sobre a fusão de um diretório de shapefiles, um procedimento comum quando se trabalha com informações geográficas. Aqui vou demonstrar como fazer a mesma coisa com o GeoScript.

Para este exemplo será utilizado uma pasta contendo shapefiles do Censo Americano por estado, e iremos fundi-los em um único shapefile. O GeoScript fornece uma sintaxe familiar aos desenvolvedores que estão acostumados na criação de scripts. Veja:

// import modules
var workspace = require("geoscript/workspace");
var layer = require("geoscript/layer");

// create workspaces from existing directories
var source = new workspace.Directory("path/to/source_dir");
var target = new workspace.Directory("path/to/target_dir");

// iterate through layers in source workspace
var country;
source.names.forEach(function(name) {
    // create state layer from existing shapefile
    var state = source.get(name);
    // create country layer first time through
    if (!country) {
        country = new layer.Layer({
            schema: state.schema.clone({name: "country"})
        });
        // this creates the new shapefile on disk
        target.add(country);
    }
    // iterate through source features to add each to target 
    state.features.forEach(function(feature) {
        country.add(feature);
    });
});

Fonte: GeoScript Team