Parece que el mundo de la impresión 3D va llegando poco a poco al sector de la cartografía. Hace un par de meses hablábamos en Nosolosig de DEMto3D, una extensión libre y gratuita de Kosmo, que permite la impresión en tres dimensiones de Modelos de Elevaciones del Terreno (MDT y MDE), desarrollada por Francisco Javier Venceslá.

Hoy es el turno de Shp2stl, algo así como de shape (formato SIG de Esri) a STL, el formato más extendido en impresión 3D. Se trata de una utilidad publicada como un paquete NodeJS, disponible en npm y GitHub, que convierte los datos SIG en un modelo 3D, extruyendo cada polígono en función del campo de la base de datos que nosotros deseemos.

Como funciona

shp2stl es un paquete NodeJS y se puede instalar a través de npm, como cualquier paquete npm haciendo

npm install shp2stl 

Si no se tiene ya instalado es necesario descargar Node (que viene incluido con npm) ya que shp2stl no es un programa que se ejecute de forma independiente, si no que hay que usarlo en su propio código NodeJS.

La forma más fácil de entender cómo usar el paquete es a través de un ejemplo:

    var fs = require('fs');
    var shp2stl = require('shp2stl');
    var file ='SanFranciscoPopulation.shp';
    shp2stl.shp2stl(file,
    {
    width:100, //in STL arbitrary units, but typically 3D printers use mm
    height:10,
    extraBaseHeight:0,
    extrudeBy:"Pop_psmi",
    simplification:.8,
    binary:true,
    cutoutHoles:false,
    verbose:true,
    extrusionMode:'straight'
    },
    function(err, stl){
    fs.writeFileSync('SanFranciscoPopulation.stl', stl);
    }
    );

Eso producirá un modelo STL con cada polígono dimensionado por el valor, en este caso, del campo Pop_psmi. Desde luego cada usuario tiene que personalizar el ejemplo indicando el shape a tratar y especificando un campo del shape para utilizarlo como valor para la altura.

Doug McCune, autor del programa lo ha utilizado con algunos ejemplo, como en el caso del terremoto del 24 de agosto de 2014 en Napa (California, USA). Este es el shape de partida:

Luego se convierte en un modelo 3D usando shp2stl:

Y así es como puede quedar después de imprimirlo en 3D

 modelo imprimido en 3D

shp2stl se distribuye con una licencia MIT, licencia tipo opensource, que permite usar, copiar, modificar, fusionar, publicar... copias del software.

Puedes encontrar más información en el blog de Doug McCune y en su página en Github