@@ -32,7 +32,9 @@ |
||
| 32 | 32 | |
| 33 | 33 | class Util { |
| 34 | 34 | public static function loadData($type, $data) { |
| 35 | - if (!$data) return $data; |
|
| 35 | + if (!$data) { |
|
| 36 | + return $data; |
|
| 37 | + } |
|
| 36 | 38 | $tmp = unpack($type, $data); |
| 37 | 39 | return current($tmp); |
| 38 | 40 | } |
@@ -73,7 +73,9 @@ discard block |
||
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | public function saveToFile($FileName = NULL) { |
| 76 | - if ($FileName != NULL) $this->FileName = $FileName; |
|
| 76 | + if ($FileName != NULL) { |
|
| 77 | + $this->FileName = $FileName; |
|
| 78 | + } |
|
| 77 | 79 | |
| 78 | 80 | if (($this->_openSHPFile(TRUE)) && ($this->_openSHXFile(TRUE)) && ($this->_openDBFFile(TRUE))) { |
| 79 | 81 | $this->_saveHeaders(); |
@@ -95,20 +97,36 @@ discard block |
||
| 95 | 97 | $this->records[] = $record; |
| 96 | 98 | $this->records[count($this->records) - 1]->recordNumber = count($this->records); |
| 97 | 99 | |
| 98 | - if ($this->boundingBox["xmin"]==0.0 || ($this->boundingBox["xmin"]>$record->SHPData["xmin"])) $this->boundingBox["xmin"] = $record->SHPData["xmin"]; |
|
| 99 | - if ($this->boundingBox["xmax"]==0.0 || ($this->boundingBox["xmax"]<$record->SHPData["xmax"])) $this->boundingBox["xmax"] = $record->SHPData["xmax"]; |
|
| 100 | + if ($this->boundingBox["xmin"]==0.0 || ($this->boundingBox["xmin"]>$record->SHPData["xmin"])) { |
|
| 101 | + $this->boundingBox["xmin"] = $record->SHPData["xmin"]; |
|
| 102 | + } |
|
| 103 | + if ($this->boundingBox["xmax"]==0.0 || ($this->boundingBox["xmax"]<$record->SHPData["xmax"])) { |
|
| 104 | + $this->boundingBox["xmax"] = $record->SHPData["xmax"]; |
|
| 105 | + } |
|
| 100 | 106 | |
| 101 | - if ($this->boundingBox["ymin"]==0.0 || ($this->boundingBox["ymin"]>$record->SHPData["ymin"])) $this->boundingBox["ymin"] = $record->SHPData["ymin"]; |
|
| 102 | - if ($this->boundingBox["ymax"]==0.0 || ($this->boundingBox["ymax"]<$record->SHPData["ymax"])) $this->boundingBox["ymax"] = $record->SHPData["ymax"]; |
|
| 107 | + if ($this->boundingBox["ymin"]==0.0 || ($this->boundingBox["ymin"]>$record->SHPData["ymin"])) { |
|
| 108 | + $this->boundingBox["ymin"] = $record->SHPData["ymin"]; |
|
| 109 | + } |
|
| 110 | + if ($this->boundingBox["ymax"]==0.0 || ($this->boundingBox["ymax"]<$record->SHPData["ymax"])) { |
|
| 111 | + $this->boundingBox["ymax"] = $record->SHPData["ymax"]; |
|
| 112 | + } |
|
| 103 | 113 | |
| 104 | 114 | if (in_array($this->shapeType,array(11,13,15,18,21,23,25,28))) { |
| 105 | - if (!isset($this->boundingBox["mmin"]) || $this->boundingBox["mmin"]==0.0 || ($this->boundingBox["mmin"]>$record->SHPData["mmin"])) $this->boundingBox["mmin"] = $record->SHPData["mmin"]; |
|
| 106 | - if (!isset($this->boundingBox["mmax"]) || $this->boundingBox["mmax"]==0.0 || ($this->boundingBox["mmax"]<$record->SHPData["mmax"])) $this->boundingBox["mmax"] = $record->SHPData["mmax"]; |
|
| 115 | + if (!isset($this->boundingBox["mmin"]) || $this->boundingBox["mmin"]==0.0 || ($this->boundingBox["mmin"]>$record->SHPData["mmin"])) { |
|
| 116 | + $this->boundingBox["mmin"] = $record->SHPData["mmin"]; |
|
| 117 | + } |
|
| 118 | + if (!isset($this->boundingBox["mmax"]) || $this->boundingBox["mmax"]==0.0 || ($this->boundingBox["mmax"]<$record->SHPData["mmax"])) { |
|
| 119 | + $this->boundingBox["mmax"] = $record->SHPData["mmax"]; |
|
| 120 | + } |
|
| 107 | 121 | } |
| 108 | 122 | |
| 109 | 123 | if (in_array($this->shapeType,array(11,13,15,18))) { |
| 110 | - if (!isset($this->boundingBox["zmin"]) || $this->boundingBox["zmin"]==0.0 || ($this->boundingBox["zmin"]>$record->SHPData["zmin"])) $this->boundingBox["zmin"] = $record->SHPData["zmin"]; |
|
| 111 | - if (!isset($this->boundingBox["zmax"]) || $this->boundingBox["zmax"]==0.0 || ($this->boundingBox["zmax"]<$record->SHPData["zmax"])) $this->boundingBox["zmax"] = $record->SHPData["zmax"]; |
|
| 124 | + if (!isset($this->boundingBox["zmin"]) || $this->boundingBox["zmin"]==0.0 || ($this->boundingBox["zmin"]>$record->SHPData["zmin"])) { |
|
| 125 | + $this->boundingBox["zmin"] = $record->SHPData["zmin"]; |
|
| 126 | + } |
|
| 127 | + if (!isset($this->boundingBox["zmax"]) || $this->boundingBox["zmax"]==0.0 || ($this->boundingBox["zmax"]<$record->SHPData["zmax"])) { |
|
| 128 | + $this->boundingBox["zmax"] = $record->SHPData["zmax"]; |
|
| 129 | + } |
|
| 112 | 130 | } |
| 113 | 131 | |
| 114 | 132 | return (count($this->records) - 1); |
@@ -465,8 +465,14 @@ discard block |
||
| 465 | 465 | case 1: |
| 466 | 466 | case 11: |
| 467 | 467 | case 21: |
| 468 | - if (in_array($this->shapeType,array(11,21)) && !isset($point["m"])) $point["m"] = 0.0; // no_value |
|
| 469 | - if (in_array($this->shapeType,array(11)) && !isset($point["z"])) $point["z"] = 0.0; // no_value |
|
| 468 | + if (in_array($this->shapeType,array(11,21)) && !isset($point["m"])) { |
|
| 469 | + $point["m"] = 0.0; |
|
| 470 | + } |
|
| 471 | + // no_value |
|
| 472 | + if (in_array($this->shapeType,array(11)) && !isset($point["z"])) { |
|
| 473 | + $point["z"] = 0.0; |
|
| 474 | + } |
|
| 475 | + // no_value |
|
| 470 | 476 | //Substitutes the value of the current point |
| 471 | 477 | $this->SHPData = $point; |
| 472 | 478 | break; |
@@ -476,18 +482,40 @@ discard block |
||
| 476 | 482 | case 15: |
| 477 | 483 | case 23: |
| 478 | 484 | case 25: |
| 479 | - if (in_array($this->shapeType,array(13,15,23,25)) && !isset($point["m"])) $point["m"] = 0.0; // no_value |
|
| 480 | - if (in_array($this->shapeType,array(13,15)) && !isset($point["z"])) $point["z"] = 0.0; // no_value |
|
| 485 | + if (in_array($this->shapeType,array(13,15,23,25)) && !isset($point["m"])) { |
|
| 486 | + $point["m"] = 0.0; |
|
| 487 | + } |
|
| 488 | + // no_value |
|
| 489 | + if (in_array($this->shapeType,array(13,15)) && !isset($point["z"])) { |
|
| 490 | + $point["z"] = 0.0; |
|
| 491 | + } |
|
| 492 | + // no_value |
|
| 481 | 493 | |
| 482 | 494 | //Adds a new point to the selected part |
| 483 | - if (!isset($this->SHPData["xmin"]) || ($this->SHPData["xmin"] > $point["x"])) $this->SHPData["xmin"] = $point["x"]; |
|
| 484 | - if (!isset($this->SHPData["ymin"]) || ($this->SHPData["ymin"] > $point["y"])) $this->SHPData["ymin"] = $point["y"]; |
|
| 485 | - if (isset($point["m"]) && (!isset($this->SHPData["mmin"]) || ($this->SHPData["mmin"] > $point["m"]))) $this->SHPData["mmin"] = $point["m"]; |
|
| 486 | - if (isset($point["z"]) && (!isset($this->SHPData["zmin"]) || ($this->SHPData["zmin"] > $point["z"]))) $this->SHPData["zmin"] = $point["z"]; |
|
| 487 | - if (!isset($this->SHPData["xmax"]) || ($this->SHPData["xmax"] < $point["x"])) $this->SHPData["xmax"] = $point["x"]; |
|
| 488 | - if (!isset($this->SHPData["ymax"]) || ($this->SHPData["ymax"] < $point["y"])) $this->SHPData["ymax"] = $point["y"]; |
|
| 489 | - if (isset($point["m"]) && (!isset($this->SHPData["mmax"]) || ($this->SHPData["mmax"] < $point["m"]))) $this->SHPData["mmax"] = $point["m"]; |
|
| 490 | - if (isset($point["z"]) && (!isset($this->SHPData["zmax"]) || ($this->SHPData["zmax"] < $point["z"]))) $this->SHPData["zmax"] = $point["z"]; |
|
| 495 | + if (!isset($this->SHPData["xmin"]) || ($this->SHPData["xmin"] > $point["x"])) { |
|
| 496 | + $this->SHPData["xmin"] = $point["x"]; |
|
| 497 | + } |
|
| 498 | + if (!isset($this->SHPData["ymin"]) || ($this->SHPData["ymin"] > $point["y"])) { |
|
| 499 | + $this->SHPData["ymin"] = $point["y"]; |
|
| 500 | + } |
|
| 501 | + if (isset($point["m"]) && (!isset($this->SHPData["mmin"]) || ($this->SHPData["mmin"] > $point["m"]))) { |
|
| 502 | + $this->SHPData["mmin"] = $point["m"]; |
|
| 503 | + } |
|
| 504 | + if (isset($point["z"]) && (!isset($this->SHPData["zmin"]) || ($this->SHPData["zmin"] > $point["z"]))) { |
|
| 505 | + $this->SHPData["zmin"] = $point["z"]; |
|
| 506 | + } |
|
| 507 | + if (!isset($this->SHPData["xmax"]) || ($this->SHPData["xmax"] < $point["x"])) { |
|
| 508 | + $this->SHPData["xmax"] = $point["x"]; |
|
| 509 | + } |
|
| 510 | + if (!isset($this->SHPData["ymax"]) || ($this->SHPData["ymax"] < $point["y"])) { |
|
| 511 | + $this->SHPData["ymax"] = $point["y"]; |
|
| 512 | + } |
|
| 513 | + if (isset($point["m"]) && (!isset($this->SHPData["mmax"]) || ($this->SHPData["mmax"] < $point["m"]))) { |
|
| 514 | + $this->SHPData["mmax"] = $point["m"]; |
|
| 515 | + } |
|
| 516 | + if (isset($point["z"]) && (!isset($this->SHPData["zmax"]) || ($this->SHPData["zmax"] < $point["z"]))) { |
|
| 517 | + $this->SHPData["zmax"] = $point["z"]; |
|
| 518 | + } |
|
| 491 | 519 | |
| 492 | 520 | $this->SHPData["parts"][$partIndex]["points"][] = $point; |
| 493 | 521 | |
@@ -497,18 +525,40 @@ discard block |
||
| 497 | 525 | case 8: |
| 498 | 526 | case 18: |
| 499 | 527 | case 28: |
| 500 | - if (in_array($this->shapeType,array(18,28)) && !isset($point["m"])) $point["m"] = 0.0; // no_value |
|
| 501 | - if (in_array($this->shapeType,array(18)) && !isset($point["z"])) $point["z"] = 0.0; // no_value |
|
| 528 | + if (in_array($this->shapeType,array(18,28)) && !isset($point["m"])) { |
|
| 529 | + $point["m"] = 0.0; |
|
| 530 | + } |
|
| 531 | + // no_value |
|
| 532 | + if (in_array($this->shapeType,array(18)) && !isset($point["z"])) { |
|
| 533 | + $point["z"] = 0.0; |
|
| 534 | + } |
|
| 535 | + // no_value |
|
| 502 | 536 | |
| 503 | 537 | //Adds a new point |
| 504 | - if (!isset($this->SHPData["xmin"]) || ($this->SHPData["xmin"] > $point["x"])) $this->SHPData["xmin"] = $point["x"]; |
|
| 505 | - if (!isset($this->SHPData["ymin"]) || ($this->SHPData["ymin"] > $point["y"])) $this->SHPData["ymin"] = $point["y"]; |
|
| 506 | - if (isset($point["m"]) && (!isset($this->SHPData["mmin"]) || ($this->SHPData["mmin"] > $point["m"]))) $this->SHPData["mmin"] = $point["m"]; |
|
| 507 | - if (isset($point["z"]) && (!isset($this->SHPData["zmin"]) || ($this->SHPData["zmin"] > $point["z"]))) $this->SHPData["zmin"] = $point["z"]; |
|
| 508 | - if (!isset($this->SHPData["xmax"]) || ($this->SHPData["xmax"] < $point["x"])) $this->SHPData["xmax"] = $point["x"]; |
|
| 509 | - if (!isset($this->SHPData["ymax"]) || ($this->SHPData["ymax"] < $point["y"])) $this->SHPData["ymax"] = $point["y"]; |
|
| 510 | - if (isset($point["m"]) && (!isset($this->SHPData["mmax"]) || ($this->SHPData["mmax"] < $point["m"]))) $this->SHPData["mmax"] = $point["m"]; |
|
| 511 | - if (isset($point["z"]) && (!isset($this->SHPData["zmax"]) || ($this->SHPData["zmax"] < $point["z"]))) $this->SHPData["zmax"] = $point["z"]; |
|
| 538 | + if (!isset($this->SHPData["xmin"]) || ($this->SHPData["xmin"] > $point["x"])) { |
|
| 539 | + $this->SHPData["xmin"] = $point["x"]; |
|
| 540 | + } |
|
| 541 | + if (!isset($this->SHPData["ymin"]) || ($this->SHPData["ymin"] > $point["y"])) { |
|
| 542 | + $this->SHPData["ymin"] = $point["y"]; |
|
| 543 | + } |
|
| 544 | + if (isset($point["m"]) && (!isset($this->SHPData["mmin"]) || ($this->SHPData["mmin"] > $point["m"]))) { |
|
| 545 | + $this->SHPData["mmin"] = $point["m"]; |
|
| 546 | + } |
|
| 547 | + if (isset($point["z"]) && (!isset($this->SHPData["zmin"]) || ($this->SHPData["zmin"] > $point["z"]))) { |
|
| 548 | + $this->SHPData["zmin"] = $point["z"]; |
|
| 549 | + } |
|
| 550 | + if (!isset($this->SHPData["xmax"]) || ($this->SHPData["xmax"] < $point["x"])) { |
|
| 551 | + $this->SHPData["xmax"] = $point["x"]; |
|
| 552 | + } |
|
| 553 | + if (!isset($this->SHPData["ymax"]) || ($this->SHPData["ymax"] < $point["y"])) { |
|
| 554 | + $this->SHPData["ymax"] = $point["y"]; |
|
| 555 | + } |
|
| 556 | + if (isset($point["m"]) && (!isset($this->SHPData["mmax"]) || ($this->SHPData["mmax"] < $point["m"]))) { |
|
| 557 | + $this->SHPData["mmax"] = $point["m"]; |
|
| 558 | + } |
|
| 559 | + if (isset($point["z"]) && (!isset($this->SHPData["zmax"]) || ($this->SHPData["zmax"] < $point["z"]))) { |
|
| 560 | + $this->SHPData["zmax"] = $point["z"]; |
|
| 561 | + } |
|
| 512 | 562 | |
| 513 | 563 | $this->SHPData["points"][] = $point; |
| 514 | 564 | $this->SHPData["numpoints"] = 1 + (isset($this->SHPData["numpoints"])?$this->SHPData["numpoints"]:0); |
@@ -530,8 +580,12 @@ discard block |
||
| 530 | 580 | //Sets the value of the point to zero |
| 531 | 581 | $this->SHPData["x"] = 0.0; |
| 532 | 582 | $this->SHPData["y"] = 0.0; |
| 533 | - if (in_array($this->shapeType,array(11,21))) $this->SHPData["m"] = 0.0; |
|
| 534 | - if (in_array($this->shapeType,array(11))) $this->SHPData["z"] = 0.0; |
|
| 583 | + if (in_array($this->shapeType,array(11,21))) { |
|
| 584 | + $this->SHPData["m"] = 0.0; |
|
| 585 | + } |
|
| 586 | + if (in_array($this->shapeType,array(11))) { |
|
| 587 | + $this->SHPData["z"] = 0.0; |
|
| 588 | + } |
|
| 535 | 589 | break; |
| 536 | 590 | case 3: |
| 537 | 591 | case 5: |