Source code for epygram.fields.PointField
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
PointField:
Contains the class to for Point (0D == 1 value) fields.
"""
import numpy
from epygram import epygramError
from epygram.base import Field, FieldValidity
from epygram.geometries import PointGeometry
[docs]class PointField(Field):
"""
0-Dimension (point) field class.
A field is defined by its identifier 'fid',
its data, its geometry, and its validity.
"""
_collector = ('field',)
_footprint = dict(
attr=dict(
geometry=dict(type=PointGeometry),
validity=dict(
type=FieldValidity,
optional=True,
default=FieldValidity()),
processtype=dict(
optional=True,
info="Generating process.")
)
)
[docs] def setdata(self, data):
"""Sets data, checking it to be scalar or 0D array."""
if numpy.shape(data) not in ((1,), ()):
raise epygramError("data must be scalar or 0D array.")
super(PointField, self).setdata(data)