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