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