wkbcommon

package
v0.0.0-...-1491eae Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2018 License: BSD-2-Clause Imports: 4 Imported by: 4

Documentation

Overview

Package wkbcommon 包含了 WKB and EWKB 编码相关的公共代码

Package wkbcommon 包含了 WKB and EWKB 编码相关的公共代码.

Index

Constants

View Source
const (
	XDRID = 0
	NDRID = 1
)

Byte order IDs.

View Source
const (
	PointID              = 1
	LineStringID         = 2
	PolygonID            = 3
	MultiPointID         = 4
	MultiLineStringID    = 5
	MultiPolygonID       = 6
	GeometryCollectionID = 7
	PolyhedralSurfaceID  = 15
	TINID                = 16
	TriangleID           = 17
)

Geometry type IDs.

Variables

Byte orders.

View Source
var MaxGeometryElements = [4]uint32{
	0,
	1 << 20,
	1 << 15,
	1 << 10,
}

MaxGeometryElements 是在不同级别解码的元素的最大数目.其主要目的是防止错误的输入造成过度的内存分配。 (担心被用作拒绝服务攻击。). FIXME 这个应当是局部的,不是全局的 FIXME 考虑每个几何图形的极限,而不是每一级极限。

Functions

func ReadByte

func ReadByte(r io.Reader) (byte, error)

ReadByte函数 从 r 中读取一个 byte.

func ReadFlatCoords0

func ReadFlatCoords0(r io.Reader, byteOrder binary.ByteOrder, stride int) ([]float64, error)

ReadFlatCoords0函数 读取平面坐标 0.

func ReadFlatCoords1

func ReadFlatCoords1(r io.Reader, byteOrder binary.ByteOrder, stride int) ([]float64, error)

ReadFlatCoords1函数 读取平面坐标 1.

func ReadFlatCoords2

func ReadFlatCoords2(r io.Reader, byteOrder binary.ByteOrder, stride int) ([]float64, []int, error)

ReadFlatCoords2函数 读取平面坐标 2.

func ReadFloatArray

func ReadFloatArray(r io.Reader, byteOrder binary.ByteOrder, array []float64) error

ReadFloatArray函数 从 r 中读取一个 []float64.

func ReadUInt32

func ReadUInt32(r io.Reader, byteOrder binary.ByteOrder) (uint32, error)

ReadUInt32函数 从 r 中读取一个 uint32.

func WriteByte

func WriteByte(w io.Writer, value byte) error

WriteByte函数 向 w 写入一个 byte.

func WriteFlatCoords0

func WriteFlatCoords0(w io.Writer, byteOrder binary.ByteOrder, coord []float64) error

WriteFlatCoords0函数 写入平面坐标 0 .

func WriteFlatCoords1

func WriteFlatCoords1(w io.Writer, byteOrder binary.ByteOrder, coords []float64, stride int) error

WriteFlatCoords1函数 写入平面坐标 1 .

func WriteFlatCoords2

func WriteFlatCoords2(w io.Writer, byteOrder binary.ByteOrder, flatCoords []float64, ends []int, stride int) error

WriteFlatCoords2函数 写入平面坐标 2 .

func WriteFloatArray

func WriteFloatArray(w io.Writer, byteOrder binary.ByteOrder, array []float64) error

WriteFloatArray函数 向 w 写入 一个[]float64.

func WriteUInt32

func WriteUInt32(w io.Writer, byteOrder binary.ByteOrder, value uint32) error

WriteUInt32函数 向 w 写入一个 uint32.

Types

type ErrGeometryTooLarge

type ErrGeometryTooLarge struct {
	Level int
	N     uint32
	Limit uint32
}

An ErrGeometryTooLarge 将返回当几何图形过大.

func (ErrGeometryTooLarge) Error

func (e ErrGeometryTooLarge) Error() string

type ErrUnexpectedType

type ErrUnexpectedType struct {
	Got  interface{}
	Want interface{}
}

An ErrUnexpectedType 将返回当遇到不符合要求的类型时..

func (ErrUnexpectedType) Error

func (e ErrUnexpectedType) Error() string

type ErrUnknownByteOrder

type ErrUnknownByteOrder byte

An ErrUnknownByteOrder 将返回当一个位置的 byte顺序是非法的时.

func (ErrUnknownByteOrder) Error

func (e ErrUnknownByteOrder) Error() string

type ErrUnknownType

type ErrUnknownType Type

An ErrUnknownType 将返回当遇到未知类型时

func (ErrUnknownType) Error

func (e ErrUnknownType) Error() string

type ErrUnsupportedByteOrder

type ErrUnsupportedByteOrder struct{}

An ErrUnsupportedByteOrder 将返回当遇到不支持的 byte order

func (ErrUnsupportedByteOrder) Error

func (e ErrUnsupportedByteOrder) Error() string

type ErrUnsupportedType

type ErrUnsupportedType Type

An ErrUnsupportedType 将返回当遇到不支持的类型时.

func (ErrUnsupportedType) Error

func (e ErrUnsupportedType) Error() string

type Type

type Type uint32

A Type is a WKB code.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL