DEVELOPMENT AND IMPLEMENTATION OF A NEW WEB … SSII109.pdf · 2012-10-26 · GEOIDE SSII#109 and...
Transcript of DEVELOPMENT AND IMPLEMENTATION OF A NEW WEB … SSII109.pdf · 2012-10-26 · GEOIDE SSII#109 and...
-
DEVELOPMENT AND IMPLEMENTATION OF
A NEW WEB MAPPING SYSTEM
ARCHITECTURE
FOR ARCTIC REGION
Presenter: Fanny Tsai [email protected]
Supervisor: Dr. Steve Liang [email protected]
Date: Oct. 26, 2012
GeoSensor Web Lab
Department of Geomatics Engineering
Schulich School of Engineering
University of Calgary
GEOIDE SSII#109
1
-
2
Outline
• Introduction of our web mapping system
System requirements
System architecture
Implementation
Use cases
Demonstration
• Future works
Implementation of YorkU’s projection
Refine basic functions
Intelligent map projection selection system
-
3
System Requirements
• Objective: A polar-region-focused
web mapping system to store and
present pre-rendered geographic
information.
✓ Can be accessed by most web
browsers.
✓ Be able to switch between
different projections easily.
✓ Be able to rotate the map.
✓ Short response time
-
4
System Architecture
Client Server Data
Tile Maker
-
Implementation
• Client –
Web page: JavaScript
Web mapping framework: Bing Maps API
HTML styling: Twitter Bootstrap
• Server –
Web server: Java Servlet / Apache Tomcat
5
-
Implementation – cont’d
• Custom maps: polar-centered
projections
- Lambert azimuthal equal area
- Azimuthal equidistant
- Orthographic
- Stereographic
- Gnomonic
6
Map
Mercator projection
Re-project to polar projections
(ArcGIS)
For each projection, rotate 30
degrees each time to generate 12
maps with different rotation
(Matlab)
Cut each projection/rotation map
into tiles by following
Bing Maps tile structure
(Matlab)
Map Tiles
-
7
Mercator
(a) Azimuthal Equidistant (b) Lambert Azimuthal Equal Area
Polar Projection
ArcGIS
-
8
Bing Maps Tile System
• Map is composed by tiles of
256*256 pixels each.
• To optimize the indexing and
storage of tiles, the two-
dimensional tile XY
coordinates are combined into
one-dimensional strings called
quadtree keys, or
“quadkeys” for short.
• Each index contains 2
information:
✓particular level of detail
✓parent index
http://msdn.microsoft.com/en-us/library/bb259689.aspx
http://msdn.microsoft.com/en-us/library/bb259689.aspxhttp://msdn.microsoft.com/en-us/library/bb259689.aspxhttp://msdn.microsoft.com/en-us/library/bb259689.aspx
-
Custom Tile Hierarchical
Directory Structure
9
Projection
-
Request / Response
10
Client creates request for server request request
tiles tiles
StartGet view center
of the viewport
Get BBOX
of the viewportGet required tiles
Quadkey
Projection
Rotation
-
Use Cases
• Browsing
Switch to different projection
Rotate map
Challenge: re-calculate view center
• Upload shapefile and display
11
-
12
Coordinate System
Every calculation was done based on
image coordinate system (pixel)
-
13
Use Case - Switching Between
Different Projections
-
14
(Lat, Long)
Projection1 Projection2
(Easting1, Northing1)
Projection3
(Easting2, Northing2)
(Easting3, Northing3)
-
15
Solution
-
Why Is Rotation Important?
16
Where’s north?
-
17
-
Rotation
18
Rotate 30 degrees
-
19
Use Case - Rotation
-
20
Solution• Calculation based on image
coordinate (pixel)
‣ Get North Pole’s pixel coordinate in current view
(the origin of coordinate is
current view center)
‣ Set North Pole as the origin
of pixel coordinate system
‣ Calculate new view center
• x' = x cos(rotation) - y sin(rotation)
• y' = x sin(rotation) + y cos(rotation)
-
21
USER
Client
Parse shapefile
Server
Data String (JSON)
Shapefile
Create JSON string
Create shapefile object
(Layer)
Display
Reproject
Rotate
Shapefile
-
Necessary Files For Our
System
Main file: XXX.shp
Index file: XXX.shx
dBASE table: XXX.dbf
Projection file: XXX.prj
The uploaded file format
zip file
WGS84 projection
Shapefile has to be packed as
a ZIP file and
without folders.
http://converter.mygeodata.eu/vector
22
http://converter.mygeodata.eu/vector
-
23
DEMONSTRATIONURL: http://tsai.geocens.ca:8080/TileServer/
http://tsai.geocens.ca:9182/TileServer/
-
24
Summary
• We proposed an architecture which serves a good
platform for public/organizations that need to
share/display their polar region data.
-
25
Future Works
• Implementation of YorkU’s projections (in progress)
• Refine basic functions
Layer manager
Handle attribute data of uploaded shapefile
Adopt input data with other projections
• Intelligent map projection selection system
-
Intelligent Map Projection
Selection System
• Problem statement:
There are many map projections but it is difficult
for amateur to choose the most suitable one
regarding scale, geometry, application, etc..
• Objective
To provide a knowledge-based recommendation
system for map projection selection.
26
-
27
Questions and Discussions
This research is sponsored by
GEOIDE SSII#109 and TecTerra