Search This Blog

Monday, June 23, 2008

Google Map Hacking

http://econym.googlepages.com/index.htm

Great set of examples and explanations for anyone working on Google Map hacking!

Tuesday, June 17, 2008

Open mapping sources

Two open map sources

http://www.openstreetmap.org/

http://openaerialmap.org/

Earth Bridge (GPS to Google Earth)

Earth Bridge... link GPS to Google Earth...
Takes standard NMEA output....

http://mboffin.com/earthbridge/

Sunday, June 15, 2008

Coastal GIS tools

Just stumbled across these... some coastal tools for GIS people.

http://ecoastal.usace.army.mil/tools.asp


Particularly interested in the 3D viewer and comparing volume changes between LiDAR dataset from different times.

Sunday, May 25, 2008

GPS Art

A briefcase + GPS + many batteries + DHL + the World = self portrait

http://biggestdrawingintheworld.com/drawing.aspx


Tuesday, May 20, 2008

Population movement tracking in malls

Using people's phones as a way to track movements.

http://technology.timesonline.co.uk/tol/news/tech_and_web/article3945496.ece

Here the IMEI numbers unique to each phone are determined from shoppers so that the number of shoppers, country the phone is registered, and length of time spent in the mall can be stored. The trends can be used to extend shopping hours, or change the language of signs if it's found one nation is well represented in a shopping mall.

Monday, April 28, 2008

TCPIP sockets in c#

Many great working examples on TCPIP sockets... in C#


http://www.java2s.com/Code/CSharp/Network/AsyncTcpServer.htm

- - -
/*C# Network Programming by Richard BlumPublisher: Sybex ISBN: 0782141765*/
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class FixedTcpSrvr
{
private static int SendData(Socket s, byte[] data)
{
int total = 0;
int size = data.Length;
int dataleft = size;
int sent;
while (total < size)
{
sent = s.Send(data, total, dataleft, SocketFlags.None);
total += sent;
dataleft -= sent;
}
return total;
}
private static byte[] ReceiveData(Socket s, int size)
{
int total = 0;
int dataleft = size;
byte[] data = new byte[size];
int recv;
while (total < size)
{
recv = s.Receive(data, total, dataleft, 0);
if (recv == 0)
{
data = Encoding.ASCII.GetBytes("exit ");
break;
}
total += recv;
dataleft -= recv;
}
return data;
}
public static void Main()
{
byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 12008);
Socket newsock = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
newsock.Bind(ipep);
newsock.Listen(10);
Console.WriteLine("Waiting for a client...");
Socket client = newsock.Accept();
IPEndPoint newclient = (IPEndPoint)client.RemoteEndPoint;
Console.WriteLine("Connected with {0} at port {1}",
newclient.Address, newclient.Port);
string welcome = "Welcome to my test server";
data = Encoding.ASCII.GetBytes(welcome);
int sent = SendData(client, data);
for (int i = 0; i < 5; i++)
{
data = ReceiveData(client, 9);
Console.WriteLine(Encoding.ASCII.GetString(data));
}
Console.WriteLine("Disconnected from {0}", newclient.Address);
client.Close();
newsock.Close();
}
}