Revision 23271 branches/v10/extensions/extLidar/src/com/dielmo/gvsig/lidar/drivers/LiDARDriver.java
LiDARDriver.java | ||
---|---|---|
62 | 62 |
public class LiDARDriver implements VectorialFileDriver, ObjectDriver, |
63 | 63 |
IWriteable, ISpatialWriter { |
64 | 64 |
|
65 |
/** |
|
66 |
* Nombre del driver. |
|
67 |
*/ |
|
65 | 68 |
private static final String driverName = "gvSIG LIDAR driver"; |
66 | 69 |
// Variables para el manejo del fichero LiDAR |
70 |
|
|
71 |
/** |
|
72 |
* Fichero LiDAR que manejamos. |
|
73 |
*/ |
|
67 | 74 |
private File m_Fich; |
75 |
|
|
76 |
/** |
|
77 |
* Fichero temporal usado por el writer. |
|
78 |
*/ |
|
68 | 79 |
private File fTemp; |
80 |
|
|
81 |
/** |
|
82 |
* buffer de 8 Kbytes |
|
83 |
*/ |
|
69 | 84 |
private BigByteBuffer2 bb; |
85 |
|
|
86 |
/** |
|
87 |
* canal para leer, escribir y manipular el fichero lidar |
|
88 |
*/ |
|
70 | 89 |
private FileChannel channel; |
90 |
|
|
91 |
/** |
|
92 |
* para manejar la lectura de datos de entrada del fichero lidar. |
|
93 |
*/ |
|
71 | 94 |
private FileInputStream fin; |
72 | 95 |
|
73 | 96 |
// informacion del LiDAR |
97 |
/** |
|
98 |
* fullExtent de la capa LiDAR |
|
99 |
*/ |
|
74 | 100 |
private Rectangle2D fullExtent; |
101 |
|
|
102 |
/** |
|
103 |
* Definicion de uno de los tipos de punto LiDAR |
|
104 |
*/ |
|
75 | 105 |
private LidarPoint lp; |
106 |
|
|
107 |
/** |
|
108 |
* Definicion de uno de los tipos de cabecera LiDAR |
|
109 |
*/ |
|
76 | 110 |
private LidarHeader hdr; |
77 | 111 |
|
78 |
// descripcion de los campos LiDAR |
|
112 |
/** |
|
113 |
* descripcion de los campos LiDAR |
|
114 |
*/ |
|
79 | 115 |
private FieldDescription[] fields; |
80 | 116 |
|
81 | 117 |
// Writer |
118 |
/** |
|
119 |
* writer asignado al LiDAR |
|
120 |
*/ |
|
82 | 121 |
private LiDARWriter lidarWriter = new LiDARWriter(); |
122 |
|
|
123 |
/** |
|
124 |
* Directorio temporal para trabajar en modo edicion en un directorio temporal. |
|
125 |
*/ |
|
83 | 126 |
private static String tempDirectoryPath = System.getProperty("java.io.tmpdir"); |
84 | 127 |
|
85 | 128 |
/** |
... | ... | |
238 | 281 |
return FShape.POINT; |
239 | 282 |
} |
240 | 283 |
|
284 |
/** |
|
285 |
* Indica si el fichero se puede modificar. |
|
286 |
*/ |
|
241 | 287 |
public boolean isWritable() { |
242 | 288 |
return m_Fich.canWrite(); |
243 | 289 |
} |
... | ... | |
384 | 430 |
return true; |
385 | 431 |
} |
386 | 432 |
|
433 |
/** |
|
434 |
* Trabajo a realizar antes de empezar a recorrer las geometrias. |
|
435 |
*/ |
|
387 | 436 |
public void preProcess() throws EditionException { |
388 | 437 |
lidarWriter.preProcess(); |
389 | 438 |
} |
... | ... | |
392 | 441 |
lidarWriter.process(row); |
393 | 442 |
} |
394 | 443 |
|
444 |
/** |
|
445 |
* Trabajo a realizar despues de terminar de recorrer las geometrias. |
|
446 |
*/ |
|
395 | 447 |
public void postProcess() throws EditionException { |
396 | 448 |
lidarWriter.postProcess(); |
397 | 449 |
|
Also available in: Unified diff