Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


GIS/GPS Programming

The Global Positioning System (GPS) is a space-based global navigation satellite system (GNSS) that provides reliable location and time information in all weather and at all times and anywhere on or near the Earth when and where there is an unobstructed line of sight to four or more GPS satellites. A geographic information system (GIS) or geospatial information system is any system that captures, stores, analyzes, manages, and presents data that are linked to location(s). In the simplest terms, GIS is the merging of cartography, statistical analysis, and database technology.

Share tech news, updates, or what's on your mind.

Sign up to Post


I've got a GeoJSON file of administrative borders i.e. state and county, and a CSV file with 12,500+ named GPS coordinates located within the geographic area.

My boss wants me to use the GeoJSON identify the county for each GPS location so I end up with a CSV file (format) like;

Is there any tool that can do this?

Thanks a bunch.
Industry Leaders: We Want Your Opinion!
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

With AS3 I combined geolocation and accelerometer to direct the iphone, with its back towards a star at the sky. Accelerometer works fine for tilt 0-90 degrees ( directed towards horizon, phone vertical - towards zenith, phone horizontal with screen downwards) but geolocation heading of course flips around 45 degrees tilt and begins to show star direction + 180 degrees. Around 45 degrees tilt geolocation heading becomes very random and I would be very grateful for a suggested algorithm to eliminate the randomness of this phase shift.
Specifically my problem is:

head = event.heading;
head2 = event.heading -180;
 if(head2<0){head2 +=360;}

 if(angleSky>45) {head3 = head2;} else {head3 = head} // angle obtained by accelerometer

Ideally above angleSky 45 the code should choose head3=head2 and that should then be a continuation of the heading below 45. But this is not the case. Sometimes the geolocation heading switches at 43 or 44. Thus what I have tried but not succeeded is to store head  at 42 or 43 and then compare head3 with that. If head3 then is more than 100 degrees difference I tried to use the heading at 42-43. But I have not succeeded. Can it be that the aquisition rate, 50 mS is too fast? Or is this attempt to solve the problem not the optimal model?
Our company has a KML file that when imported into Google My Maps shows the current coordinates of a fishing boat in the North Atlantic ocean. We then embedded this Google Map into a webpage in an iFrame.

We have a problem in that the position of the ship does not auto-update (refresh) on the webpage. We must constantly re-import the KML file into Google My Maps and obtain new code to paste into our webpage. This is very impractical.

Up until about a year ago Google had a service called : Embed KML gadget. Using this tool you only need import your KML once and resulting webpage is always up-to-date showing current GPS positioning.

It's a longshot but can anyone out there help?

Dear Sir ,

I am working on a GIS Data creation application , I would like to have your need for customization .I want that when user open a ArcMap application It will ask for Login window and user need to put their credentials ,then it allow to go inside the ArcMap ,Where I have ArcGIS Service and after accessing these service user will start to digitize the features in both online and offline mode .

If user created the feature and he doesn't have any internet connection while digitizing the features then data store in local table and once internet connection is there it will automatically store in the central server .

I look forward your kind help

Thanks & Regards.

Its supposed to be a map guider an accurate gps for car by giving the accurate route through roads car must do.

underlined line is what debug shows it as wrong.

any other

using System;

using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.Devices.Geolocation;
using Windows.Services.Maps;

// The Blank Page item template is documented at

namespace App75
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
        public MainPage()

            button.Tapped += Button_Tapped;

        private async void Button_Tapped(object sender, TappedRoutedEventArgs e)
            BasicGeoposition b1 = new BasicGeoposition();

            b1.Latitude = Convert.ToDouble(startpositionlatitude.Text);

            b1.Longitude = Convert.ToDouble(startpositionlongitude.Text);

            BasicGeoposition b2 = new BasicGeoposition();
I have a problem in GIS coordinates. I have this excel file with unknown CRS

sample data:
source coordinate (EPSG:4994 PRS92)
x: 675282
y: 1217112
    - note (the location of this coordinate should point in Ormoc City, Philippines, because i know where this entity is located)

target coordinate (EPSG:4326 WGS 84)
Lon: 124.6051799°
Lat:  11.0016664°

but when you show it on the map, the coordinates points somewhere near the port area instead of pointing in corner real and burgos streets, Ormoc City, Philippines (should be near this coordinate LON=124.60670952, LAT=11.0056316)

I'm using this for the transformation. Do you have any formulas that i can write in my excel file to convert it properly? Thanks in advance.
Is there anyone here familiar with SKiaSharp or SKia (a search here found no mention of this software)?  Basically, I take the survey lines from a survey, and draw the outline of the land, using SkiaSharp\DrawPath.  This works fine for straight line surveys, but it cannot handle lines that are not straight.  I have posted in the Xamarin\Skiasharp forum..., but have not had any replies.  And, I cannot find any examples\samples on the subject.  If you think that I should be posting elsewhere, please point me in the right direction.
My app has been VERY slow of late, when I looked into it, it appears there is a massive memory leak It climbs up to 2gb and crashes

We used took three Heap Snapshots on chrome developer tool,

one during login (when the google maps are loaded) another after everything loaded, and another when signalR pushes the data.

We compared the three snapshots, Open Layer stuff had many detached dom trees and kept building up. Therefore, Open layers has contributed to the memory leak of the app greatly.

Among the functions that we suspected caused the memory leak are:






After some few minutes the app crashes due to large amount of the memory used. The question is, how can we deal with this situation so that there are no memory leak in the app that is caused by the Open layers.

Also, when clicking anywhere on the app even in the pages where maps are not loaded, Open layer function are called. When Click events get fired they in turn calls the Open Layers functions.

I'm looking to consolidate two google script functions into one:

functions are:
1. getLongLat - this looks up the Long & lat positions given an address
2. GetCityL2L1Country - this looks to city state county and country given long/lat

example Google sheet using these functions:

I want one function eg GetStructuredAddress() to return and array of all 6 items, ideally using as few requests as possible (as google limits free requests)

var geocoder = Maps.newGeocoder(),
    cache = CacheService.getScriptCache();

function GetCityL2L1Country(latitude, longitude) {
//  var latitude = 51.69048,
//      longitude = 5.29362,
  var cacheKey = latitude + "+" + longitude,
    cached = cache.get(cacheKey);
  if(cached !== null) {
    return JSON.parse(cached);

  var result = geocoder.reverseGeocode(latitude, longitude),
  //First response is the most specific
      response = result.results[0];
  if(response === undefined) {
    return "??";
  function g(fieldName) {
    for (var i = 0; i < response.address_components.length; i++) {
      if(response.address_components[i].types.indexOf(fieldName) != -1) {
        return response.address_components[i];
    return {"long_name": "??"};
   rValue = [[ g("locality").long_name, g("administrative_area_level_2").long_name,  g("administrative_area_level_1").long_name, 

Open in new window


 I'm looking for recommendations for a small device like the tile that had a rest API.

Concerto Cloud for Software Providers & ISVs
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

I am working on GIS applications and found the slope algorith in the net :

attached is an example I used to apply the above algorithm for calculating slopes from a DEM. I am not good in math so I got two results.
Can you help me please . I got 73, -33, 56.648 and I do not how to do the arctan.
Below is an extract taking from a paper available at:

I need to understand it please very well. It is all clear until he starts the second paragraph.
The second paragraph mentioned an indicator I am not sure I understand the whole second paragraph.  Please help to clarify I am starting to study these models and their integration with GIS. Thanks

A model is a computer program that takes a digital representation of one or more aspects of the real world and transforms them to create a new representation. Models can be static, if the input and the output both correspond to the same point in time, or dynamic, if the output represents a later point in time than the input.

The common element in all of these models is the operation of the GIS in multiple stages, whether they be used to create complex indicators from input layers or to represent time steps in the operation of a dynamic process. Static models often take the form of indicators, combining various inputs to create a useful output. For example, the Universal Soil Loss Equation (USLE) combines layers of mapped information about slope, soil quality, agricultural practices, and other properties to estimate the amount of soil that will be lost to erosion from a unit area in a unit time (Wischmeier and Smith 1978). The DRASTIC model (fig. 1) estimates geographic variation in the vulnerability of groundwater to pollution, again based on a number of mapped properties
I am looking for a recommendation for a geocoding tool that will geocode street addresses. I have approximately 14k that I would like to batch code and of course I am looking for a free tool.

Any advice is appreciated.
I want to create a map application where the best possible route from a source to a destination will be marked for the user. The best route will be calculated based on what traffic markers (low, medium or heavy congestion) there are in junctions or intersections. The traffic markers will be imported from a database. How do I implement the best route using ArcGIS?
I would like to create a script that exports a mapbook and names each "page" of the mapbook the same and the Grid index field.  never worked with python before and I see/sense that it is quite doable, but done know the lingo...

GIS/GPS Programming

The Global Positioning System (GPS) is a space-based global navigation satellite system (GNSS) that provides reliable location and time information in all weather and at all times and anywhere on or near the Earth when and where there is an unobstructed line of sight to four or more GPS satellites. A geographic information system (GIS) or geospatial information system is any system that captures, stores, analyzes, manages, and presents data that are linked to location(s). In the simplest terms, GIS is the merging of cartography, statistical analysis, and database technology.