The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Muldis::D::Ext::Spatial - Muldis D extension for spatial data types and operators

VERSION

This document is Muldis::D::Ext::Spatial version 0.86.0.

PREFACE

This document is part of the Muldis D language specification, whose root document is Muldis::D; you should read that root document before you read this one, which provides subservient details.

DESCRIPTION

Muldis D has a mandatory core set of system-defined (eternally available) entities, which is referred to as the Muldis D core or the core; they are the minimal entities that all Muldis D implementations need to provide; they are mutually self-describing and are used to bootstrap the language; any entities outside the core, called Muldis D extensions, are non-mandatory and are defined in terms of the core or each other, but the reverse isn't true.

This current Spatial document describes the system-defined Muldis D Spatial Extension, which consists of spatial and/or geometric data types and operators.

This current document does not describe the polymorphic operators that all types, or some types including core types, have defined over them; said operators are defined once for all types in Muldis::D::Core.

This documentation is pending.

TYPE SUMMARY

Following are all the data types described in this document, arranged in a type graph according to their proper sub|supertype relationships (but that the first 3 just reappear from the core set to provide a similar context, and aren't re-described here):

sys.std.Core.Type.Universal

    sys.std.Core.Type.Empty

    sys.std.Core.Type.Scalar
        sys.std.Core.Type.DHScalar

            # The following are all regular non-ordered scalar types.

            sys.std.Spatial.Type.Geometry
                sys.std.Spatial.Type.Point
                sys.std.Spatial.Type.Curve
                    sys.std.Spatial.Type.LineString
                    sys.std.Spatial.Type.CircularString
                    sys.std.Spatial.Type.CompoundCurve
                sys.std.Spatial.Type.Surface
                    sys.std.Spatial.Type.CurvePolygon
                        sys.std.Spatial.Type.Polygon
                sys.std.Spatial.Type.GeometryCollection
                    sys.std.Spatial.Type.MultiPoint
                    sys.std.Spatial.Type.MultiCurve
                        sys.std.Spatial.Type.MultiLineString
                    sys.std.Spatial.Type.MultiSurface
                        sys.std.Spatial.Type.MultiPolygon

This documentation is pending.

SYSTEM-DEFINED SPATIAL SCALAR DATA TYPES

These non-core scalar data types describe common kinds of spatial or geometric figures. Of course, dealing with these types in general isn't a perfect science; they stand to be revised or rewritten.

sys.std.Spatial.Type.Geometry

TODO.

sys.std.Spatial.Type.Point

TODO.

sys.std.Spatial.Type.Curve

TODO.

sys.std.Spatial.Type.LineString

TODO.

sys.std.Spatial.Type.CircularString

TODO.

sys.std.Spatial.Type.CompoundCurve

TODO.

sys.std.Spatial.Type.Surface

TODO.

sys.std.Spatial.Type.CurvePolygon

TODO.

sys.std.Spatial.Type.Polygon

TODO.

sys.std.Spatial.Type.GeometryCollection

TODO.

sys.std.Spatial.Type.MultiPoint

TODO.

sys.std.Spatial.Type.MultiCurve

TODO.

sys.std.Spatial.Type.MultiLineString

TODO.

sys.std.Spatial.Type.MultiSurface

TODO.

sys.std.Spatial.Type.MultiPolygon

TODO.

SEE ALSO

Go to Muldis::D for the majority of distribution-internal references, and Muldis::D::SeeAlso for the majority of distribution-external references.

AUTHOR

Darren Duncan (perl@DarrenDuncan.net)

LICENSE AND COPYRIGHT

This file is part of the formal specification of the Muldis D language.

Muldis D is Copyright © 2002-2009, Muldis Data Systems, Inc.

See the LICENSE AND COPYRIGHT of Muldis::D for details.

TRADEMARK POLICY

The TRADEMARK POLICY in Muldis::D applies to this file too.

ACKNOWLEDGEMENTS

The ACKNOWLEDGEMENTS in Muldis::D apply to this file too.