view pkg/wkb/wkb.go @ 5520:05db984d3db1

Improve performance of bottleneck area calculation Avoid buffer calculations by replacing them with simple distance comparisons and calculate the boundary of the result geometry only once per iteration. In some edge cases with very large numbers of iterations, this reduced the runtime of a bottleneck import by a factor of more than twenty.
author Tom Gottfried <tom@intevation.de>
date Thu, 21 Oct 2021 19:50:39 +0200
parents 95786a675d70
children
line wrap: on
line source

// This is Free Software under GNU Affero General Public License v >= 3.0
// without warranty, see README.md and license for details.
//
// SPDX-License-Identifier: AGPL-3.0-or-later
// License-Filename: LICENSES/AGPL-3.0.txt
//
// Copyright (C) 2018 by via donau
//   – Österreichische Wasserstraßen-Gesellschaft mbH
// Software engineering by Intevation GmbH
//
// Author(s):
//  * Sascha L. Teichmann <sascha.teichmann@intevation.de>

package wkb

// Binary encoding in WKB data.
const (
	XDR byte = 0 // big endian.
	NDR byte = 1 // little endian.
)

// Various types of geometry.
const (
	Point            uint32 = 1
	LineString       uint32 = 2
	Polygon          uint32 = 3
	MultiLineString  uint32 = 5
	MultiPolygon     uint32 = 6
	PointZ           uint32 = 1000 + 1
	LineStringZ      uint32 = 1000 + 2
	MultiPointZ      uint32 = 1000 + 4
	MultiLineStringZ uint32 = 1000 + 5
	TinZ             uint32 = 1000 + 16
	TriangleZ        uint32 = 1000 + 17
)