Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange
43

This is tricky for two reasons: first, limiting the points to a circle instead of a square; second, accounting for distortions in the distance calculations. Many GISes include capabilities that automatically and transparently handle both complications. However, the tags here suggest that a GIS-independent description of an algorithm may be desirable. To ...


36

If your write load (incoming data stream) can potentially grow without limit (if the success of your web project will cause the amount of writes to grow grow grow) then go with Mongo, because it will be very hard to architect your way around the write bottleneck in PostGIS/PostgreSQL once you grow beyond the capabilities of a single high-end server (which, ...


29

The radius measurements surely are subject to some error. I would expect the amount of error to be proportional to the radii themselves. Let us assume the measurements are otherwise unbiased. A reasonable solution then uses weighted nonlinear least squares fitting, with weights inversely proportional to the squared radii. This is standard stuff available ...


21

I've been using PostGIS for a few years and only recently started to investigate how I could use MongoDB to deal with certain use-cases. I was dealing with point data that had sparse fields - like OSM data with a varying number of tags per record, and since MongoDB has no schema, it lends itself well to this. I loaded a sample of this data into an instance ...


16

SW 1/ 4NE1/ 4sec. 29, T. 23 N., R. 8 W is not a direction, it's a location. Specifically, it is the southwest quarter of the NE quarter section of section 29, township 23 North, range 8 West. These terms are with respect to the public lands survey system (PLSS). Using the BLM Interactive map I navigated to this location and then eyeballed the SW quarter of ...


12

Averaging only makes sense if you assume that the "noise" in your location measurements is roughly symmetrical - evenly distributed in every direction. That is, for any one measurement, it's equally likely to be wrong in any particular direction. It is probably possible that you could get a noise distribution that isn't symmetrical. For example, if your GPS ...


12

UTM 32U is one tile of the UTM 32N zone. This image from Wikipedia (here the link to the following image) should explain it clearly:


11

Maybe I'm making it too complicated, but what you want is the distance from a point to a line. That is the distance from a point along AB that links AB with C with a line orthogonal to AB. This vector perpendicular to AB is given by v=[x2-x1, -(y2-y1)] # Point A is [x1,y1] Point B is [x2,y2] (I have used the square brackets to define a vector, or a two-...


11

Implemented for Javascript: var r = 100/111300 // = 100 meters , y0 = original_lat , x0 = original_lng , u = Math.random() , v = Math.random() , w = r * Math.sqrt(u) , t = 2 * Math.PI * v , x = w * Math.cos(t) , y1 = w * Math.sin(t) , x1 = x / Math.cos(y0) newY = y0 + y1 newX = x0 + x1


10

The correct implementation is: public static void getLocation(double x0, double y0, int radius) { Random random = new Random(); // Convert radius from meters to degrees double radiusInDegrees = radius / 111000f; double u = random.nextDouble(); double v = random.nextDouble(); double w = radiusInDegrees * Math.sqrt(u); double t = ...


9

This seems trivial to me, yet wikipedia's article on Antipodes goes into a lot of detail.


8

Something like http://www.antipodemap.com/?


7

IBlue 737/747 are great passive GPS collectors. No screen/map (there's your primary power drain... not the GPS). A little bigger than a Matchbox car. Rechargable 23-26hr cell-phone battery. Collects user-selectable items (lat, long, altitude, speed, LDOP, PDOP, etc). Customized collection time or spacing (every x seconds or positino change: 10 feet, 50 ...


7

This is a problem that everyone solves with a slight difference. IMHO, Yahoo did a great job with WOEIDs. As far as what is the most efficient way, it seems the answer is too subjective and dependent on your application.


7

You might be interested in Traccar which does exactly what you are looking for. Plus it is open source. Plus it is already a web-server. Plus you can install it on Amazon Ec2 and link the database with Amazon RDS service. Answering the database comment: here


7

Basemap should fit your need. Its default projection is the raw use of (long, lat) for plotting/processing. In this case, it also takes projection='cyl' to conform with general uses. Here is the code to try:- from mpl_toolkits.basemap import Basemap bm = Basemap() # default: projection='cyl' print bm.is_land(99.675, 13.104) #True print bm.is_land(100.539,...


7

Getting a location from a string is called Geocoding and there are a number of services offering that. The geocoder from the OpenStreetMap project is called Nominatim and is freely available, you could simply use the API: https://nominatim.openstreetmap.org/search?q=Berlin,+Germany&format=json ✔ https://nominatim.openstreetmap.org/search?q=TX&...


6

def get_perp( X1, Y1, X2, Y2, X3, Y3): """************************************************************************************************ Purpose - X1,Y1,X2,Y2 = Two points representing the ends of the line segment X3,Y3 = The offset point 'Returns - X4,Y4 = Returns the Point on the line perpendicular to the offset or None if no ...


6

I've integrated KCS traceme products for vehicle track and trace. The devices I used are being resold and re-branded often. Their product is called traceme (as a google keyword that sucks a bit). The programming goodies you can find here. That is a beta link for developers. You can find a PHP class (which I use) but also a JavaScript and a windows ...


6

After googling a bit more, I found this paper, Using Wi-Fi for Navigating the Great Indoors. I suppose the algorithm that handles multiple fingerprints, plus compass and accelerometer is what caught Apple's eye. When a gadget using WiFiSLAM wants to know its location, it analyzes the signal strengths and unique IDs of all the Wi-Fi networks around it....


6

I think your best bet is going to be downloading GIS data for populated places and coastlines (Natural Earth is an oft-recommended source) and performing a proximity analysis using GIS software to exclude all places except those matching some criteria, e.g. within 10 miles of a coastline. Bear in mind the world is a big place, and the coastlines are very ...


6

PROJECTION LAMBERT UNITS METERS DATUM GDA94 SEVEN /* GDA94 SPHEROID GRS80 PARAMETERS -28 00 00 /* 1st standard parallel -36 00 00 /* 2nd standard parallel 135 00 00 /* Central meridian -32 00 00 /* Latitude of projections origin 1000000 /* False easting (meters) 2000000 /* False northin (meters) END should be EPSG:3107 - GDA94 / SA Lambert. This is its ...


5

You could try Flowmap. It is specially designed to analyse flow patterns. You can find it here: http://flowmap.geog.uu.nl/


5

Telic offers special devices for your requirements: http://en.telic.de/en/products/asset-tracking/picotrack This device send its GPS position to a server and also the IMEI of the according SIM card. So you have both, your position and a unique id per device/vehicle. Events can be defined very flexible on movements, distance, leaving areas and so on.


5

You are passing an incorrect argument to the OpenLayers.Geometry.Point constructor. You don't need the lonLat. Try the following: var pointg = new OpenLayers.Geometry.Point(longitudeg, latitudeg); pointg.transform( new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913") );


5

I think you could use the Midpoint formula found at Moveable Type Scripts. This is the half-way point along a great circle path between the two points.1 Formula: Bx = cos(φ2).cos(Δλ) By = cos(φ2).sin(Δλ) φm = atan2( sin(φ1) + sin(φ2), √((cos(φ1)+Bx)² + By²) ) λm = λ1 + atan2(By, cos(φ1)+Bx) JavaScript: var Bx = Math.cos(lat2) * Math.cos(dLon); var ...


5

ESRI have a new tool that allow to add GTFS to a Network Dataset, display GTFS Route Shapes, edit GTFS Stop Locations, calculates transit/walking service areas for a specific time of day and day of the week, and more effective gadegets. There is also a blog avout this tool with samples to each procedure a lot of more links


5

If you are 100% sure that requirements are not going to change, and you just need to store the coordinates of the points, then yes, go ahead and save the data in a MySQL database, as two double columns. But if there is even a little chance that the scope can increase, then I'll suggest that you spend some time setting up a PostGIS database and save the data ...


5

The answer to this kind of issue should be to rasterize the information on to tiles on the server and simply serve the user tiles of the routes that they want to see. There are a plethora of options for doing this, but I think this train of thought is the best solution. Render the desired view on the server and only pass the tiles to the user, wash and ...


5

Your hypothesis is conceptually correct. GPS is a one-way system, with your phone listening to satellites broadcasting hyper-accurate timestamps from orbiting atomic clocks. A regular GPS unit can take 10+ minutes to download the latest satellite positioning information (almanac and ephemeris) needed for triangulation. This can lead to very long delay before ...


Only top voted, non community-wiki answers of a minimum length are eligible