Sha256: cbb929b3f21ad2bead081c127688e1001d925aa07796ccd6b5f975c7efd9ba3e
Contents?: true
Size: 1.77 KB
Versions: 1
Compression:
Stored size: 1.77 KB
Contents
# Access Point is a projection from an origin point on a Physical Road # This origin point and Access Point are linked by an Access Link class ActiveRoad::AccessPoint attr_accessor :location, :physical_road, :exit alias_method :exit?, :exit def initialize(attributes = {}) attributes.each do |k, v| send("#{k}=", v) end end # Find access points from a location def self.from(location, constraints = {}) physical_roads_filtered = ActiveRoad::PhysicalRoadFilter.new(constraints).filter physical_roads_filtered.nearest_to(location, 100).collect do |physical_road| new :location => location, :physical_road => physical_road end end # Find access points to go to a location def self.to(location, constraints = {}) physical_roads_filtered = ActiveRoad::PhysicalRoadFilter.new(constraints).filter physical_roads_filtered.nearest_to(location, 100).collect do |physical_road| new :location => location, :physical_road => physical_road, :exit => true end end def location_on_road(road = nil) @location_on_road ||= physical_road.locate_point location end def point_on_road @point_on_road ||= physical_road.interpolate_point location_on_road end alias_method :to_geometry, :point_on_road alias_method :geometry, :point_on_road def access_to_road?(road) physical_road == road end def name "Access on #{physical_road.objectid} @#{point_on_road.to_lat_lng} (for @#{location.to_lat_lng})" end delegate :spherical_distance, :to => :point_on_road def to_s name end def paths(constraints = {}) unless exit? ActiveRoad::Path.all self, physical_road.junctions, physical_road else [ActiveRoad::AccessLink.new(:departure => self, :arrival => location)] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_road-0.0.2 | app/models/active_road/access_point.rb |