@@ -5,14 +5,14 @@ |
||
5 | 5 | $shp->loadFromFile('data/mexico.*'); |
6 | 6 | |
7 | 7 | $i = 1; |
8 | -foreach($shp->records as $record){ |
|
8 | +foreach ($shp->records as $record) { |
|
9 | 9 | echo "<pre>"; |
10 | 10 | echo "Record No. $i:\n\n\n"; |
11 | 11 | echo "SHP Data = "; |
12 | - print_r($record->SHPData); //All the data related to the poligon |
|
12 | + print_r($record->SHPData); //All the data related to the poligon |
|
13 | 13 | print_r("\n\n\n"); |
14 | 14 | echo "DBF Data = "; |
15 | - print_r($record->DBFData); //All the information related to each poligon |
|
15 | + print_r($record->DBFData); //All the information related to each poligon |
|
16 | 16 | print_r("\n\n\n"); |
17 | 17 | echo "</pre>"; |
18 | 18 | $i++; |
@@ -5,14 +5,14 @@ |
||
5 | 5 | $shp->loadFromFile('data/capitals.*'); |
6 | 6 | |
7 | 7 | $i = 1; |
8 | -foreach($shp->records as $record){ |
|
8 | +foreach ($shp->records as $record) { |
|
9 | 9 | echo "<pre>"; |
10 | 10 | echo "Record No. $i:\n\n\n"; |
11 | 11 | echo "SHP Data = "; |
12 | - print_r($record->SHPData); //All the data related to the point |
|
12 | + print_r($record->SHPData); //All the data related to the point |
|
13 | 13 | print_r("\n\n\n"); |
14 | 14 | echo "DBF Data = "; |
15 | - print_r($record->DBFData); //All the information related to each point |
|
15 | + print_r($record->DBFData); //All the information related to each point |
|
16 | 16 | print_r("\n\n\n"); |
17 | 17 | echo "</pre>"; |
18 | 18 | $i++; |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | |
40 | 40 | public static function swap($binValue) { |
41 | 41 | $result = $binValue{strlen($binValue) - 1}; |
42 | - for($i = strlen($binValue) - 2; $i >= 0 ; $i--) { |
|
42 | + for ($i = strlen($binValue) - 2; $i >= 0; $i--) { |
|
43 | 43 | $result .= $binValue{$i}; |
44 | 44 | } |
45 | 45 | |
@@ -47,15 +47,15 @@ discard block |
||
47 | 47 | } |
48 | 48 | |
49 | 49 | public static function packDouble($value, $mode = 'LE') { |
50 | - $value = (double)$value; |
|
50 | + $value = (double) $value; |
|
51 | 51 | $bin = pack("d", $value); |
52 | 52 | |
53 | 53 | //We test if the conversion of an integer (1) is done as LE or BE by default |
54 | - switch (pack ('L', 1)) { |
|
55 | - case pack ('V', 1): //Little Endian |
|
54 | + switch (pack('L', 1)) { |
|
55 | + case pack('V', 1): //Little Endian |
|
56 | 56 | $result = ($mode == 'LE') ? $bin : self::swap($bin); |
57 | 57 | break; |
58 | - case pack ('N', 1): //Big Endian |
|
58 | + case pack('N', 1): //Big Endian |
|
59 | 59 | $result = ($mode == 'BE') ? $bin : self::swap($bin); |
60 | 60 | break; |
61 | 61 | default: //Some other thing, we just return false |
@@ -95,20 +95,20 @@ discard block |
||
95 | 95 | $this->records[] = $record; |
96 | 96 | $this->records[count($this->records) - 1]->recordNumber = count($this->records); |
97 | 97 | |
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"]; |
|
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 | 100 | |
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"]; |
|
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"]; |
|
103 | 103 | |
104 | - 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"]; |
|
104 | + 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"]; |
|
107 | 107 | } |
108 | 108 | |
109 | - 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"]; |
|
109 | + 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"]; |
|
112 | 112 | } |
113 | 113 | |
114 | 114 | return (count($this->records) - 1); |
@@ -219,23 +219,23 @@ discard block |
||
219 | 219 | fwrite($this->SHPFile, Util::packDouble($this->boundingBox['ymin'])); |
220 | 220 | fwrite($this->SHPFile, Util::packDouble($this->boundingBox['xmax'])); |
221 | 221 | fwrite($this->SHPFile, Util::packDouble($this->boundingBox['ymax'])); |
222 | - fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['zmin'])?$this->boundingBox['zmin']:0)); |
|
223 | - fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['zmax'])?$this->boundingBox['zmax']:0)); |
|
224 | - fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['mmin'])?$this->boundingBox['mmin']:0)); |
|
225 | - fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['mmax'])?$this->boundingBox['mmax']:0)); |
|
222 | + fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['zmin']) ? $this->boundingBox['zmin'] : 0)); |
|
223 | + fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['zmax']) ? $this->boundingBox['zmax'] : 0)); |
|
224 | + fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['mmin']) ? $this->boundingBox['mmin'] : 0)); |
|
225 | + fwrite($this->SHPFile, Util::packDouble(isset($this->boundingBox['mmax']) ? $this->boundingBox['mmax'] : 0)); |
|
226 | 226 | |
227 | 227 | fwrite($this->SHXFile, pack("NNNNNN", 9994, 0, 0, 0, 0, 0)); |
228 | - fwrite($this->SHXFile, pack("N", 50 + 4*count($this->records))); |
|
228 | + fwrite($this->SHXFile, pack("N", 50 + 4 * count($this->records))); |
|
229 | 229 | fwrite($this->SHXFile, pack("V", 1000)); |
230 | 230 | fwrite($this->SHXFile, pack("V", $this->shapeType)); |
231 | 231 | fwrite($this->SHXFile, Util::packDouble($this->boundingBox['xmin'])); |
232 | 232 | fwrite($this->SHXFile, Util::packDouble($this->boundingBox['ymin'])); |
233 | 233 | fwrite($this->SHXFile, Util::packDouble($this->boundingBox['xmax'])); |
234 | 234 | fwrite($this->SHXFile, Util::packDouble($this->boundingBox['ymax'])); |
235 | - fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['zmin'])?$this->boundingBox['zmin']:0)); |
|
236 | - fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['zmax'])?$this->boundingBox['zmax']:0)); |
|
237 | - fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['mmin'])?$this->boundingBox['mmin']:0)); |
|
238 | - fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['mmax'])?$this->boundingBox['mmax']:0)); |
|
235 | + fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['zmin']) ? $this->boundingBox['zmin'] : 0)); |
|
236 | + fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['zmax']) ? $this->boundingBox['zmax'] : 0)); |
|
237 | + fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['mmin']) ? $this->boundingBox['mmin'] : 0)); |
|
238 | + fwrite($this->SHXFile, Util::packDouble(isset($this->boundingBox['mmax']) ? $this->boundingBox['mmax'] : 0)); |
|
239 | 239 | } |
240 | 240 | |
241 | 241 | function _loadRecords() { |
@@ -275,7 +275,7 @@ discard block |
||
275 | 275 | } |
276 | 276 | } |
277 | 277 | |
278 | - function _loadMultiPointMZRecord( $type ) { |
|
278 | + function _loadMultiPointMZRecord($type) { |
|
279 | 279 | |
280 | 280 | $this->SHPData[$type."min"] = Util::loadData("d", fread($this->SHPFile, 8)); |
281 | 281 | $this->SHPData[$type."max"] = Util::loadData("d", fread($this->SHPFile, 8)); |
@@ -308,7 +308,7 @@ discard block |
||
308 | 308 | } |
309 | 309 | } |
310 | 310 | |
311 | - function _saveMultiPointMZRecord( $type ) { |
|
311 | + function _saveMultiPointMZRecord($type) { |
|
312 | 312 | |
313 | 313 | fwrite($this->SHPFile, pack("dd", $this->SHPData[$type."min"], $this->SHPData[$type."max"])); |
314 | 314 | |
@@ -358,10 +358,10 @@ discard block |
||
358 | 358 | } |
359 | 359 | } |
360 | 360 | |
361 | - fseek($this->SHPFile, $firstIndex + ($readPoints*16)); |
|
361 | + fseek($this->SHPFile, $firstIndex + ($readPoints * 16)); |
|
362 | 362 | } |
363 | 363 | |
364 | - function _loadPolyLineMZRecord( $type ) { |
|
364 | + function _loadPolyLineMZRecord($type) { |
|
365 | 365 | |
366 | 366 | $this->SHPData[$type."min"] = Util::loadData("d", fread($this->SHPFile, 8)); |
367 | 367 | $this->SHPData[$type."max"] = Util::loadData("d", fread($this->SHPFile, 8)); |
@@ -376,7 +376,7 @@ discard block |
||
376 | 376 | } |
377 | 377 | } |
378 | 378 | |
379 | - fseek($this->SHPFile, $firstIndex + ($readPoints*24)); |
|
379 | + fseek($this->SHPFile, $firstIndex + ($readPoints * 24)); |
|
380 | 380 | } |
381 | 381 | |
382 | 382 | function _loadPolyLineMRecord() { |
@@ -398,10 +398,10 @@ discard block |
||
398 | 398 | fwrite($this->SHPFile, pack("VV", $this->SHPData["numparts"], $this->SHPData["numpoints"])); |
399 | 399 | |
400 | 400 | for ($i = 0; $i < $this->SHPData["numparts"]; $i++) { |
401 | - fwrite($this->SHPFile, pack("V", count($this->SHPData["parts"][$i])-1)); |
|
401 | + fwrite($this->SHPFile, pack("V", count($this->SHPData["parts"][$i]) - 1)); |
|
402 | 402 | } |
403 | 403 | |
404 | - foreach ($this->SHPData["parts"] as $partData){ |
|
404 | + foreach ($this->SHPData["parts"] as $partData) { |
|
405 | 405 | reset($partData["points"]); |
406 | 406 | while (list($pointIndex, $pointData) = each($partData["points"])) { |
407 | 407 | $this->_savePoint($pointData); |
@@ -409,10 +409,10 @@ discard block |
||
409 | 409 | } |
410 | 410 | } |
411 | 411 | |
412 | - function _savePolyLineMZRecord( $type ) { |
|
412 | + function _savePolyLineMZRecord($type) { |
|
413 | 413 | fwrite($this->SHPFile, pack("dd", $this->SHPData[$type."min"], $this->SHPData[$type."max"])); |
414 | 414 | |
415 | - foreach ($this->SHPData["parts"] as $partData){ |
|
415 | + foreach ($this->SHPData["parts"] as $partData) { |
|
416 | 416 | reset($partData["points"]); |
417 | 417 | while (list($pointIndex, $pointData) = each($partData["points"])) { |
418 | 418 | fwrite($this->SHPFile, Util::packDouble($pointData[$type])); |
@@ -465,8 +465,8 @@ 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"])) $point["m"] = 0.0; // no_value |
|
469 | + if (in_array($this->shapeType, array(11)) && !isset($point["z"])) $point["z"] = 0.0; // no_value |
|
470 | 470 | //Substitutes the value of the current point |
471 | 471 | $this->SHPData = $point; |
472 | 472 | break; |
@@ -476,8 +476,8 @@ discard block |
||
476 | 476 | case 15: |
477 | 477 | case 23: |
478 | 478 | 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 |
|
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 |
|
481 | 481 | |
482 | 482 | //Adds a new point to the selected part |
483 | 483 | if (!isset($this->SHPData["xmin"]) || ($this->SHPData["xmin"] > $point["x"])) $this->SHPData["xmin"] = $point["x"]; |
@@ -492,13 +492,13 @@ discard block |
||
492 | 492 | $this->SHPData["parts"][$partIndex]["points"][] = $point; |
493 | 493 | |
494 | 494 | $this->SHPData["numparts"] = count($this->SHPData["parts"]); |
495 | - $this->SHPData["numpoints"] = 1 + (isset($this->SHPData["numpoints"])?$this->SHPData["numpoints"]:0); |
|
495 | + $this->SHPData["numpoints"] = 1 + (isset($this->SHPData["numpoints"]) ? $this->SHPData["numpoints"] : 0); |
|
496 | 496 | break; |
497 | 497 | case 8: |
498 | 498 | case 18: |
499 | 499 | 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 |
|
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 |
|
502 | 502 | |
503 | 503 | //Adds a new point |
504 | 504 | if (!isset($this->SHPData["xmin"]) || ($this->SHPData["xmin"] > $point["x"])) $this->SHPData["xmin"] = $point["x"]; |
@@ -511,7 +511,7 @@ discard block |
||
511 | 511 | if (isset($point["z"]) && (!isset($this->SHPData["zmax"]) || ($this->SHPData["zmax"] < $point["z"]))) $this->SHPData["zmax"] = $point["z"]; |
512 | 512 | |
513 | 513 | $this->SHPData["points"][] = $point; |
514 | - $this->SHPData["numpoints"] = 1 + (isset($this->SHPData["numpoints"])?$this->SHPData["numpoints"]:0); |
|
514 | + $this->SHPData["numpoints"] = 1 + (isset($this->SHPData["numpoints"]) ? $this->SHPData["numpoints"] : 0); |
|
515 | 515 | break; |
516 | 516 | default: |
517 | 517 | $this->setError(sprintf("The Shape Type '%s' is not supported.", $this->shapeType)); |
@@ -530,8 +530,8 @@ discard block |
||
530 | 530 | //Sets the value of the point to zero |
531 | 531 | $this->SHPData["x"] = 0.0; |
532 | 532 | $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; |
|
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; |
|
535 | 535 | break; |
536 | 536 | case 3: |
537 | 537 | case 5: |
@@ -587,33 +587,33 @@ discard block |
||
587 | 587 | break; |
588 | 588 | case 3: |
589 | 589 | case 5: |
590 | - $result = 22 + 2*count($this->SHPData["parts"]); |
|
590 | + $result = 22 + 2 * count($this->SHPData["parts"]); |
|
591 | 591 | for ($i = 0; $i < count($this->SHPData["parts"]); $i++) { |
592 | - $result += 8*count($this->SHPData["parts"][$i]["points"]); |
|
592 | + $result += 8 * count($this->SHPData["parts"][$i]["points"]); |
|
593 | 593 | } |
594 | 594 | break; |
595 | 595 | case 23: |
596 | 596 | case 25: |
597 | - $result = 22 + (2*4) + 2*count($this->SHPData["parts"]); |
|
597 | + $result = 22 + (2 * 4) + 2 * count($this->SHPData["parts"]); |
|
598 | 598 | for ($i = 0; $i < count($this->SHPData["parts"]); $i++) { |
599 | - $result += (8+4)*count($this->SHPData["parts"][$i]["points"]); |
|
599 | + $result += (8 + 4) * count($this->SHPData["parts"][$i]["points"]); |
|
600 | 600 | } |
601 | 601 | break; |
602 | 602 | case 13: |
603 | 603 | case 15: |
604 | - $result = 22 + (4*4) + 2*count($this->SHPData["parts"]); |
|
604 | + $result = 22 + (4 * 4) + 2 * count($this->SHPData["parts"]); |
|
605 | 605 | for ($i = 0; $i < count($this->SHPData["parts"]); $i++) { |
606 | - $result += (8+8)*count($this->SHPData["parts"][$i]["points"]); |
|
606 | + $result += (8 + 8) * count($this->SHPData["parts"][$i]["points"]); |
|
607 | 607 | } |
608 | 608 | break; |
609 | 609 | case 8: |
610 | - $result = 20 + 8*count($this->SHPData["points"]); |
|
610 | + $result = 20 + 8 * count($this->SHPData["points"]); |
|
611 | 611 | break; |
612 | 612 | case 28: |
613 | - $result = 20 + (2*4) + (8+4)*count($this->SHPData["points"]); |
|
613 | + $result = 20 + (2 * 4) + (8 + 4) * count($this->SHPData["points"]); |
|
614 | 614 | break; |
615 | 615 | case 18: |
616 | - $result = 20 + (4*4) + (8+8)*count($this->SHPData["points"]); |
|
616 | + $result = 20 + (4 * 4) + (8 + 8) * count($this->SHPData["points"]); |
|
617 | 617 | break; |
618 | 618 | default: |
619 | 619 | $result = false; |