1 / 16

Map Server and Client 09 May 2006 Joseph Czechowski IV (TMA) Jay Hallam (Zeta)

NeXtEarth is a map server and client that serves images from an NGA data set, providing an easier way to access and update data sets. It supports multiple platforms and integrates with NeXtMidas. The API is based on GoogleMaps' API and uses a QuadTree algorithm for positioning and resolution.

dancy
Download Presentation

Map Server and Client 09 May 2006 Joseph Czechowski IV (TMA) Jay Hallam (Zeta)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Map Server and Client09 May 2006Joseph Czechowski IV (TMA)Jay Hallam (Zeta)

  2. What Is It? • NeXtEarth consists of two components: • Map server • Serves images in a GoogleEarth-like manner from an NGA data set • Client • Can be any system that meets the API • NeXtMidas PLOT command is one such client

  3. Why? • Using a map server versus accessing the NGA data set directly means: • Requires fewer sites to be updated with new data sets • Easier to build clients, simpler API • Clients can run anywhere, not just where direct access (via NFS) is practical • Can now use WebStart • Available on any network • Client is platform-independent • Windows, Linux,… • Integrated into NeXtMidas • Natively supports Midas files as overlays

  4. 768 256 1024 256 +1 X +1 = 24 API • API based on GoogleMaps’ API • Each view is made up of N tiles • Each tile is a 256x256 pixel JPEG • Tiles are “stitched” together by client when drawn to screen • Number of tiles requested by client depends on screen resolution/size • Example (screen is 1024 x 768):

  5. API (Cont.) • Examples: • GoogleMaps: • http://<server>/kh?t=tq&v=3 • Modified Mercator Projection • NeXtEarth: • http://<server>/nms?t=tq&background=bluemarble • LatLon/Equirectangular Projection • Same as used by NGA, XGEOPLOT

  6. tq tr tt ts API (Cont.) • API based on GoogleMaps’ API • Positioning and resolution determined by QuadTree algorithm • 1st Resolution Level = t • (whole world in one 256x256 JPEG) • 2nd Resolution Level = tq, tr, ts, tt • (whole world takes four 256x256 JPEGs) • Nth Resolution Level (N > 2) • (whole world takes 8x4(N-3) 256x256 JPEGs)

  7. DegLat Pixel DegLon Pixel = API (Cont.) Above 90o N • 1st Resolution Level • (whole world in one 256x256 JPEG) • Algorithm assumes 180 for both latitude and longitude so that: • Causes black bar at the top/bottom in levels 1 and 2. • After 2nd zoom level there is no data above 90oN or below 90oS Below 90o S t

  8. API (Cont.) Above 90o N • 2nd Resolution Level • (whole world takes four 256x256 JPEGs) tq tr tt ts Below 90o S

  9. API (Cont.) • 3rd Resolution Level • (Whole world takes eight 256x256 JPEGs) tqt tqt trt trt ttq ttr tsq tsr

  10. API (Cont.) • 4th Resolution Level • (Whole world takes 32 JPEGs) tqtq tqtr tqtt tqts

  11. API (Cont.) • Known API Differences • Map Projection (from server) • Google uses a modified Mercator projection, NeXtEarth uses LatLon (matches NGA data) • v= argument vs. options= • Google indicates plot options with v=[integer] • NeXtEarth uses options=[string] • Example: options=ALLIMAGERY+JOG+ONC

  12. API (Cont.) • Known API Differences (cont) • Background = option • NeXtEarth allows control over the “background” (low-resolution image), many users use BLUEMARBLE or NONE • Hybrid maps in Google • Imagery with streets overlaid option in Google

  13. Development • Client-server approach was a natural progression from existing NeXtMidas functionality • Used existing rendering in PLOT • Made data available over HTTP • Based client on existing NeXtMidas client for GoogleMaps • Basic functionality and first site installation required only two weeks of work • Approximately 1000 lines of new code

  14. NGA Data InMemory Image Plot Draw Render JPEG Plot Network NGA Data JPEG JPEG Plot Network Development (Cont.) Stand-Alone NeXtMidas (Geoplot): Connecting to GoogleMaps: Draw Google NeXtEarth: Render Draw

  15. Server Installation • Requires Java • Optionally C compiler (MrSID) • Server installation steps: • Install NeXtMidas • Install MAP option tree • Run MAPPER to create MTOC • Starting the server: • Run MAPSERVER primitive • See explain file for list of options

  16. Future Considerations • Add support for Google Keyhole Markup Language (KML) files • XML files defining map overlays and features • Serve up XML files defining available data • Indicates available chart types and coverage mesh • Ability to get data from a remote database

More Related