Package com.luciad.format.s57
Class TLcdS57Point
java.lang.Object
com.luciad.shape.ALcdShape
com.luciad.shape.ALcdPoint
com.luciad.shape.shape2D.ALcd2DEditablePoint
com.luciad.format.s57.TLcdS57Point
- All Implemented Interfaces:
ILcdDataObject,ILcdS57FeatureObject,ILcdS57Object,ILcdBounded,ILcdBounds,ILcdPoint,ILcdPointList,ILcdPolypoint,ILcdShape,ILcd2DEditablePoint,ILcd2DEditableShape,ILcdCloneable,ILcdFeatured,Serializable,Cloneable
- Direct Known Subclasses:
TLcdS57SoundingPoint
public class TLcdS57Point
extends ALcd2DEditablePoint
implements ILcdS57Object, ILcdDataObject, ILcdFeatured, Serializable
Represents a Point feature in the S-57 domain model.
- See Also:
-
Field Summary
Fields inherited from interface com.luciad.format.s57.ILcdS57FeatureObject
AREA, LINE, NONE, POINT -
Constructor Summary
ConstructorsConstructorDescriptionTLcdS57Point(double aLon, double aLat) Deprecated.TLcdS57Point(TLcdS57FeatureObject aFeatureObject, double aLon, double aLat) Deprecated.Use the constructor withTLcdS57Nodeinstead.TLcdS57Point(TLcdS57FeatureObject aFeatureObject, TLcdS57Node aNode) Creates a new S-57 Point feature with the specified properties. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanSetFeature(int aIndex) Checks whether the specified feature is editable.clone()Creates and returns a copy of this object, by delegating toObject.clone().Returns a copy of thisILcdBoundsobject that is also anILcd2DEditableBounds.Returns a copy of thisILcdPointthat is also anILcd2DEditablePoint.Returns a copy of thisILcdBoundsobject that is also anILcd3DEditableBounds.Returns a copy of thisILcdPointthat is also anILcd3DEditablePoint.booleanReturns whether the given object has the same class and the same coordinates.Returns the type of this data object.getFeature(int aIndex) Returns the featureObjectat the given index.intReturns the number of features.intgetGroup()Returns the group to which the S-57 object belongs, this can be 1 (= skin of the earth) or 2 (= all other objects).Gets the identifier of this shape.intReturns the lowest "fnctnm" (Function of notice mark) value of overlapping "notmrk" (Notice mark) objects.floatReturns the maximum depth of this point and of containing DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points).floatReturns the minimum depth of this point and of containing and intersecting DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points).getNode()Returns the node containing the geographical location of this point.getRelationship(int aIndex) Returns the relationship at indexaIndex.intReturns the number of relationships in which this S-57 object is involved.intgetShape()Gets the type of the shape:POINT,LINE,AREAorNONE.getValue(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.doublegetX()Returns the x coordinate of thisILcdPoint.doublegetY()Returns the y coordinate of thisILcdPoint.booleanReturns whether the point has any 'No sector'-lights at the same location (only applicable for LIGHTS objects).inthashCode()The hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)method.booleanReturns whether the point has other overlapping light sectors at the same location, which are larger than its own sector (only applicable for LIGHTS objects).booleanReturns whether the point has other lights at the same location (only applicable for LIGHTS objects).booleanhasValue(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.booleanIndicates whether this data object has a value for the given property.booleaninteracts2D(double aLon, double aLat, double aWidth, double aHeight) Checks whether thisILcdBoundsobject interacts with the given rectangle in the 2D space.booleanReturns whether the point is on a floating platform (only applicable for TOPMAR points).voidmove2D(double aX, double aY) Moves thisILcd2DEditableShapeto the given point in the 2D space.voidsetAnyNoSectorLightsAtSameLocation(boolean aHasAnyNoSectorLightsAtSameLocation) Specifies whether the point has any 'No sector'-lights at the same location (only applicable for LIGHTS objects).voidsetFeature(int aIndex, Object aFeature) Sets the featureObjectat the given index.voidsetGroup(int aGroup) voidsetIdentifier(ILcdS57Identifier aIdentifier) voidsetLargerOverlappingLightSectorsAtSameLocation(boolean aHasLargerOverlappingLightSectorsAtSameLocation) Specifies whether the point has other overlapping light sectors at the same location, which are larger than its own sector (only applicable for LIGHTS objects).voidsetLowestFnctnm(int aLowestFnctnm) Sets the lowest "fnctnm" (Function of notice mark) value of overlapping "notmrk" (Notice mark) objects.voidsetMaximumDepth(float aMaximumDepth) Sets the maximum depth of this point and of containing DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points).voidsetMinimumDepth(float aMinimumDepth) Sets the minimum depth of this point and of containing and intersecting DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points).voidsetOnFloatingPlatform(boolean aIsOnFloatingPlatform) Specifies whether the point is on a floating platform (only applicable for TOPMAR points).voidsetOtherLightsAtSameLocation(boolean aHasOtherLightsAtSameLocation) Specifies whether the point has other lights at the same location (only applicable for LIGHTS objects).voidsetRelationships(ILcdS57Relationship[] aRelationships) voidsetValue(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.voidConvenience method that sets the value of the property with the given name.toString()Methods inherited from class com.luciad.shape.shape2D.ALcd2DEditablePoint
getZ, move2D, translate2DMethods inherited from class com.luciad.shape.ALcdPoint
contains2D, contains2D, contains2D, contains3D, contains3D, contains3D, getBounds, getCosX, getCosY, getDepth, getFocusPoint, getHeight, getLocation, getMaxX, getMaxY, getMaxZ, getMinX, getMinY, getMinZ, getPoint, getPointCount, getSinX, getSinY, getTanX, getTanY, getWidth, interacts2D, interacts3D, interacts3D, isDefinedMethods inherited from class com.luciad.shape.ALcdShape
contains2D, contains3D, fromDomainObjectMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.luciad.shape.ILcdBounded
getBoundsMethods inherited from interface com.luciad.shape.ILcdBounds
getCenterMethods inherited from interface com.luciad.shape.ILcdPoint
getCosX, getCosY, getSinX, getSinY, getTanX, getTanYMethods inherited from interface com.luciad.shape.ILcdPointList
getPointSFCT, getX, getY, getZMethods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Constructor Details
-
TLcdS57Point
public TLcdS57Point(double aLon, double aLat) Deprecated.Use the constructor withTLcdS57Nodeinstead.Creates a new S-57 Point feature.- Parameters:
aLon- the longitude coordinate of this Point feature.aLat- the latitude coordinate of this Point feature.
-
TLcdS57Point
Deprecated.Use the constructor withTLcdS57Nodeinstead.Creates a new S-57 Point feature with the specified properties.- Parameters:
aFeatureObject- the S-57 feature object describing the object class and attributes of this Point feature.aLon- the longitude coordinate of this Point feature.aLat- the latitude coordinate of this Point feature.
-
TLcdS57Point
Creates a new S-57 Point feature with the specified properties.- Parameters:
aFeatureObject- the S-57 feature object describing the object class and attributes of this Point feature.aNode- the geographical location of this point.
-
-
Method Details
-
getNode
Returns the node containing the geographical location of this point.- Returns:
- the node containing the geographical location of this point.
-
setOnFloatingPlatform
public void setOnFloatingPlatform(boolean aIsOnFloatingPlatform) Specifies whether the point is on a floating platform (only applicable for TOPMAR points). This flag can be used to determine its symbolization (e.g. in the S-52 TOPMAR procedure). TheonFloatingPlatformproperty is part of the set of preprocessor variables.- Parameters:
aIsOnFloatingPlatform- indicates whether the point is on a floating platform (only applicable for TOPMAR points).- See Also:
-
isOnFloatingPlatform
public boolean isOnFloatingPlatform()Returns whether the point is on a floating platform (only applicable for TOPMAR points). This flag can be used to determine its symbolization (e.g. in the S-52 TOPMAR procedure). TheonFloatingPlatformproperty is part of the set of preprocessor variables.- Returns:
trueif the point is on a floating platform,falseotherwise.- See Also:
-
setOtherLightsAtSameLocation
public void setOtherLightsAtSameLocation(boolean aHasOtherLightsAtSameLocation) Specifies whether the point has other lights at the same location (only applicable for LIGHTS objects). This flag can be used to determine its symbolization (e.g. in the S-52 LIGHTS procedure). TheotherLightsAtSameLocationproperty is part of the set of preprocessor variables.- Parameters:
aHasOtherLightsAtSameLocation- indicates whether the point has other lights at the same location.- See Also:
-
hasOtherLightsAtSameLocation
public boolean hasOtherLightsAtSameLocation()Returns whether the point has other lights at the same location (only applicable for LIGHTS objects). This flag can be used to determine its symbolization (e.g. in the S-52 LIGHTS procedure). TheotherLightsAtSameLocationproperty is part of the set of preprocessor variables.- Returns:
trueif the point has other lights at the same location,falseotherwise.- See Also:
-
setAnyNoSectorLightsAtSameLocation
public void setAnyNoSectorLightsAtSameLocation(boolean aHasAnyNoSectorLightsAtSameLocation) Specifies whether the point has any 'No sector'-lights at the same location (only applicable for LIGHTS objects). This flag can be used to determine its symbolization (e.g. in the S-52 LIGHTS procedure). TheanyNoSectorLightsAtSameLocationproperty is part of the set of preprocessor variables.- Parameters:
aHasAnyNoSectorLightsAtSameLocation- indicates whether the point has any 'No sector'-lights at the same location.- See Also:
-
hasAnyNoSectorLightsAtSameLocation
public boolean hasAnyNoSectorLightsAtSameLocation()Returns whether the point has any 'No sector'-lights at the same location (only applicable for LIGHTS objects). This flag can be used to determine its symbolization (e.g. in the S-52 LIGHTS procedure). TheanyNoSectorLightsAtSameLocationproperty is part of the set of preprocessor variables.- Returns:
trueif the point has any 'No sector'-lights at the same location,falseotherwise.- See Also:
-
setLargerOverlappingLightSectorsAtSameLocation
public void setLargerOverlappingLightSectorsAtSameLocation(boolean aHasLargerOverlappingLightSectorsAtSameLocation) Specifies whether the point has other overlapping light sectors at the same location, which are larger than its own sector (only applicable for LIGHTS objects). This flag can be used to determine its symbolization (e.g. in the S-52 LIGHTS procedure). ThelargerOverlappingLightSectorsAtSameLocationproperty is part of the set of preprocessor variables.- Parameters:
aHasLargerOverlappingLightSectorsAtSameLocation- indicates whether the point has other overlapping light sectors at the same location, which are larger than its own sector.- See Also:
-
hasLargerOverlappingLightSectorsAtSameLocation
public boolean hasLargerOverlappingLightSectorsAtSameLocation()Returns whether the point has other overlapping light sectors at the same location, which are larger than its own sector (only applicable for LIGHTS objects). This flag can be used to determine its symbolization (e.g. in the S-52 LIGHTS procedure). ThelargerOverlappingLightSectorsAtSameLocationproperty is part of the set of preprocessor variables.- Returns:
trueif the point has other overlapping light sectors at the same location, which are larger than its own sector,falseotherwise.- See Also:
-
setMinimumDepth
public void setMinimumDepth(float aMinimumDepth) Sets the minimum depth of this point and of containing and intersecting DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points). The depths are retrieved from the DRVAL1 attribute, if specified. The minimum value can be used as a default depth value (e.g. in the S-52 DEPVAL procedure). TheminimumDepthproperty is part of the set of preprocessor variables.- Parameters:
aMinimumDepth- the minimum depth of this point and of containing and intersecting DEPARE and DRGARE objects.- See Also:
-
getMinimumDepth
public float getMinimumDepth()Returns the minimum depth of this point and of containing and intersecting DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points). The depths are retrieved from the DRVAL1 attribute, if specified. The minimum value can be used as a default depth value (e.g. in the S-52 DEPVAL procedure). TheminimumDepthproperty is part of the set of preprocessor variables.- Returns:
- the minimum depth of this point and of containing and intersecting DEPARE and DRGARE objects.
- See Also:
-
setMaximumDepth
public void setMaximumDepth(float aMaximumDepth) Sets the maximum depth of this point and of containing DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points). The depths are retrieved from the DRVAL1 attribute, if specified. The maximum value can be used to determine whether the point is an isolated danger (e.g. in the S-52 UDWHAZ procedure). ThemaximumDepthproperty is part of the set of preprocessor variables.- Parameters:
aMaximumDepth- the maximum depth of this point and of containing DEPARE and DRGARE objects.- See Also:
-
getMaximumDepth
public float getMaximumDepth()Returns the maximum depth of this point and of containing DEPARE and DRGARE objects (only applicable for OBSTRN, UWTROC, and WRECK points). The depths are retrieved from the DRVAL1 attribute, if specified. The maximum value can be used to determine whether the point is an isolated danger (e.g. in the S-52 UDWHAZ procedure). ThemaximumDepthproperty is part of the set of preprocessor variables.- Returns:
- the maximum depth of this point and of containing DEPARE and DRGARE objects.
- See Also:
-
getLowestFnctnm
public int getLowestFnctnm()Returns the lowest "fnctnm" (Function of notice mark) value of overlapping "notmrk" (Notice mark) objects. Returns -1 if there is only one notmrk at the given location.- Returns:
- The value
- Since:
- 2018.0
-
setLowestFnctnm
public void setLowestFnctnm(int aLowestFnctnm) Sets the lowest "fnctnm" (Function of notice mark) value of overlapping "notmrk" (Notice mark) objects.- Parameters:
aLowestFnctnm- The new value- Since:
- 2018.0
-
setIdentifier
-
setGroup
public void setGroup(int aGroup) -
setRelationships
-
getIdentifier
Description copied from interface:ILcdS57FeatureObjectGets the identifier of this shape.- Specified by:
getIdentifierin interfaceILcdS57FeatureObject
-
getGroup
public int getGroup()Description copied from interface:ILcdS57FeatureObjectReturns the group to which the S-57 object belongs, this can be 1 (= skin of the earth) or 2 (= all other objects).- Specified by:
getGroupin interfaceILcdS57FeatureObject- Returns:
- the group to which the S-57 object belongs
-
getShape
public int getShape()Description copied from interface:ILcdS57FeatureObjectGets the type of the shape:POINT,LINE,AREAorNONE.- Specified by:
getShapein interfaceILcdS57FeatureObject
-
getRelationshipCount
public int getRelationshipCount()Description copied from interface:ILcdS57FeatureObjectReturns the number of relationships in which this S-57 object is involved.- Specified by:
getRelationshipCountin interfaceILcdS57FeatureObject- Returns:
- the number of relationships in which this S-57 object is involved.
-
getRelationship
Description copied from interface:ILcdS57FeatureObjectReturns the relationship at indexaIndex.- Specified by:
getRelationshipin interfaceILcdS57FeatureObject- Parameters:
aIndex- index of the relationship to return- Returns:
- the relationship at the specified position.
-
move2D
public void move2D(double aX, double aY) Description copied from interface:ILcd2DEditableShapeMoves thisILcd2DEditableShapeto the given point in the 2D space. The focus point is used as the handle by which the shape is moved. Only the first two dimensions of theILcdShapeare considered. The third dimension is left unchanged.- Specified by:
move2Din interfaceILcd2DEditableShape- Parameters:
aX- the x coordinate of the point.aY- the y coordinate of the point.
-
getX
public double getX()Description copied from interface:ILcdPointReturns the x coordinate of thisILcdPoint. -
getY
public double getY()Description copied from interface:ILcdPointReturns the y coordinate of thisILcdPoint. -
cloneAs2DEditablePoint
Description copied from interface:ILcdPointReturns a copy of thisILcdPointthat is also anILcd2DEditablePoint. This makes sure that the first two dimensions of the copy are writable,- Specified by:
cloneAs2DEditablePointin interfaceILcdPoint- Returns:
- a copy of this
ILcdPointthat is also anILcd2DEditablePoint. This makes sure that the first two dimensions of the copy are writable, even if the originalILcdPointobject may be read-only. - See Also:
-
cloneAs3DEditablePoint
Description copied from interface:ILcdPointReturns a copy of thisILcdPointthat is also anILcd3DEditablePoint. This makes sure that all three dimensions of the copy are writable,- Specified by:
cloneAs3DEditablePointin interfaceILcdPoint- Returns:
- a copy of this
ILcdPointthat is also anILcd3DEditablePoint. This makes sure that all three dimensions of the copy are writable, even if the originalILcdPointobject may be read-only. - See Also:
-
cloneAs2DEditableBounds
Description copied from interface:ILcdBoundsReturns a copy of thisILcdBoundsobject that is also anILcd2DEditableBounds. This makes sure that the first two dimensions of the copy are writable, even if the originalILcdBoundsobject may be read-only.- Specified by:
cloneAs2DEditableBoundsin interfaceILcdBounds- Returns:
- a copy of this
ILcdBoundsobject that is also anILcd2DEditableBounds. This makes sure that the first two dimensions of the copy are writable, even if the originalILcdBoundsobject may be read-only. - See Also:
-
cloneAs3DEditableBounds
Description copied from interface:ILcdBoundsReturns a copy of thisILcdBoundsobject that is also anILcd3DEditableBounds. This makes sure that all three dimensions of the copy are writable, even if the originalILcdBoundsobject may be read-only.- Specified by:
cloneAs3DEditableBoundsin interfaceILcdBounds- Returns:
- a copy of this
ILcdBoundsobject that is also anILcd3DEditableBounds. This makes sure that all three dimensions of the copy are writable, even if the originalILcdBoundsobject may be read-only. - See Also:
-
interacts2D
public boolean interacts2D(double aLon, double aLat, double aWidth, double aHeight) Description copied from interface:ILcdBoundsChecks whether thisILcdBoundsobject interacts with the given rectangle in the 2D space. Only the first two dimensions of theILcdBoundsobject are considered.If this bounds is
undefined, the result is false.- Specified by:
interacts2Din interfaceILcdBounds- Overrides:
interacts2Din classALcdPoint- Parameters:
aLon- the x coordinate of the rectangle.aLat- the y coordinate of the rectangle.aWidth- the width of the rectangle.aHeight- the height of the rectangle.- Returns:
trueif thisILcdBoundsobject touches or overlaps to any extent with the given rectangle,falseotherwise.
-
getDataType
Description copied from interface:ILcdDataObjectReturns the type of this data object. This can never benull.- Specified by:
getDataTypein interfaceILcdDataObject- Returns:
- the type of this data object
-
getValue
Description copied from interface:ILcdDataObjectReturns the value of the given property.
If the property is a collection, the returned value will never be null. If the property has not been set, an empty collection of the appropriate type will be returned (Set, List or Map).
The property must not be null, and must be declared in the
data object's typeor in one of its super types. Otherwise anIllegalArgumentExceptionis thrown.- Specified by:
getValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be returned- Returns:
- the value of the given property for this data object
-
getValue
Description copied from interface:ILcdDataObjectConvenience method that returns the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.getValue(TLcdDataProperty)for more information.- Specified by:
getValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property of which the value is to be returned- Returns:
- the value of the property with the given name
- See Also:
-
setValue
Description copied from interface:ILcdDataObjectSets the value of the given property for this data object. The implementation is allowed to throw an exception if the given value can't be set.
The given property must be declared in thedata object's typeor in one of its super types. In other words, getDataType().getProperties().contains( aProperty ) should always be true. Otherwise, the implementation should throw anIllegalArgumentException.- Specified by:
setValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be setaValue- the value to set- See Also:
-
setValue
Description copied from interface:ILcdDataObjectConvenience method that sets the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.setValue(TLcdDataProperty, Object)for more information.- Specified by:
setValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property of which the value is to be setaValue- the value to set
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.aPropertyis from theright data type, and this instance has a value for it: returnstrueaPropertyis from theright data type, and this instance has no value for it: returnsfalseaPropertyis not from theright data type: not allowed, you will get IllegalArgumentExceptionaPropertyisnull: not allowed, you will get NullPointerException
- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the given property,falseotherwise.
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)for more information.- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the property with the given name,falseotherwise.
-
canSetFeature
public boolean canSetFeature(int aIndex) Description copied from interface:ILcdFeaturedChecks whether the specified feature is editable.- Specified by:
canSetFeaturein interfaceILcdFeatured- Parameters:
aIndex- a valid feature index.- Returns:
- true if the feature can be set, false otherwise.
-
getFeature
Description copied from interface:ILcdFeaturedReturns the featureObjectat the given index.- Specified by:
getFeaturein interfaceILcdFeatured- Parameters:
aIndex- a valid feature index.- Returns:
- the feature
Objectat the given index. - Throws:
IndexOutOfBoundsException- when an index is chosen greater than the result of getFeatureCount.- See Also:
-
getFeatureCount
public int getFeatureCount()Description copied from interface:ILcdFeaturedReturns the number of features.- Specified by:
getFeatureCountin interfaceILcdFeatured- Returns:
- the number of features.
-
setFeature
Description copied from interface:ILcdFeaturedSets the featureObjectat the given index.- Specified by:
setFeaturein interfaceILcdFeatured- Parameters:
aIndex- a valid feature index.aFeature- the new featureObject.- Throws:
IllegalArgumentException- if the feature can't be set.- See Also:
-
equals
Description copied from class:ALcdPointReturns whether the given object has the same class and the same coordinates.- Specified by:
equalsin interfaceILcdPoint- Overrides:
equalsin classALcdPoint- Parameters:
o- theObjectto compare to.- Returns:
- false if aObject is an ILcdPoint object with different 3D coordinates or the object is not an ILcdPoint. If the objects do have the same 3D coordinates, the return value is defined by the specific implementations of ILcdPoint and may still be false.
-
hashCode
public int hashCode()Description copied from class:ALcdShapeThe hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)method. Extensions should refine this implementation, based on their properties. -
clone
Description copied from class:ALcdShapeCreates and returns a copy of this object, by delegating toObject.clone(). Extensions should delegate to this implementation withsuper.clone(), in order to create an object instance of the right type, with all fields copied. They then should explicitly clone any non-primitive fields for which a deeper clone is required.- Specified by:
clonein interfaceILcdCloneable- Overrides:
clonein classALcdShape- See Also:
-
toString
- Overrides:
toStringin classALcd2DEditablePoint
-
TLcdS57Nodeinstead.