Revision 821
org.gvsig.projection.jcrs/trunk/org.gvsig.projection.jcrs/org.gvsig.projection.jcrs.lib/src/main/java/org/gvsig/crs/CrsWkt.java | ||
---|---|---|
47 | 47 |
import javax.units.Unit; |
48 | 48 |
|
49 | 49 |
import org.apache.commons.lang3.StringUtils; |
50 |
import org.cresques.cts.ICRSFactory; |
|
50 | 51 |
import org.gdal.osr.SpatialReference; |
51 | 52 |
import org.geotools.referencing.CRS; |
52 | 53 |
import org.geotools.referencing.crs.AbstractSingleCRS; |
... | ... | |
55 | 56 |
import org.geotools.referencing.datum.DefaultEllipsoid; |
56 | 57 |
import org.geotools.referencing.datum.DefaultGeodeticDatum; |
57 | 58 |
import org.geotools.referencing.datum.DefaultPrimeMeridian; |
59 |
import org.gvsig.fmap.crs.CRSFactory; |
|
58 | 60 |
import org.opengis.referencing.FactoryException; |
59 | 61 |
import org.opengis.referencing.NoSuchAuthorityCodeException; |
60 | 62 |
import org.opengis.referencing.crs.CoordinateReferenceSystem; |
... | ... | |
102 | 104 |
* |
103 | 105 |
*/ |
104 | 106 |
public CrsWkt(SpatialReference spatialReference) { |
107 |
fromSpatialReference(spatialReference); |
|
108 |
} |
|
109 |
|
|
110 |
private void fromSpatialReference(SpatialReference spatialReference) { |
|
105 | 111 |
wkt = spatialReference.ExportToWkt(); |
106 | 112 |
projcs = spatialReference.GetAttrValue("PROJCS",0); |
107 | 113 |
if(StringUtils.isEmpty(projcs)){ |
... | ... | |
235 | 241 |
* @param isProj |
236 | 242 |
*/ |
237 | 243 |
private void fromWKT(String wkt, boolean isProj) { |
238 |
|
|
239 |
String res = new String(); |
|
240 |
if(!wkt.startsWith("EPSG:")) { |
|
241 |
res = ""; |
|
242 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
243 |
res += wkt.charAt(contador); |
|
244 |
} |
|
245 |
if(res.equals("GEOGCS[")) { |
|
246 |
|
|
247 |
contador++; |
|
248 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
249 |
geogcs += wkt.charAt(contador); |
|
250 |
} |
|
251 |
|
|
252 |
res = ""; |
|
253 |
contador++; |
|
254 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
255 |
res += wkt.charAt(contador); |
|
256 |
} |
|
257 |
if(res.equals(",DATUM[")) { |
|
258 |
contador++; |
|
259 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
260 |
datum += wkt.charAt(contador); |
|
261 |
} |
|
262 |
} |
|
263 |
res = ""; |
|
264 |
contador++; |
|
265 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
266 |
res += wkt.charAt(contador); |
|
267 |
} |
|
268 |
if(res.equals(",SPHEROID[")) { |
|
269 |
contador++; |
|
270 |
for(; wkt.charAt(contador) != ']'; contador++) { |
|
271 |
while(wkt.charAt(contador) != '"' ) { |
|
272 |
spheroid[0] += wkt.charAt(contador); |
|
273 |
contador++; |
|
274 |
} |
|
275 |
contador +=2; |
|
276 |
while(wkt.charAt(contador) != ',') { |
|
277 |
spheroid[1] += wkt.charAt(contador); |
|
278 |
contador++; |
|
279 |
} |
|
280 |
contador++; |
|
281 |
while(wkt.charAt(contador) != ']') { |
|
282 |
spheroid[2] += wkt.charAt(contador); |
|
283 |
contador++; |
|
284 |
} |
|
285 |
} |
|
286 |
} |
|
287 |
contador++; |
|
288 |
res = ""; |
|
289 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
290 |
res += wkt.charAt(contador); |
|
291 |
} |
|
292 |
if(res.equals(",PRIMEM[")) { |
|
293 |
contador++; |
|
294 |
for(; wkt.charAt(contador) != ','; contador++) { |
|
295 |
while(wkt.charAt(contador) != '"' ){ |
|
296 |
primem[0] += wkt.charAt(contador); |
|
297 |
contador ++; |
|
298 |
} |
|
299 |
contador +=2; |
|
300 |
while(wkt.charAt(contador) != ']') { |
|
301 |
primem[1] += wkt.charAt(contador); |
|
302 |
contador ++; |
|
303 |
} |
|
304 |
} |
|
305 |
} |
|
306 |
contador++; |
|
307 |
res = ""; |
|
308 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
309 |
res += wkt.charAt(contador); |
|
310 |
} |
|
311 |
if(res.equals("UNIT[")) { |
|
312 |
contador++; |
|
313 |
for(; wkt.charAt(contador) != ','; contador++) { |
|
314 |
while(wkt.charAt(contador) != '"' ){ |
|
315 |
unit[0] += wkt.charAt(contador); |
|
316 |
contador ++; |
|
317 |
} |
|
318 |
contador +=2; |
|
319 |
while(wkt.charAt(contador) != ']') { |
|
320 |
unit[1] += wkt.charAt(contador); |
|
321 |
contador ++; |
|
322 |
} |
|
323 |
} |
|
324 |
} |
|
325 |
contador++; |
|
326 |
res = ""; |
|
327 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
328 |
res += wkt.charAt(contador); |
|
329 |
} |
|
330 |
if(res.equals("AUTHORITY[")) { |
|
331 |
contador++; |
|
332 |
for(; wkt.charAt(contador) != ']'; contador++) { |
|
333 |
while(wkt.charAt(contador) != '"' ){ |
|
334 |
authority[0] += wkt.charAt(contador); |
|
335 |
contador ++; |
|
336 |
} |
|
337 |
contador +=2; |
|
338 |
while(wkt.charAt(contador) != ']') { |
|
339 |
authority[1] += wkt.charAt(contador); |
|
340 |
contador ++; |
|
341 |
} |
|
342 |
} |
|
343 |
} |
|
344 |
}else if (res.equals("PROJCS[")) { |
|
345 |
contador++; |
|
346 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
347 |
projcs += wkt.charAt(contador); |
|
348 |
} |
|
349 |
contador++; |
|
350 |
res = ""; |
|
351 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
352 |
res += wkt.charAt(contador); |
|
353 |
} |
|
354 |
if(res.equals(",GEOGCS[")) { |
|
355 |
contador++; |
|
356 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
357 |
geogcs += wkt.charAt(contador); |
|
358 |
} |
|
359 |
} |
|
360 |
|
|
361 |
res = ""; |
|
362 |
contador++; |
|
363 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
364 |
res += wkt.charAt(contador); |
|
365 |
} |
|
366 |
if(res.equals(",DATUM[")) { |
|
367 |
contador++; |
|
368 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
369 |
datum += wkt.charAt(contador); |
|
370 |
} |
|
371 |
} |
|
372 |
res = ""; |
|
373 |
contador++; |
|
374 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
375 |
res += wkt.charAt(contador); |
|
376 |
} |
|
377 |
if(res.equals(",SPHEROID[")) { |
|
378 |
contador++; |
|
379 |
for(; wkt.charAt(contador) != ']'; contador++) { |
|
380 |
while(wkt.charAt(contador) != '"' ) { |
|
381 |
spheroid[0] += wkt.charAt(contador); |
|
382 |
contador++; |
|
383 |
} |
|
384 |
contador +=2; |
|
385 |
while(wkt.charAt(contador) != ',') { |
|
386 |
spheroid[1] += wkt.charAt(contador); |
|
387 |
contador++; |
|
388 |
} |
|
389 |
contador++; |
|
390 |
while(wkt.charAt(contador) != ']') { |
|
391 |
spheroid[2] += wkt.charAt(contador); |
|
392 |
contador++; |
|
393 |
} |
|
394 |
} |
|
395 |
} |
|
396 |
contador++; |
|
397 |
res = ""; |
|
398 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
399 |
res += wkt.charAt(contador); |
|
400 |
} |
|
401 |
if(res.equals(",PRIMEM[")) { |
|
402 |
contador++; |
|
403 |
for(; wkt.charAt(contador) != ','; contador++) { |
|
404 |
while(wkt.charAt(contador) != '"' ){ |
|
405 |
primem[0] += wkt.charAt(contador); |
|
406 |
contador ++; |
|
407 |
} |
|
408 |
contador +=2; |
|
409 |
while(wkt.charAt(contador) != ']') { |
|
410 |
primem[1] += wkt.charAt(contador); |
|
411 |
contador ++; |
|
412 |
} |
|
413 |
} |
|
414 |
} |
|
415 |
contador++; |
|
416 |
res = ""; |
|
417 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
418 |
res += wkt.charAt(contador); |
|
419 |
} |
|
420 |
if(res.equals("UNIT[")) { |
|
421 |
contador++; |
|
422 |
for(; wkt.charAt(contador) != ']'; contador++) { |
|
423 |
while(wkt.charAt(contador) != '"' ){ |
|
424 |
unit[0] += wkt.charAt(contador); |
|
425 |
contador ++; |
|
426 |
} |
|
427 |
contador +=2; |
|
428 |
while(wkt.charAt(contador) != ']') { |
|
429 |
unit[1] += wkt.charAt(contador); |
|
430 |
contador ++; |
|
431 |
} |
|
432 |
} |
|
433 |
} |
|
434 |
contador++; |
|
435 |
res = ""; |
|
436 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
437 |
res += wkt.charAt(contador); |
|
438 |
} |
|
439 |
if(res.equals(",PROJECTION[")) { |
|
440 |
contador++; |
|
441 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
442 |
projection += wkt.charAt(contador); |
|
443 |
} |
|
444 |
} |
|
445 |
contador = contador+2; |
|
446 |
res = ""; |
|
447 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
448 |
res += wkt.charAt(contador); |
|
449 |
} |
|
450 |
//Hallamos el numero de parametros que tiene la cadena wkt |
|
451 |
int i = 0; |
|
452 |
|
|
453 |
int copiacontador = contador; |
|
454 |
if(res.equals(",PARAMETER[")) { |
|
455 |
do{ |
|
456 |
for(; wkt.charAt(copiacontador) != ']'; copiacontador++) { |
|
457 |
while(wkt.charAt(copiacontador) != '"' ) |
|
458 |
copiacontador++; |
|
459 |
copiacontador += 2; |
|
460 |
while(wkt.charAt(copiacontador) != ']' ) |
|
461 |
copiacontador++; |
|
462 |
copiacontador--; |
|
463 |
} |
|
464 |
i++; |
|
465 |
copiacontador++; |
|
466 |
res = ""; |
|
467 |
for(; wkt.charAt(copiacontador) != '"'; copiacontador++) { |
|
468 |
res += wkt.charAt(copiacontador); |
|
469 |
} |
|
470 |
} while (res.equals(",PARAMETER[")); |
|
471 |
res = ",PARAMETER["; |
|
472 |
} |
|
473 |
// Inicializamos los parametros |
|
474 |
param_name = new String[i]; |
|
475 |
param_value = new String[i]; |
|
476 |
for(int j = 0 ;j < i; j++ ){ |
|
477 |
param_name[j] = ""; |
|
478 |
param_value[j] = ""; |
|
479 |
} |
|
480 |
i = 0; |
|
481 |
if(res.equals(",PARAMETER[")) { |
|
482 |
do{ |
|
483 |
contador++; |
|
484 |
for(; wkt.charAt(contador) != ']'; contador++) { |
|
485 |
while(wkt.charAt(contador) != '"' ){ |
|
486 |
param_name[i] += wkt.charAt(contador); |
|
487 |
contador++; |
|
488 |
} |
|
489 |
contador += 2; |
|
490 |
while(wkt.charAt(contador) != ']' ){ |
|
491 |
param_value[i] += wkt.charAt(contador); |
|
492 |
contador++; |
|
493 |
} |
|
494 |
contador--; |
|
495 |
} |
|
496 |
i++; |
|
497 |
contador++; |
|
498 |
res = ""; |
|
499 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
500 |
res += wkt.charAt(contador); |
|
501 |
} |
|
502 |
} while (res.equals(",PARAMETER[")); |
|
503 |
} |
|
504 |
|
|
505 |
if (res.equals(",UNIT[")){ |
|
506 |
contador++; |
|
507 |
for(; wkt.charAt(contador) != ','; contador++) { |
|
508 |
while(wkt.charAt(contador) != '"' ){ |
|
509 |
unit_p[0] += wkt.charAt(contador); |
|
510 |
contador ++; |
|
511 |
} |
|
512 |
contador +=2; |
|
513 |
while(wkt.charAt(contador) != ']') { |
|
514 |
unit_p[1] += wkt.charAt(contador); |
|
515 |
contador ++; |
|
516 |
} |
|
517 |
} |
|
518 |
} |
|
519 |
contador++; |
|
520 |
res = ""; |
|
521 |
for(; wkt.charAt(contador) != '"'; contador++) { |
|
522 |
res += wkt.charAt(contador); |
|
523 |
} |
|
524 |
if(res.equals("AUTHORITY[")) { |
|
525 |
contador++; |
|
526 |
for(; wkt.charAt(contador) != ']'; contador++) { |
|
527 |
while(wkt.charAt(contador) != '"' ){ |
|
528 |
authority[0] += wkt.charAt(contador); |
|
529 |
contador ++; |
|
530 |
} |
|
531 |
contador +=2; |
|
532 |
while(wkt.charAt(contador) != ']') { |
|
533 |
authority[1] += wkt.charAt(contador); |
|
534 |
contador ++; |
|
535 |
} |
|
536 |
} |
|
537 |
} |
|
538 |
} |
|
539 |
else if (res.equals("GEOCCS[")){ |
|
540 |
/* |
|
541 |
* parte necesaria para capturar la cadena geocentrica... |
|
542 |
*/ |
|
543 |
|
|
544 |
} |
|
545 |
}else |
|
546 |
geogcs = wkt; |
|
244 |
SpatialReference sr = CrsFactory.getSpatialReferenceFromWKT(wkt); |
|
245 |
fromSpatialReference(sr); |
|
246 |
// String res = new String(); |
|
247 |
// if(!wkt.startsWith("EPSG:")) { |
|
248 |
// res = ""; |
|
249 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
250 |
// res += wkt.charAt(contador); |
|
251 |
// } |
|
252 |
// if(res.equals("GEOGCS[")) { |
|
253 |
// |
|
254 |
// contador++; |
|
255 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
256 |
// geogcs += wkt.charAt(contador); |
|
257 |
// } |
|
258 |
// |
|
259 |
// res = ""; |
|
260 |
// contador++; |
|
261 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
262 |
// res += wkt.charAt(contador); |
|
263 |
// } |
|
264 |
// if(res.equals(",DATUM[")) { |
|
265 |
// contador++; |
|
266 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
267 |
// datum += wkt.charAt(contador); |
|
268 |
// } |
|
269 |
// } |
|
270 |
// res = ""; |
|
271 |
// contador++; |
|
272 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
273 |
// res += wkt.charAt(contador); |
|
274 |
// } |
|
275 |
// if(res.equals(",SPHEROID[")) { |
|
276 |
// contador++; |
|
277 |
// for(; wkt.charAt(contador) != ']'; contador++) { |
|
278 |
// while(wkt.charAt(contador) != '"' ) { |
|
279 |
// spheroid[0] += wkt.charAt(contador); |
|
280 |
// contador++; |
|
281 |
// } |
|
282 |
// contador +=2; |
|
283 |
// while(wkt.charAt(contador) != ',') { |
|
284 |
// spheroid[1] += wkt.charAt(contador); |
|
285 |
// contador++; |
|
286 |
// } |
|
287 |
// contador++; |
|
288 |
// while(wkt.charAt(contador) != ']') { |
|
289 |
// spheroid[2] += wkt.charAt(contador); |
|
290 |
// contador++; |
|
291 |
// } |
|
292 |
// } |
|
293 |
// } |
|
294 |
// contador++; |
|
295 |
// res = ""; |
|
296 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
297 |
// res += wkt.charAt(contador); |
|
298 |
// } |
|
299 |
// if(res.equals(",PRIMEM[")) { |
|
300 |
// contador++; |
|
301 |
// for(; wkt.charAt(contador) != ','; contador++) { |
|
302 |
// while(wkt.charAt(contador) != '"' ){ |
|
303 |
// primem[0] += wkt.charAt(contador); |
|
304 |
// contador ++; |
|
305 |
// } |
|
306 |
// contador +=2; |
|
307 |
// while(wkt.charAt(contador) != ']') { |
|
308 |
// primem[1] += wkt.charAt(contador); |
|
309 |
// contador ++; |
|
310 |
// } |
|
311 |
// } |
|
312 |
// } |
|
313 |
// contador++; |
|
314 |
// res = ""; |
|
315 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
316 |
// res += wkt.charAt(contador); |
|
317 |
// } |
|
318 |
// if(res.equals("UNIT[")) { |
|
319 |
// contador++; |
|
320 |
// for(; wkt.charAt(contador) != ','; contador++) { |
|
321 |
// while(wkt.charAt(contador) != '"' ){ |
|
322 |
// unit[0] += wkt.charAt(contador); |
|
323 |
// contador ++; |
|
324 |
// } |
|
325 |
// contador +=2; |
|
326 |
// while(wkt.charAt(contador) != ']') { |
|
327 |
// unit[1] += wkt.charAt(contador); |
|
328 |
// contador ++; |
|
329 |
// } |
|
330 |
// } |
|
331 |
// } |
|
332 |
// contador++; |
|
333 |
// res = ""; |
|
334 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
335 |
// res += wkt.charAt(contador); |
|
336 |
// } |
|
337 |
// if(res.equals("AUTHORITY[")) { |
|
338 |
// contador++; |
|
339 |
// for(; wkt.charAt(contador) != ']'; contador++) { |
|
340 |
// while(wkt.charAt(contador) != '"' ){ |
|
341 |
// authority[0] += wkt.charAt(contador); |
|
342 |
// contador ++; |
|
343 |
// } |
|
344 |
// contador +=2; |
|
345 |
// while(wkt.charAt(contador) != ']') { |
|
346 |
// authority[1] += wkt.charAt(contador); |
|
347 |
// contador ++; |
|
348 |
// } |
|
349 |
// } |
|
350 |
// } |
|
351 |
// }else if (res.equals("PROJCS[")) { |
|
352 |
// contador++; |
|
353 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
354 |
// projcs += wkt.charAt(contador); |
|
355 |
// } |
|
356 |
// contador++; |
|
357 |
// res = ""; |
|
358 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
359 |
// res += wkt.charAt(contador); |
|
360 |
// } |
|
361 |
// if(res.equals(",GEOGCS[")) { |
|
362 |
// contador++; |
|
363 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
364 |
// geogcs += wkt.charAt(contador); |
|
365 |
// } |
|
366 |
// } |
|
367 |
// |
|
368 |
// res = ""; |
|
369 |
// contador++; |
|
370 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
371 |
// res += wkt.charAt(contador); |
|
372 |
// } |
|
373 |
// if(res.equals(",DATUM[")) { |
|
374 |
// contador++; |
|
375 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
376 |
// datum += wkt.charAt(contador); |
|
377 |
// } |
|
378 |
// } |
|
379 |
// res = ""; |
|
380 |
// contador++; |
|
381 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
382 |
// res += wkt.charAt(contador); |
|
383 |
// } |
|
384 |
// if(res.equals(",SPHEROID[")) { |
|
385 |
// contador++; |
|
386 |
// for(; wkt.charAt(contador) != ']'; contador++) { |
|
387 |
// while(wkt.charAt(contador) != '"' ) { |
|
388 |
// spheroid[0] += wkt.charAt(contador); |
|
389 |
// contador++; |
|
390 |
// } |
|
391 |
// contador +=2; |
|
392 |
// while(wkt.charAt(contador) != ',') { |
|
393 |
// spheroid[1] += wkt.charAt(contador); |
|
394 |
// contador++; |
|
395 |
// } |
|
396 |
// contador++; |
|
397 |
// while(wkt.charAt(contador) != ']') { |
|
398 |
// spheroid[2] += wkt.charAt(contador); |
|
399 |
// contador++; |
|
400 |
// } |
|
401 |
// } |
|
402 |
// } |
|
403 |
// contador++; |
|
404 |
// res = ""; |
|
405 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
406 |
// res += wkt.charAt(contador); |
|
407 |
// } |
|
408 |
// if(res.equals(",PRIMEM[")) { |
|
409 |
// contador++; |
|
410 |
// for(; wkt.charAt(contador) != ','; contador++) { |
|
411 |
// while(wkt.charAt(contador) != '"' ){ |
|
412 |
// primem[0] += wkt.charAt(contador); |
|
413 |
// contador ++; |
|
414 |
// } |
|
415 |
// contador +=2; |
|
416 |
// while(wkt.charAt(contador) != ']') { |
|
417 |
// primem[1] += wkt.charAt(contador); |
|
418 |
// contador ++; |
|
419 |
// } |
|
420 |
// } |
|
421 |
// } |
|
422 |
// contador++; |
|
423 |
// res = ""; |
|
424 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
425 |
// res += wkt.charAt(contador); |
|
426 |
// } |
|
427 |
// if(res.equals("UNIT[")) { |
|
428 |
// contador++; |
|
429 |
// for(; wkt.charAt(contador) != ']'; contador++) { |
|
430 |
// while(wkt.charAt(contador) != '"' ){ |
|
431 |
// unit[0] += wkt.charAt(contador); |
|
432 |
// contador ++; |
|
433 |
// } |
|
434 |
// contador +=2; |
|
435 |
// while(wkt.charAt(contador) != ']') { |
|
436 |
// unit[1] += wkt.charAt(contador); |
|
437 |
// contador ++; |
|
438 |
// } |
|
439 |
// } |
|
440 |
// } |
|
441 |
// contador++; |
|
442 |
// res = ""; |
|
443 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
444 |
// res += wkt.charAt(contador); |
|
445 |
// } |
|
446 |
// if(res.equals(",PROJECTION[")) { |
|
447 |
// contador++; |
|
448 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
449 |
// projection += wkt.charAt(contador); |
|
450 |
// } |
|
451 |
// } |
|
452 |
// contador = contador+2; |
|
453 |
// res = ""; |
|
454 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
455 |
// res += wkt.charAt(contador); |
|
456 |
// } |
|
457 |
// //Hallamos el numero de parametros que tiene la cadena wkt |
|
458 |
// int i = 0; |
|
459 |
// |
|
460 |
// int copiacontador = contador; |
|
461 |
// if(res.equals(",PARAMETER[")) { |
|
462 |
// do{ |
|
463 |
// for(; wkt.charAt(copiacontador) != ']'; copiacontador++) { |
|
464 |
// while(wkt.charAt(copiacontador) != '"' ) |
|
465 |
// copiacontador++; |
|
466 |
// copiacontador += 2; |
|
467 |
// while(wkt.charAt(copiacontador) != ']' ) |
|
468 |
// copiacontador++; |
|
469 |
// copiacontador--; |
|
470 |
// } |
|
471 |
// i++; |
|
472 |
// copiacontador++; |
|
473 |
// res = ""; |
|
474 |
// for(; wkt.charAt(copiacontador) != '"'; copiacontador++) { |
|
475 |
// res += wkt.charAt(copiacontador); |
|
476 |
// } |
|
477 |
// } while (res.equals(",PARAMETER[")); |
|
478 |
// res = ",PARAMETER["; |
|
479 |
// } |
|
480 |
// // Inicializamos los parametros |
|
481 |
// param_name = new String[i]; |
|
482 |
// param_value = new String[i]; |
|
483 |
// for(int j = 0 ;j < i; j++ ){ |
|
484 |
// param_name[j] = ""; |
|
485 |
// param_value[j] = ""; |
|
486 |
// } |
|
487 |
// i = 0; |
|
488 |
// if(res.equals(",PARAMETER[")) { |
|
489 |
// do{ |
|
490 |
// contador++; |
|
491 |
// for(; wkt.charAt(contador) != ']'; contador++) { |
|
492 |
// while(wkt.charAt(contador) != '"' ){ |
|
493 |
// param_name[i] += wkt.charAt(contador); |
|
494 |
// contador++; |
|
495 |
// } |
|
496 |
// contador += 2; |
|
497 |
// while(wkt.charAt(contador) != ']' ){ |
|
498 |
// param_value[i] += wkt.charAt(contador); |
|
499 |
// contador++; |
|
500 |
// } |
|
501 |
// contador--; |
|
502 |
// } |
|
503 |
// i++; |
|
504 |
// contador++; |
|
505 |
// res = ""; |
|
506 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
507 |
// res += wkt.charAt(contador); |
|
508 |
// } |
|
509 |
// } while (res.equals(",PARAMETER[")); |
|
510 |
// } |
|
511 |
// |
|
512 |
// if (res.equals(",UNIT[")){ |
|
513 |
// contador++; |
|
514 |
// for(; wkt.charAt(contador) != ','; contador++) { |
|
515 |
// while(wkt.charAt(contador) != '"' ){ |
|
516 |
// unit_p[0] += wkt.charAt(contador); |
|
517 |
// contador ++; |
|
518 |
// } |
|
519 |
// contador +=2; |
|
520 |
// while(wkt.charAt(contador) != ']') { |
|
521 |
// unit_p[1] += wkt.charAt(contador); |
|
522 |
// contador ++; |
|
523 |
// } |
|
524 |
// } |
|
525 |
// } |
|
526 |
// contador++; |
|
527 |
// res = ""; |
|
528 |
// for(; wkt.charAt(contador) != '"'; contador++) { |
|
529 |
// res += wkt.charAt(contador); |
|
530 |
// } |
|
531 |
// if(res.equals("AUTHORITY[")) { |
|
532 |
// contador++; |
|
533 |
// for(; wkt.charAt(contador) != ']'; contador++) { |
|
534 |
// while(wkt.charAt(contador) != '"' ){ |
|
535 |
// authority[0] += wkt.charAt(contador); |
|
536 |
// contador ++; |
|
537 |
// } |
|
538 |
// contador +=2; |
|
539 |
// while(wkt.charAt(contador) != ']') { |
|
540 |
// authority[1] += wkt.charAt(contador); |
|
541 |
// contador ++; |
|
542 |
// } |
|
543 |
// } |
|
544 |
// } |
|
545 |
// } |
|
546 |
// else if (res.equals("GEOCCS[")){ |
|
547 |
// /* |
|
548 |
// * parte necesaria para capturar la cadena geocentrica... |
|
549 |
// */ |
|
550 |
// |
|
551 |
// } |
|
552 |
// }else |
|
553 |
// geogcs = wkt; |
|
547 | 554 |
} |
548 | 555 |
|
549 | 556 |
public String getProjection() { |
... | ... | |
742 | 749 |
|
743 | 750 |
} |
744 | 751 |
|
745 |
private void parseWKT(String data) { |
|
746 |
WKT wkt = new WKT(data); |
|
747 |
} |
|
752 |
// private void parseWKT(String data) {
|
|
753 |
// WKT wkt = new WKT(data);
|
|
754 |
// }
|
|
748 | 755 |
|
749 | 756 |
public void setProjcs (String proj) { |
750 | 757 |
this.projcs = proj; |
Also available in: Unified diff