Position as property
The class s4city:Event describes temporal and scheduled events organized by some agent, that take place at a certain time and at a certain facility. This class discards events that take place in a moving facility such as buses or boats. The position of moving facilities could be considered a saref:Property, and be measured by devices.
OP s4auto:detectsPosition links a device to the position it can detect. If positions were modelled as properties, this OP could be replaced by saref:measuresProperty. Similarly, OPs s4auto:hasDestination, s4auto:hasPosition, s4auto:hasOrigin, s4auto:hasEstimatedRendezvousLocation, could all be modelled as subproperties of saref:hasProperty, or as instances of saref:Property (with some renaming). By the way, the same position could be measured or evaluated in different ways: absolutely with a latitude and a longitude, relatively to some point of interest, or relatively to some other point of interest.
OP s4agri:isLocatedIn applies for example to s4agri:Animal or s4agri:AnimalGroup to express the physical location of the entity. As such, the location of the animal cannot change. It may be useful to model the location of an entity using a saref:Property, that can be measured.
and
Agreed that a position can work as a Property. Then it may become necessary to extend the range of saref:hasValue from literals to URIs if the position is to be identified via an individual.
This issue requires no change in SAREF4ENVI, but I open it here as a trace:
If a property saref:Position is defined, it would be possible to observe the position of a s4city:Facility.