blankblank blank


Archive for February, 2011

Horizon Profiles With HeyWhatsThat

Application Name: HeyWhatsThat

Description: Mobile-enhanced web app that shows the horizon line at your location, and identifies peaks

Publisher’s website: HeyWhatsThat

Cost: Free

Version/date reviewed: NA; 2-27-11

Phone/OS: Droid X / Android 2.2

Mobile web app

Main website (for desktop PCs)


This isn’t technically an Android app, as it will also work on the iPhone (for those behind the curve), but the HeyWhatsThat website has a mobile version that will show you the horizon line from your current location, with named peaks identified. Go to the mobile website address (m.heywt.com):

heywt_main

If you haven’t gotten a GPS fix recently, tap on “Update my location”, and it will fire up your GPS to get your current coordinates. Then tap on “Show me the view from here” …

heywt_address

The app will show you the coordinates it’s using for the calculation, and the nearest reverse-geocoded address. While the app says it may take up to 2 minutes to generate the horizon view, I’ve usually gotten the results in about 30 seconds or less …

heywt_panorama

The site comes up in Panorama view, with peaks identified on the horizon view with red triangles. Tapping on the single arrow buttons moves the line cursor from one peak to the next, with the name/bearing/distance/altitude given for each one. Tapping on the double arrow scrolls the panorama view to the next part of the horizon. Panorama locations are saved by the website, so that you can pull them up again instantly with the “A View I’ve Requested Before” option from the main screen. By default, it’s saved with the address as the label, but you can rename it to whatever you want using the Rename function at the bottom; you can also remove a saved location there as well.

heywt_list

Tapping on the List tab brings up a list of all the peak summits visible in your area; the app takes into account blockage by terrain, but not vegetation, buildings or atmospheric conditions. Tap on a peak in the list, and you’ll be returned to the panorama view with that peak selected.

heywt_details

The Details tab brings up information about your current position, and the panorama view. In the view above, the vertical relief is significantly exaggerated (7.7x) so that you can identify peaks more clearly. Unfortunately, the site gives magnetic bearings instead of true bearings, but it also conveniently gives you the magnetic declination here, so that you can manually correct for it. The link for a web view is nice, but it’s not an active link, so you can’t select it, or copy/paste it for notes,

How does this compare with Peak.AR, another app for identifying peaks on the horizon? Peak.AR is certainly more interactive and visually striking; you get peaks superimposed on a camera view, and the view changes as you rotate the camera. However, it identifies all peaks in a specific direction, and doesn’t calculate which ones are and aren’t visible from your location. And, as I’ve posted about, the older version of Peak.AR (which I vastly prefer) has been superseded by a newer version which I’m not crazy about. I use to use Peak.AR primarily, but even with its limitations, I find HeyWhatsThat makes it easier to figure out which peak I’m looking at.

The author of HeyWhatsThat has indicated that he’s working on an Android-specific app that will take advantage of the built-in compass, and change the view depending on which direction you’re looking in. There’s a test/sample version of the app available in .apk format here; it shows only sample views from a few specific locations, but the views change as you rotate the camera. If you download the test app, choose a location using the “Surprise me” option, then tap on the “Off” text in the view to turn on the compass.




GeoCam – Additional Features

Yesterday’s review of the Android app GeoCam  concentrated on its main features, measuring/recording position and orientation info. But it has a few cool additional features as well.

flag

In the lower right hand corner of the main display are flag and map icons. Tap on the flag …

Name

… and enter a name for that location; the position is now stored under that name.

flag_list

Go to the Geo tab of the Settings section, and tap on the multi-flag icon to get options for your saved “flags”.

flag_map

“View on Maps” displays the flag markers in a Google Maps view; you also get this by tapping on the Map icon on the main screen.

flag_map_marked

Tap on a flag to get its name.

list

The “View List” option lets you see all your saved flags; a long press on any item in the list brings up the option to delete them. The single flag listing in settings has the same function as the Flag icon on the main screen, to give you the option to record your current position.

flag

Where it gets really cool is that if you point your phone in the general direction of a flag, you’ll see its name and distance on the augmented reality (AR) display (note: you’d normally see the camera view as well, but screenshots can’t capture camera views, so you just see a gray background above).

distance_height

Under the “Geo” tab in settings, there’s also a compass icon; tap on that, and get options to measure distance and height. Unlike apps such as Smart Measure, which require that the object you’re measuring be on a plain, level surface at the same elevation as you, GeoCam uses GPS position data to get distance and height by triangulation. For distance, select the option, center the object in your display, and tap the display center. Then shift over sideways as long a distance as you can, center the object again, and tap the center. GeoCam uses the two GPS positions, and the two orientations of the phone when pointing at the object, to estimate the distance from the midpoint of the measurements to the object by triangulation.

The accuracy will depend strongly on how precisely you center the object, how far apart the two measurements are made, how far away the object is, and what your current GPS error is; the app won’t let you make this measurement if GPS error is larger than 10m. At short distances on level surfaces, Smart Measure is much more accurate, but its accuracy decreases rapidly as the object gets further away, and doesn’t work well at all on uneven surfaces. I tried multiple distance measurements with GeoCam, and with care you can get accuracy to within 5% or less of the actual value for objects about 50 meters or further away.

Once you have a distance to an object, you can use GeoCam’s Height function to roughly measure how tall it is from base to top. Select the Height option and enter the distance to the object in meters. You’ll then be prompted to point first to the base of the object and tap the screen, then the top of the object and tap; from the distance and angle info, GeoCam will calculate height. Didn’t try this too many times, and didn’t have good height info for my test objects in any case, but the values were at least within the ballpark of what I would have expected.

The author keeps adding new features, so it will be tough to keep this review up to date. One promised new feature will be the ability to export the flag positions as a KML file for use in Google Earth. But I’d love to see an import option for KML or GPX waypoints, so that you can load them in for use in the augmented reality mode. The ability to add a flag marker with a long press on the Google Maps view could also be useful.

In any case, given the current price (free), this is a must-have app, and the paid version is definitely worth a look as well.




Orientation-Stamped Imagery And More With GeoCam

Application Name: GeoCam (originally Theodolite)

Description: Augmented reality app that shows compass direction, GPS coordinates, orientation on camera view, plus much more.

Publisher’s website: None

Cost: Free ad-supported version; paid version removes ads, adds video recording and KML export.

Version/date reviewed: v.1.63  /  2-22-11

Phone/OS: Droid X / Android 2.2


Android Market (mobile app only)
Android Market (browser)


Multi-purpose apps can be a mixed blessing; it’s nice to have multiple functions in a single app, but sometimes each individual function is inferior to that in another app dedicated solely to that function. Ulysse Gizmo has been the biggest exception to that issue I’ve reviewed so far, in that all that functions are well-executed. I’d now include GeoCam – it has a lot of functions, some rarely found on other apps, and performs most of them well.

overlay

The primary function of GeoCam is to show you the compass direction you’re pointing, GPS coordinates, and phone orientation/tilt, superimposed as an augmented reality (AR) view on the camera display. You can then take a photograph of that view with the additional data superimposed, to have it for your records. When I saw this in an earlier beta version, the one thing I had hoped for was the option to take a picture without all the superimposed data …

no_overlay

… and the app’s author apparently read my mind, because this feature showed up in a later release.

th_view

Here’s the view on the camera screen, minus the actual camera input (which doesn’t show up on screen captures). The red square is a guide to getting the phone aligned correctly; when the phone has zero tilt angles, that red box will turn green and align with the green box in the center of the display.

In addition to the information/data displays, there are buttons/sliders to access various controls. The blue magnifying glass at upper left …

info

… brings up a data screen with position and orientation data. The icon immediately to its right turns on/off adding the AR data to any photos you take The red slash on the icon signifies that no AR data is added to the photo, and tapping on that icon will remove the red slash and put it into the mode that includes orientation data as an overlay on the photo.’

The camera icon at the upper right takes a photo, but you can also use your phone’s hardware camera button as well. Red icon in the lower-left exits the program, though the Back button seems to work as well. The blue “i” brings up a reasonably-comprehensive in-app help screen. The flag/map buttons at lower right? I’ll save those for tomorrow.

The yellow-highlighted arrow at the right brings up a settings/menu screen if you tap on it; you can also bring this screen up by pressing the phone’s Menu button.

exposure

There are three settings tabs, Cam (for camera settings), Geo (tomorrow) and Set (which lets you modify the color and font used in the AR orientation overlays). Above is Cam, with the Brightness subsetting selected. You can adjust the photo’s exposure by sliding the numbers at left to highlight the desired over/underexposure with the red line. For my Droid X phone, the view in the camera display always seems to be brighter than the final photo taken, so if I adjust the exposure to be lower, the resulting photos are too dark; YMMV with your phone.

tints

The next camera subsetting lets you modify the picture tints for monochrome, sepia, negative, solarize, and various tints. At least for me, this doesn’t really offer any useful functionality.

size

The final camera subsetting supposedly lets you select the photo resolution from all the phone’s supported pixel sizes, but on my Droid X, you only get one choice; the author says he’s working on figuring that one out.

set

In the Set section, you can choose the color of the orientation overlay for best results. Bright sets it to pure white for darker background images, Light (seen above) sets it darker for light images, and Cockpit (seen in the first pictures above) sets it to green. I’ve found that Cockpit is the best all-around choice, as it’s clearly visible under most circumstances.

Other issues: Compass direction is magnetic; I would really hope that the option to set that to true direction is added soon. For now, you have to manually correct for the magnetic declination. And I hope support for all camera photo resolutions will be fixed eventually.

Final thoughts (Part I): If this were all GeoCam did, it would be a must-have app. But it adds some additional AR geographic functionality, plus some measurement capabilities, which I’ll cover tomorrow in Part Two.




FIPS Code Lookup With FIPSit

Application Name: FIPSit

Description: Lets you look up the FIPS code for a state/county, or reverse lookup if you have the code numbers.

Publisher’s website: Basement Dwelling Geek

Cost: Free

Version/date reviewed: v.1.5  /  2-21-11

Phone/OS: Droid X / Android 2.2

fipsit_qr
Android Market (mobile app only)
Android Market (browser)


US Government FIPS code numbers (Federal Information Processing Standards) have been commonly used to tag geographic data with a unique ID number for a particular state, and also county within that state; US Census data in particular has been using the FIPS code to identify geographic areas, and it’s also known as the “Census Code”. While they’re being deprecated in favor of other code systems, you can still find them used in older GIS datasets. FIPSit offers a handy reference tool for looking up the FIPS code for a state/county, and also a reverse lookup if you have a code number and want the state/county it refers to.

fipsit_1

Type in the state name (full, or standard abbreviation), and get the two-digit FIPS code.

fipsit_2

Type in at least three letters into the county name box, and you’ll get all matching counties for those three letters; as you type in more letters, non-matching entries drop out.

fipsit_3

Type in the state code into the top box, and get a list of all the counties in that state, with their FIPS codes.

fipsit_4

Type in the full county code number at top, and get the specific county.

Other issues: Be nice to have older FIPS code lookups for populated places, but those were already being deprecated in favor of the GNIS code system a few years ago.

Final thoughts: It’s a bit specialized, but if you deal with FIPS codes on a regular basis, it’s a convenient and easy-to-use reference tool.




Distances, Times and Bearings To Locations

Application Name: Distant

Description: Distances, bearings to locations on a list; travel times to those locations if you’re in motion

Publisher’s website: dixiak

Cost: Free

Version/date reviewed:v.1.0  /  2-21-11

Phone/OS: Droid X / Android 2.2

distant_qr

Android Market (mobile app only)
Android Market (browser)


Create a list of locations, either by manual entry or by tapping on a map, and Distant will give you distance/bearing info to those locations.

distant_1

In the startup view, you get a preloaded list of exotic destinations; after a GPS or cellular fix is obtained, you’ll see them listed by distance from you (closest first), with approximate direction as well. If there’s a number with an up-arrow following it, that indicates the increase in elevation from your current location to the destination; lower destinations have no such elevation change number, for some reason. Your current GPS position and altitude will be displayed at top, although why it’s in kilometers and not meters I have no idea.

distant_2

A brief tap on any item in the list (like Thikse Monastery) will bring up a more accurate bearing degree number. A longer tap will bring up the option to view the destination in Google Maps, edit/delete it, or add a new waypoint to the list. New waypoints can be added by manually entering a name, and latitude/longitude location.

distant_3

From the program menu, you also have the option of adding a waypoint to the list using Google Maps. Scroll to your desired location, and do a long press on the map; the “new waypoint here” popup appears. Tap on it …

distant_4

… and get the dialog box for adding a name (the coordinates will be enter automatically). Tap on the “disk” icon to save it to the waypoint list …

distant_5

… and also see it marked on the map.

distant_6

If you’re in motion, the app will show your current speed and bearing; for a selected waypoint in the list, it will tell you what angle you need to turn to be heading towards it, and how long it would take you at your current pace to reach that spot (89 days to 7 months for Thikse Monaster – long walk). From the list, the destination you’re closest to heading to will be listed in green, and the one you’re moving the most away from will be listed in red.

Other issues: App worked fine. A compass view, with a marker showing which direction you should move to go to the selected location, would be a useful addition.

Final thoughts: Fun as a geography learning tool, for getting distances/bearings to far-way locales. But could also be useful for local waypoints as well, although the navigation tools are a bit limited for that use.




Put A Compass On Your Android Status Bar

Application Name: Statusbar Compass

Description: Puts an arrow on your Android status bar that always points north.

Publisher’s website: None

Cost: Free

Version/date reviewed: v0.3.1  /  2-20-11

Phone/OS: Droid X / Android 2.2

sbc_qr

Android Market (mobile app only)
Android Market (browser)


Smallest compass you can put on your Android – sits in the status bar at the top.

sbcompass_1

Only one program screen, to start/stop the compass display, and give you the option of always starting the app when you turn on your phone.

sbcompass_2

Purple arrow shows up at the top; when the phone is pointed north, the arrow points straight up.

sbcompass_3

With the phone pointing in a different direction, the arrow will still point north.

sbcompass_4

Drag the status bar down, and see an item listing for the phone; click on that to bring up the program screen to stop the compass display. There’s also a compass angle reading, but on my Droid X, it’s always wrong.

Other issues: Arrows always points towards magnetic north; as with all other compass apps, I wish the author would offer the option for true north (it’s easy to implement). Not crazy about the purple color, so the option to select other colors would be nice as well. You’ll likely increase battery drain slightly, but unlike GPS, the compass doesn’t use a lot of power, so you’re unlikely to see a major effect.

Final thoughts: Wish it had a few more options, but you can’t beat it for simplicity and small footprint.




How The FCC Plans To Destroy GPS – A Simple Explanation

Cross-posted at the Free Geography Tools site.

If anyone had told me three months ago that a company was going to propose a system that would fully disable GPS in areas that cover most of the population of the US, I would have ignored them. If someone told me two months ago that the FCC would give this proposal serious consideration, I would have laughed. If someone had told me a month ago that the US Federal Communications Commission  would actually approve this scheme, I would have considered them crazy. And yet, that’s exactly what’s happened; the FCC has given conditional approval to LightSquared’s 4G LTE proposa l (PDF link). If implemented as planned, all current GPS receivers will no longer operate correctly in areas covered by their system, which include the overwhelming majority of the US population. I wish I were kidding, but I’m not. There’s a lot of technical jargon used in discussing this issue, so in this post I thought I’d try to explain the issues with a somewhat less technical, and hopefully more accessible approach. Technical nitpickers may see some oversimplification, for which I apologize … not at all.

At their most basic level, GPS receivers are pretty close to FM radios.  So to explain some of these principal issues behind the GPS problem in understandable terms, I’ll use the basics of FM radio broadcasting. To tune in an FM radio station, you turn your radio’s dial or push the buttons until the receiving frequency of the radio is set to that of the station: 89.5, 101.7, 104.1, and so on. Those numbers refer to the number of cycles per second of the frequency in millions, so that 101.7 is a radio signal operating at 101.7 million cycles per second, abbreviated as 101.7 MegaHertz (MHz) for short. But that’s just the main frequency, sometimes referred to as the central “carrier wave”; receiving a signal at just at frequency wouldn’t give you any signal information, like music/talk/news. To encode that signal, the frequency of that carrier wave is varied, or “modulated”, by the signal; your radio then monitors those variations in frequency around the central carrier wave’s frequency, and then converts them back to the original signal, music/talk/news. Frequency being modulated = Frequency Modulation = FM.

If you had two stations broadcasting in the same area on the same frequency, they would interfere with each other, making both of them unlistenable. If the frequency is only slightly different, they will also interfere with each other. To prevent this, the FCC licenses broadcasters to transmit on a specific frequency, and also makes sure that the frequencies are far enough apart so that one station’s broadcasts won’t interfere with another station. In the original days of FM, the minimum spacing for FM frequencies was 800 thousand cycles per second (800 KiloHertz or KHz, 0.8 MHz); so if one station was at 90.1 MHz, the closest frequencies allowable to that station would be 89.3 MHz and 90.9 MHz, offset 0.8 MHz up and down from the center one.

With time, the FCC has loosened that frequency spacing requirement up a bit,  taking into account factors like improved FM radio technology, the broadcast power of the station, and the distance from other stations assigned the same frequency. For the most part, the system works, but  you’ve probably experienced occasions when you’ve been listening to one FM station, only to have a second signal cut in and interfere with the first station’s signal. This is especially noticeable if you drive right by an FM radio broadcast antenna; the signal from that station can be so strong, it wipes out reception from any stations that are even marginally close to it in frequency. Because a station requires about 150 KHz of frequency modulation bandwidth to carry its signal, the FCC has also mandated that all standard FM tuning signals need to be at least 200 KHz apart; that’s why your FM tuner jumps from 100.1 to 100.3 to 100.5, bypassing 100.2, 100.4; those frequencies need to be kept free to make sure stations don’t “step” on each other’s signals.

OK, so back to GPS. While GPS doesn’t technically use frequency modulation, it uses a closely-related system called “phase modulation“, which also relies on a carrier wave. The main signal broadcast by GPS satellites, and used by the overwhelming majority of GPS receivers for determing position, is the “L1” frequency, with the carrier wave 1.57542 billion cycles per second (aka a GigaHertz, or GHz); including the total frequency band required for phase modulation, the range is 1.559 GHz  to 1.610 GHz. Phase modulation is used to transmit digital information with pulses 1-millionth of a second wide from the satellites to your GPS receiver; the receiver takes this data from multiple satellites, and uses it to calculate your position. This frequency was defined in the late 1970s, and has been used continuously for GPS operations since the system went operation early in the 1990s, twenty years now. This frequency band is also part of a larger range of frequencies designated for use in satellite broadcasting. As with FM radio, you need to separate the frequency bands far enough apart so that the signals don’t interfere with each other; you also need to make sure that a signal at one frequency isn’t broadcast at such a high power that it will interfere with signals broadcast at neighboring frequencies. The latter isn’t usually a problem – the signal strength from satellites 12,000 or 23,000 miles above the earth is usually so low that interference between adjacent frequency bands is infrequent.

So, enter LightSquared. LightSquared wants to build a high-speed wireless broadband network on the cheap. Problem is, the FCC holds regular auctions for frequency space, with all the big wireless players (Verizon, ATT, Cingular, Google) bidding billions of dollars for this frequency space to carry their traffic; a smaller company like LightSquared can’t compete financially. But LightSquared came up with several clever workarounds to get past this issue. Satellite frequencies are also regulated and auctioned by the FCC, but they usually go for prices far lower than terrestrial frequency space. LightSquared acquired a small satellite company called SkyTerra that already owned frequency rights for 1.525 GHz to 1.559 GHz, directly adjacent to the frequency band designated for GPS. They then announced plans to develop a satellite-based Internet access service using those frequencies. Satellite signals by themselves would be so weak, that Internet speeds would likely be limited to no more than a few megabits per second, comparable to current 3G wireless network speeds. But FCC regulations have a loophole that allows satellite services to broadcast stronger signals terrestrially to supplement satellite coverage in those areas where coverage might be weak. This terrestrial broadcast signal can be as strong as the FCC allows, and is covered by the satellite auction price paid by the licensee.

So LightSquared announces a “satellite Internet access” service, but one supplemented by free use of terrestrial transmitters. But these terrestrial transmitters aren’t intended merely to fill in gaps in satellite coverage; these are high-power transmitters that allow LightSquared to offer the equivalent of 4G wireless Internet speeds (up to 100 Mbps), without paying for terrestrial spectrum. So that’s how LightSquared plans to do high-speed wireless broadband on the cheap – they don’t have to pay for the frequency spectrum they’re using. It’s a clever use of loopholes, and one I wouldn’t have a problem with, except that they will be broadcasting at high-power at a frequency that will interfere with GPS signals to the point that GPS receivers will no longer operate correctly. And this isn’t just a few transmitters – LightSquared’s plans are to install 40,000 transmitters to cover areas that contain most of the US population.

This GPS interference isn’t just a hypothesis. Members of the US GPS Industry Council, Trimble and Garmin met with the FCC on January 19th to present and discuss Garmin’s tests of the LightSquared proposal (PDF link), and its potential for interference with GPS receivers. Garmin used LightSquared’s own proposed transmitter power levels to evaluate the effects of this transmitters on an automotive GPS (Garmin nuvi 265W) and an avionic GPS (GNS430W). Here are screen captures summarizing the effects of the LightSquared transmitters on GPS receiver performance at different distances:

nuvi

GNS

If you get within 0.66 miles of a LightSquared transmitter in open conditions, you’ll lose your position fix with the automotive nuvi 265W, further away in a city environment like New York or Chicago. The results are even worse for the aviation GPS. The FAA has essentially discontinued support for the old LORAN electronic navigation system in favor of GPS, and now LightSquared has proposed a system that essentially disables GPS in exactly the areas aviation needs it most. Garmin’s conclusion, shared by other industry proponents:

The operation of so many high powered transmitters so close in frequency to the GPS operating frequency (1575.42 MHz) will create a disastrous interference problem to GPS receivers to the point where GPS receivers will cease to operate (complete loss of fix) when in the vicinity of these transmitters.

Other government agencies are also concerned. In a January 12th letter to the FCC, Lawrence Strickland, the head of the National Telecommunications and Information Administration (a branch of the Department of Commerce) wrote:

Grant of the LightSquared waiver would create a new interference environment and it is incumbent on the FCC to deal with the resulting interference issues before any interference occurs. Several federal agencies with vital concerns about this spectrum band, including the Departments of Defense, Transportation and Homeland Security, have informed NTIA that they believe the FCC should defer action on the LightSquared waiver until these interference concerns are satisfactorily addressed.

And yet, on January 26th, waiving many of their standard procedures, the FCC gave conditional approval to LightSquared’s proposal (PDF link). The only bone thrown to the GPS community was the requirement that LightSquared work with the GPS community to resolve these interference issues. But since LightSquared is funding the study, there are concerns about how unbiased the results will be. Unless you can change the laws of physics, and principles of electrical engineering, you can’t resolve this problem directly with existing GPS equipment as-is. LightSpeed acknowledged as much when they stated that they saw the main purpose of this joint effort as seeing how to modify GPS equipment to implement “filtering so that they don’t look into our band”. There are only two ways to implement this:

  • Retrofit current GPS equipment with improved electronics; possible but expensive for high-end equipment, impossible at a reasonable cost for consumer-grade equipment
  • Replace all current incompatible GPS receivers with new ones that have improved filtering. While the marginal cost increase on a GPS receiver is likely to be low, the requirement that you have to replace the entire unit will make this staggeringly expensive. Every GPS receiver (automotive, aviation, handheld, mobile phone) would need to be replaced.

There’s additional fodder for conspiracy theorists as well. LightSquared filed its proposal on November 18, 2010, right before Thanksgiving. The FCC fast-tracked its proposal, and limited the comment period to December 2-9, 2010, over the objections of the GPS industry and other opponents. In approving LightSquared’s proposal, they acknowledge waiving some of their requirements (PDF link). And for the real conspiracy fans, the principals behind LightSquared may have political connections deep inside the current adminstration (PDF link). In normal circumstances, I would dismiss all this as nonsense, but the FCC’s decision is blatantly crazy, I have to wonder.

If it weren’t for its detrimental consequences on GPS, I’d think that LightSquared’s system would be a great idea – high-speed wireless Internet access in most populated places, and lower-speed access anywhere in the world by satellite. And if the FCC wants to propose regulations requiring better frequency band filtering in GPS receivers, and other types of satellite-band-based systems, to allow exactly these kind of systems to be developed in the future, I could get on board with that as well. But it should be up to LightSquared to prove that their system won’t interfere with GPS the way it is right now. GPS is the established system – twenty years of operation, hundreds of millions of receivers, uncountable numbers of applications. If LightSquared interferes with GPS, it should be required either to fix the problem itself, or be denied permission to function. That the FCC would even consider LightSquared’s proposal without modification, much less approve it, is astonishing.

If you’re interested in letting the government know how you feel, GPS World has a page on how to contact the relevant members of the House and Senate. GPS World is also the go-to source for coverage of this issue:

Addendum: A great article at InsideGNSS.

And a HT to GPS Tracklog Waypoints for the original link to GPS World.