/** * {@inheritdoc} */ public function geometryTypeBinary() { if ($this->proxyGeometry === null) { $this->load(); } return $this->proxyGeometry->geometryTypeBinary(); }
/** * {@inheritdoc} */ protected function packHeader(Geometry $geometry, $outer) { $geometryType = $geometry->geometryTypeBinary(); $cs = $geometry->coordinateSystem(); if ($cs->hasZ()) { $geometryType += 1000; } if ($cs->hasM()) { $geometryType += 2000; } return $this->packUnsignedInteger($geometryType); }
/** * {@inheritdoc} */ protected function packHeader(Geometry $geometry, $outer) { $geometryType = $geometry->geometryTypeBinary(); $cs = $geometry->coordinateSystem(); if ($cs->hasZ()) { $geometryType |= EWKBTools::Z; } if ($cs->hasM()) { $geometryType |= EWKBTools::M; } $srid = $cs->SRID(); if ($srid !== 0 && $outer) { $geometryType |= EWKBTools::S; } $header = $this->packUnsignedInteger($geometryType); if ($srid !== 0 && $outer) { $header .= $this->packUnsignedInteger($srid); } return $header; }