public String createTable(DataSetDescriptor dsd) {
		String tableName = dsd.getTablename();
		String nameGeomColumn = dsd.getGeoColumnName();
		String pk = dsd.getNamePK();
		List<Column> columns = dsd.getFields();
		int srid = 4326;
		String columnsToTable = "";
		String sqlCreateTable = "CREATE TABLE ";
		Column geoColumn = null;
		for(Column c: columns){
			if(c.getName().equals(nameGeomColumn)){
				geoColumn = new Column();
				geoColumn.setName(c.getName());
				geoColumn.setType(c.getType());
				columns.remove(c);
			}
		}
		if(geoColumn == null){
			geoColumn = new Column();
			geoColumn.setName(nameGeomColumn);
			geoColumn.setType(DataBaseType.GEOMETRY);
		}
		Iterator<Column> it = columns.iterator();
		Column c = (Column)it.next();
		columnsToTable += c.getName() + " " + c.getType();
		while(it.hasNext()){
			c = (Column)it.next();
			columnsToTable += ", " + c.getName() + " " + c.getType();
		}
		sqlCreateTable = sqlCreateTable + tableName + 
				" (" + pk + " SERIAL PRIMARY KEY, " +
				columnsToTable + ")";
		this.simpleJdbcTemplate.execute(sqlCreateTable);
		
		// Add the geometry field into DB
		String sqlGeometry = "Select AddGeometryColumn ('" + tableName
				+ "', '" + geoColumn.getName() 
				+ "', " + String.valueOf(srid)
				+ ", '" + geoColumn.getType()
				+ "', " + String.valueOf(2) + ")";
		
		this.simpleJdbcTemplate.execute(sqlGeometry);
		
		return tableName;
	}