- Fix: avoid infinite loop on mulitcast read thread if no data to read
Pre-ci test passed git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4000 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Executable
+62
@@ -0,0 +1,62 @@
|
||||
function h = plot_gps_coordinates(longitude, latitude)
|
||||
% h = plot_gps_coordinates(longitude, latitude)
|
||||
%
|
||||
% This function plots the gps coordinates given by langitude and latutude
|
||||
% onto the map of garbejaire. If langitude and latutude are matrices, each
|
||||
% row is treated as a seperate user and plotted in a different color.
|
||||
% This function uses the Plate carrée projection
|
||||
% (http://en.wikipedia.org/wiki/Plate_carr%C3%A9e_projection). We assume
|
||||
% the coordinates of 3 reference points are known in lat/lon as well as
|
||||
% x/y coordinates.
|
||||
% The function returns the handle of the figure
|
||||
|
||||
h = figure;
|
||||
mm=imread('map_garbejaire.jpg');
|
||||
image(mm); % plots the image itself
|
||||
hold on
|
||||
|
||||
% GOOGLE MAPS
|
||||
% reference points in image coordinates
|
||||
x = [ 132.5634 581.7200 300.6440 ];
|
||||
y = [ 133.1389 77.5833 337.3056 ];
|
||||
% reference points in lat/lon
|
||||
lat = [43.6236 43.6239 43.6222];
|
||||
lon = [7.04554 7.04963 7.04707];
|
||||
|
||||
% TOMTOM
|
||||
% reference points in image coordinates (these are taken from tomtom measurements)
|
||||
x = [ 252.3120 135.5207 555.7223 ];
|
||||
y = [ 262.5364 159.9868 216.6093 ];
|
||||
% reference points in lat/lon
|
||||
lat = [43.62269 43.62339 43.62293];
|
||||
lon = [7.04670 7.04552 7.04948];
|
||||
|
||||
%plot(x,y,'o')
|
||||
|
||||
|
||||
% calculate the scale factor of the projection by averaging
|
||||
% scale(1) = sqrt((x(2)-x(1))^2 + (y(2)-y(1))^2)/sqrt((lon(2)-lon(1))^2 + (lat(2)-lat(1))^2);
|
||||
% scale(2) = sqrt((x(3)-x(1))^2 + (y(3)-y(1))^2)/sqrt((lon(3)-lon(1))^2 + (lat(3)-lat(1))^2);
|
||||
% scale(3) = sqrt((x(3)-x(2))^2 + (y(3)-y(2))^2)/sqrt((lon(3)-lon(2))^2 + (lat(3)-lat(2))^2);
|
||||
scalex(1) = (x(2) - x(1))/(lon(2)-lon(1));
|
||||
scaley(1) = (y(2) - y(1))/(lat(2)-lat(1));
|
||||
scalex(2) = (x(3) - x(1))/(lon(3)-lon(1));
|
||||
scaley(2) = (y(3) - y(1))/(lat(3)-lat(1));
|
||||
scalex(3) = (x(3) - x(2))/(lon(3)-lon(2));
|
||||
scaley(3) = (y(3) - y(2))/(lat(3)-lat(2));
|
||||
|
||||
gps_x = zeros([size(latitude) 2]);
|
||||
gps_y = zeros([size(latitude) 2]);
|
||||
gps_y(:,:,1)=(latitude-lat(1))*mean(scaley) + y(1); % gps_x is the north-south direction
|
||||
gps_x(:,:,1)=(longitude-lon(1))*mean(scalex) + x(1); % gps_y is the east-west direction
|
||||
gps_y(:,:,2)=(latitude-lat(2))*mean(scaley) + y(2); % gps_x is the north-south direction
|
||||
gps_x(:,:,2)=(longitude-lon(2))*mean(scalex) + x(2); % gps_y is the east-west direction
|
||||
% gps_y(:,:,3)=(latitude-lat(3))*mean(scaley) + y(3); % gps_x is the north-south direction
|
||||
% gps_x(:,:,3)=(longitude-lon(3))*mean(scalex) + x(3); % gps_y is the east-west direction
|
||||
|
||||
% plot_style = {'rx','bx','gx','yx'};
|
||||
% for i=1:size(longitude,2)
|
||||
% plot(gps_x(:,i),gps_y(:,i),plot_style{i})
|
||||
% end
|
||||
|
||||
plot(mean(gps_x,3).',mean(gps_y,3).','x')
|
||||
Reference in New Issue
Block a user