Changeset 5946
- Timestamp:
- Dec 14, 2015, 1:53:24 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gui/scripts/map.tcl
r5932 r5946 30 30 } 31 31 32 public method addLayer { type name paramArray driver driverParamArray {stylesheet {}} {script {}} {selectors {}} } 32 33 public method addViewpoint { name props } 33 34 public method earthfile {} … … 451 452 } 452 453 454 itcl::body Rappture::Map::addLayer { type name paramArray driver driverParamArray {stylesheet {}} {script {}} {selectors {}} } { 455 set id "layer[incr _nextLayer]" 456 set parent [$_tree findchild root "layers"] 457 set child [$_tree insert $parent -label $id] 458 $_tree set $child "name" $name 459 $_tree set $child "type" $type 460 array set params $paramArray 461 foreach key { label description attribution profile srs verticalDatum } { 462 if {[info exists params($key)]} { 463 $_tree set $child $key $params($key) 464 } else { 465 $_tree set $child $key "" 466 } 467 } 468 # Common settings (for all layer types) with defaults 469 foreach { key defval } { visible 1 cache 1 } { 470 $_tree set $child $key $defval 471 if {[info exists params($key)]} { 472 set val $params($key) 473 if {$val != ""} { 474 $_tree set $child $key $val 475 } 476 } 477 } 478 # These are settings for which there should be no default 479 # We want to know if they have been set by the user or not 480 # Not all layer types use these 481 foreach key { coverage opacity content priority style } { 482 if {[info exists params($key)]} { 483 set val $params($key) 484 if {$val != ""} { 485 $_tree set $child $key $val 486 } 487 } 488 } 489 if {$stylesheet != ""} { 490 set val $stylesheet 491 # Normalize whitespace 492 regsub -all "\[ \t\r\n\]+" [string trim $val] " " val 493 $_tree set $child stylesheet $val 494 } 495 if {$script != ""} { 496 regsub -all "\[\r\n\]+" [string trim $script] " " script 497 $_tree set $child script $script 498 } 499 if {$selectors != ""} { 500 set sparent [$_tree insert $child -label "selectors"] 501 foreach selectorItem $selectors { 502 array set selector $selectorItem 503 set id "selector[incr _nextSelector]" 504 set snode [$_tree insert $sparent -label $id] 505 foreach key { name style styleExpression query queryBounds queryOrderBy } { 506 if {[info exists selector($key)]} { 507 set val $selector($key) 508 if {$val != ""} { 509 $_tree set $snode $key $val 510 } 511 } 512 } 513 } 514 } 515 $_tree set $child "driver" $driver 516 switch -- $driver { 517 "arcgis" { 518 array set params $driverParamArray 519 foreach key { url token format layers } { 520 if {[info exists params($key)]} { 521 set value $params($key) 522 $_tree set $child "arcgis.$key" $value 523 } 524 } 525 } 526 "colorramp" { 527 array set params $driverParamArray 528 $_tree set $child "colorramp.elevdriver" "gdal" 529 $_tree set $child "colorramp.colormap" "0 0 0 0 1 1 1 1 1 1" 530 if {[info exists params(colormap)]} { 531 set cmap $params(colormap) 532 if {$cmap != ""} { 533 # Normalize whitespace 534 regsub -all "\[ \t\r\n\]+" [string trim $cmap] " " cmap 535 $_tree set $child "colorramp.colormap" $cmap 536 } 537 } 538 foreach key { url elevdriver } { 539 if {[info exists params($key)]} { 540 set value $params($key) 541 if {$value != ""} { 542 $_tree set $child "colorramp.$key" $value 543 } 544 } 545 } 546 } 547 "gdal" { 548 array set params $driverParamArray 549 foreach key { url } { 550 set value $params($key) 551 $_tree set $child "gdal.$key" $value 552 } 553 } 554 "ogr" { 555 array set params $driverParamArray 556 foreach key { url } { 557 set value $params($key) 558 $_tree set $child "ogr.$key" $value 559 } 560 foreach key { connection geometry geometry_url layer ogr_driver build_spatial_index } { 561 if {[info exists params($key)]} { 562 set value $params($key) 563 if { $value != "" } { 564 $_tree set $child "ogr.$key" $value 565 } 566 } 567 } 568 } 569 "tfs" { 570 foreach key { url format } { 571 if {[info exists params($key)]} { 572 set value $params($key) 573 $_tree set $child "tfs.$key" $value 574 } 575 } 576 } 577 "tms" { 578 foreach key { url tmsType format } { 579 if {[info exists params($key)]} { 580 set value $params($key) 581 $_tree set $child "tms.$key" $value 582 } 583 } 584 } 585 "wcs" { 586 foreach key { url identifier format elevationUnit rangeSubset } { 587 if {[info exists params($key)]} { 588 set value $params($key) 589 $_tree set $child "wcs.$key" $value 590 } 591 } 592 } 593 "wfs" { 594 foreach key { url typename format maxfeatures requestBuffer } { 595 if {[info exists params($key)]} { 596 set value $params($key) 597 $_tree set $child "wfs.$key" $value 598 } 599 } 600 } 601 "wms" { 602 foreach key { url layers format transparent } { 603 if {[info exists params($key)]} { 604 set value $params($key) 605 $_tree set $child "wms.$key" $value 606 } 607 } 608 } 609 "xyz" { 610 foreach key { url } { 611 if {[info exists params($key)]} { 612 set value $params($key) 613 $_tree set $child "xyz.$key" $value 614 } 615 } 616 } 617 } 618 } 619 453 620 # ---------------------------------------------------------------------- 454 621 # USAGE: layers
Note: See TracChangeset
for help on using the changeset viewer.