Sponsored Content
Top Forums UNIX for Beginners Questions & Answers awk scripting to select a rectangle frame Post 303044242 by Neo on Monday 17th of February 2020 07:52:22 AM
Old 02-17-2020
I pretty sure it is possible to take latitudes and longitudes and construct a 2D geometric shape (like a rectangle) if we know the distance from the center of the coordinate system (commonly called "the elevation" above mean sea level of the earth). Otherwise, land surveying would not be possible since surveying is based on longitude and latitude (coordinates) with the elevation (on the Earth this is the distance above MSL).

Latitude and longitude, along with distance from the center of the earth, form polar coordinates, as I fondly remember from "the good ole days" when I worked as a land surveyor (actually I had my own land surveying business for many years),

The problem I have with this question is that the OP is not providing his algorithm as vbe mentioned in post #8.

So, let's ask the OP to post his formulas (algorithms) he is using to do the calculations.

The short answer is "to select a rectangle frame from longitude and latitude" is that you need to know the distance from the center of the coordinate system for each coordinate. This is simply a problem in converting polar to rectangular coordinates, and back.

Of course, you know me, I have done this kind of calculation countless times (in my youth) and never did it with awk. I used to do these calculations (almost daily) on the Tandy TRS 80 which I programmed in Basic and also the Atari / Amiga, back in the "day".

Last edited by hicksd8; 02-17-2020 at 10:38 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SED scripting select

Say I have a file 'example.txt' with these lines of code in it: hello:anddasd:cheese:gerg whatever:sdadsa:asdfasdfa:wwew hmmmm:something:gfhfhgf:sdasdas Question: 1. How would I write a script which is able to take all the words before the first ':'? 2. How would I write a script which is... (6 Replies)
Discussion started by: i_am_a_robot
6 Replies

2. UNIX for Dummies Questions & Answers

Awk - select from a list

Hi all, I am trying to select some columns from a file, based on the list of values. Would like to know how best I can achive this. If coulmn 1 has a value of 57 then print the ist column (This works) awk -F' ' '{if ( $1 == 57 ) {print $1}}' file.txt Now my requirement is that I have to... (14 Replies)
Discussion started by: simha77777
14 Replies

3. Shell Programming and Scripting

SQL Select and awk

Dear All , I have file1.txt contain values like the following: ---------- 23 24 25 and I have shell script which has the following : more file1.txt | awk '{print "select 'DUMP',CODE1||'|'||CODE2||'|'||CODE3 from CODE where CODE1='" $1 "';"}' > file2.sql all I need is to have the... (6 Replies)
Discussion started by: habuzahra
6 Replies

4. Shell Programming and Scripting

Removing repeating lines from a data frame (AWK)

Hey Guys! I have written a code which combines lots of files into one big file(.csv). However, each of the original files had headers on the first line, and now that I've combined the files the headers are interspersed throughout the new combined data frame. For example, throughout the data... (21 Replies)
Discussion started by: gd9629
21 Replies

5. Shell Programming and Scripting

awk with fields select?

If i have a log file record.txt, with 10 fields - First field is datetime - 7th field is status - 8th filed is name - The last field (10th) is epoch time of the first field 02/17/2012 1:47 PM||||||In Use|chicken||1329515230 02/17/2012 2:53 PM||||||Available|chicken||1329519195 02/17/2012... (4 Replies)
Discussion started by: sabercats
4 Replies

6. Shell Programming and Scripting

awk : Search for text between two time frame (12 hours)

I have created the script to grep the errors from weblogic logs files and redirecting output to file.txt ...From file.txt I'm using awk command to collect the past 20 mins output...The script running from cron every 15 mins... The script working well... Now the challenges, I'm trying to use... (27 Replies)
Discussion started by: zenkarthi
27 Replies

7. Shell Programming and Scripting

awk : collecting all data between two time frame

Hi Experts , I need your help to collect the complete data between two time frame from the log files, when I try awk it's collecting the data only which is printed with time stamp for example, awk works well from "16:00 to 17:30" but its not collecting <line*> "from 17:30 to 18:00" ... (8 Replies)
Discussion started by: zenkarthi
8 Replies

8. Shell Programming and Scripting

Using awk to select one field

Hi, I saw your post.. I have a dought in awk command... how to get the output from a file. i need a first column in etc/passwd file in a single column (in indivijual line)... i couldn't get with this command cat /etc/passwd | awk -F ":" '{printf $1}' Kindly help This thread was created... (3 Replies)
Discussion started by: Dheepak s
3 Replies

9. UNIX and Linux Applications

Rectangle is flickering while dragging on screen with xlib

Hi, this is my first post here. I wanto make a screencasting program. I want to make a screen part selection to grab coordinates of the screen location. I found a nice prototype #include <X11/Xlib.h> //#include <X11/Xresource.h> #include <stdlib.h> #include <stdio.h> #include... (0 Replies)
Discussion started by: whatnext
0 Replies

10. Shell Programming and Scripting

Shell Scripting - Select multiple files from numbered list

I am trying to have the user select two files from a numbered list which will eventually be turned into a variable then combined. This is probably something simple and stupid that I am doing. clear echo "Please Select the Show interface status file" select FILE1 in *; echo "Please Select the... (3 Replies)
Discussion started by: dis0wned
3 Replies
Mojo::IOLoop(3pm)					User Contributed Perl Documentation					 Mojo::IOLoop(3pm)

NAME
Mojo::IOLoop - Minimalistic reactor for non-blocking TCP clients and servers SYNOPSIS
use Mojo::IOLoop; # Listen on port 3000 Mojo::IOLoop->server({port => 3000} => sub { my ($loop, $stream) = @_; $stream->on(read => sub { my ($stream, $chunk) = @_; # Process input say $chunk; # Got some data, time to write $stream->write('HTTP/1.1 200 OK'); }); }); # Connect to port 3000 my $id = Mojo::IOLoop->client({port => 3000} => sub { my ($loop, $err, $stream) = @_; $stream->on(read => sub { my ($stream, $chunk) = @_; # Process input say "Input: $chunk"; }); # Write request $stream->write("GET / HTTP/1.1 "); }); # Add a timer Mojo::IOLoop->timer(5 => sub { my $loop = shift; $loop->remove($id); }); # Start loop if necessary Mojo::IOLoop->start unless Mojo::IOLoop->is_running; DESCRIPTION
Mojo::IOLoop is a very minimalistic reactor based on Mojo::Reactor, it has been reduced to the absolute minimal feature set required to build solid and scalable non-blocking TCP clients and servers. Optional modules EV, IO::Socket::INET6 and IO::Socket::SSL are supported transparently and used if installed. Individual features can also be disabled with the "MOJO_NO_IPV6" and "MOJO_NO_TLS" environment variables. A TLS certificate and key are also built right in to make writing test servers as easy as possible. Also note that for convenience the "PIPE" signal will be set to "IGNORE" when Mojo::IOLoop is loaded. See Mojolicious::Guides::Cookbook for more. ATTRIBUTES
Mojo::IOLoop implements the following attributes. "client_class" my $class = $loop->client_class; $loop = $loop->client_class('Mojo::IOLoop::Client'); Class to be used for opening TCP connections with the "client" method, defaults to Mojo::IOLoop::Client. "lock" my $cb = $loop->lock; $loop = $loop->lock(sub {...}); A callback for acquiring the accept mutex, used to sync multiple server processes. The callback should return true or false. Note that exceptions in this callback are not captured. $loop->lock(sub { my ($loop, $blocking) = @_; # Got the accept mutex, start listening return 1; }); "max_accepts" my $max = $loop->max_accepts; $loop = $loop->max_accepts(1000); The maximum number of connections this loop is allowed to accept before shutting down gracefully without interrupting existing connections, defaults to 0. Setting the value to 0 will allow this loop to accept new connections indefinitely. "max_connections" my $max = $loop->max_connections; $loop = $loop->max_connections(1000); The maximum number of parallel connections this loop is allowed to handle before stopping to accept new incoming connections, defaults to 1000. Setting the value to 0 will make this loop stop accepting new connections and allow it to shut down gracefully without interrupting existing connections. "reactor" my $reactor = $loop->reactor; $loop = $loop->reactor(Mojo::Reactor->new); Low level event reactor, usually a Mojo::Reactor::Poll or Mojo::Reactor::EV object. # Watch handle for I/O events $loop->reactor->io($handle => sub { my ($reactor, $writable) = @_; say $writable ? 'Handle is writable' : 'Handle is readable'; }); "server_class" my $class = $loop->server_class; $loop = $loop->server_class('Mojo::IOLoop::Server'); Class to be used for accepting TCP connections with the "server" method, defaults to Mojo::IOLoop::Server. "stream_class" my $class = $loop->stream_class; $loop = $loop->stream_class('Mojo::IOLoop::Stream'); Class to be used by "client" and "server" methods for I/O streams, defaults to Mojo::IOLoop::Stream. "unlock" my $cb = $loop->unlock; $loop = $loop->unlock(sub {...}); A callback for releasing the accept mutex, used to sync multiple server processes. Note that exceptions in this callback are not captured. METHODS
Mojo::IOLoop inherits all methods from Mojo::Base and implements the following new ones. "client" my $id = Mojo::IOLoop->client(address => '127.0.0.1', port => 3000, sub {...}); my $id = $loop->client(address => '127.0.0.1', port => 3000, sub {...}); my $id = $loop->client({address => '127.0.0.1', port => 3000}, sub {...}); Open TCP connection with "client_class", which is usually Mojo::IOLoop::Client, takes the same arguments as "connect" in Mojo::IOLoop::Client. # Connect to localhost on port 3000 Mojo::IOLoop->client({port => 3000} => sub { my ($loop, $err, $stream) = @_; ... }); "delay" my $delay = Mojo::IOLoop->delay; my $delay = $loop->delay; my $delay = $loop->delay(sub {...}); Get Mojo::IOLoop::Delay object to synchronize events and subscribe to event "finish" in Mojo::IOLoop::Delay if optional callback is provided. # Synchronize multiple events my $delay = Mojo::IOLoop->delay(sub { say 'BOOM!' }); for my $i (1 .. 10) { $delay->begin; Mojo::IOLoop->timer($i => sub { say 10 - $i; $delay->end; }); } # Wait for events if necessary $delay->wait unless Mojo::IOLoop->is_running; "generate_port" my $port = Mojo::IOLoop->generate_port; my $port = $loop->generate_port; Find a free TCP port, this is a utility function primarily used for tests. "is_running" my $success = Mojo::IOLoop->is_running; my $success = $loop->is_running; Check if loop is running. exit unless Mojo::IOLoop->is_running; "one_tick" Mojo::IOLoop->one_tick; $loop->one_tick; Run reactor until an event occurs or no events are being watched anymore. Note that this method can recurse back into the reactor, so you need to be careful. "recurring" my $id = Mojo::IOLoop->recurring(0 => sub {...}); my $id = $loop->recurring(3 => sub {...}); Create a new recurring timer, invoking the callback repeatedly after a given amount of time in seconds. # Invoke as soon as possible Mojo::IOLoop->recurring(0 => sub { say 'Reactor tick.' }); "remove" Mojo::IOLoop->remove($id); $loop->remove($id); Remove anything with an id, connections will be dropped gracefully by allowing them to finish writing all data in their write buffers. "server" my $id = Mojo::IOLoop->server(port => 3000, sub {...}); my $id = $loop->server(port => 3000, sub {...}); my $id = $loop->server({port => 3000}, sub {...}); Accept TCP connections with "server_class", which is usually Mojo::IOLoop::Server, takes the same arguments as "listen" in Mojo::IOLoop::Server. # Listen on port 3000 Mojo::IOLoop->server({port => 3000} => sub { my ($loop, $stream, $id) = @_; ... }); "singleton" my $loop = Mojo::IOLoop->singleton; The global Mojo::IOLoop singleton, used to access a single shared loop object from everywhere inside the process. # Many methods also allow you to take shortcuts Mojo::IOLoop->timer(2 => sub { Mojo::IOLoop->stop }); Mojo::IOLoop->start; "start" Mojo::IOLoop->start; $loop->start; Start the loop, this will block until "stop" is called or no events are being watched anymore. # Start loop only if it is not running already Mojo::IOLoop->start unless Mojo::IOLoop->is_running; "stop" Mojo::IOLoop->stop; $loop->stop; Stop the loop, this will not interrupt any existing connections and the loop can be restarted by running "start" again. "stream" my $stream = Mojo::IOLoop->stream($id); my $stream = $loop->stream($id); my $id = $loop->stream($stream); Get Mojo::IOLoop::Stream object for id or turn object into a connection. # Increase inactivity timeout for connection to 300 seconds Mojo::IOLoop->stream($id)->timeout(300); "timer" my $id = Mojo::IOLoop->timer(5 => sub {...}); my $id = $loop->timer(5 => sub {...}); my $id = $loop->timer(0.25 => sub {...}); Create a new timer, invoking the callback after a given amount of time in seconds. # Invoke as soon as possible Mojo::IOLoop->timer(0 => sub { say 'Next tick.' }); DEBUGGING
You can set the "MOJO_IOLOOP_DEBUG" environment variable to get some advanced diagnostics information printed to "STDERR". MOJO_IOLOOP_DEBUG=1 SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Mojo::IOLoop(3pm)
All times are GMT -4. The time now is 08:01 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy