SlideShare une entreprise Scribd logo
1  sur  80
1
WHAT’S
BEHIND OF
WEB MAPS?
Daniel Puiu
Teamnet International 10th of November 2012
http://earthelite.co.uk/images/themes/base/earth.png
WHAT WE DO AT WORK
2
WHAT THEY DO AT WORK
3
AGENDA
4
•Database
•SQL Server
•Geography
•JavaScript
•SQL
•Web Services
•HTML5
•SOAP
•REST
•Data
•Geodatabase
•Spatial Type
•Geometry
•Simbology
•Map document
•GIS Server
•Flex
•Silverlight
•Map
•Layer
•JSON
•Caching
•Geoprocessing
•Table
•ESRI
•Entity Framework
•Create map
•Dynamic Maps
•Graphics
•Time
aware
•Tools
•Basemap
•Legend
Store Data
World
Demo
Web Map Apps
Web Map APIs
GIS Services
80 slides
20 minutes
1 slide/15 seconds!
5
•Database
•SQL Server
•Geography
•JavaScript
•SQL
•Web Services
•HTML5
•SOAP
•REST
•Data
•Geodatabase
•Spatial Type
•Geometry
•Simbology
•Map document
•GIS Server
•Flex
•Silverlight
•Map
•Layer
•JSON
•Caching
•Geoprocessing
•Table
•ESRI
•Entity Framework
•Create map
•Dynamic Maps
•Graphics
•Time
aware
•Tools
•Basemap
•Legend
Store Data
World
Demo
Web Map Apps
Web Map APIs
Map Services
HOW TO STORE A DAM?
6
http://www.flickr.com/photos/85272145@N00/3288359866
STORING A DAM USING A TABLE
7
Id Name Material Height
78 Suhaia Stone 5
79 Vlasin Stone 7
80 Vieru 2 Earth 5
81 Vieru 3 Earth 7
82 Magura Earth 2
83 Putineiu Other 4
84 Rojistea Wood 8
85 Cascioarele Wood 4
86 Luncavita Unknown 4
87 Catuna Stone 10
88 Malina Stone 8
HOW TO STORE DAM‘S LOCATION?
8
Id Name Material Height Location
78 Suhaia Stone 5 ?
79 Vlasin Stone 7 ?
80 Vieru 2 Earth 5 ?
81 Vieru 3 Earth 7 ?
82 Magura Earth 2 ?
83 Putineiu Other 4 ?
84 Rojistea Wood 8 ?
85 Cascioarele Wood 4 ?
86 Luncavita Unknown 4 ?
87 Catuna Stone 10 ?
88 Malina Stone 8 ?
USING DESCRIPTIVE WORDS ...
9
Id Name Material Height Location
78 Suhaia Stone 5 In Valea Adanca
79 Vlasin Stone 7 Near Schitu locality
80 Vieru 2 Earth 5 500 meters from Mitoc
81 Vieru 3 Earth 7 On the river Parapanca
82 Magura Earth 2 3 km upstream
83 Putineiu Other 4 ...
84 Rojistea Wood 8 ...
85 Cascioarele Wood 4 ...
86 Luncavita Unknown 4 ...
87 Catuna Stone 10 ...
88 Malina Stone 8 ...
ASSUMING A DAM IS JUST A POINT
10
X, Y
A dam
A point
USING COORDINATES
11
Id Name Material Height X Y
78 Suhaia Stone 5 516370 246708
79 Vlasin Stone 7 569414 289438
80 Vieru 2 Earth 5 561804 260952
81 Vieru 3 Earth 7 562885 261682
82 Magura Earth 2 606078 293024
83 Putineiu Other 4 562633 265486
84 Rojistea Wood 8 532814 248998
85 Cascioarele Wood 4 618303 294620
86 Luncavita Unknown 4 757719 424369
87 Catuna Stone 10 734465 438727
88 Malina Stone 8 730292 441636
WHAT ABOUT A RIVER?
12
http://www.flickr.com/photos/visitgreecegr/5427799882/
A RIVER HAS A COLLECTION OF POINTS
13
X1, Y1
X2, Y2
X3, Y3
Xn, Yn
X4, Y4
A river
A collection of points
UNLIKELY TO STORE IT LIKE THIS
14
Id Name Affluent Rank X1 Y1 X2 Y2 XN YN
177 Budac Sieu 3 469490 615859 469451 615925 … 469442 615935
178 Bolovan Budac 4 541236 249243 541241 249234 … 543921 238388
179 Budusel Budac 4 … … … … … ... …
180 Petris Budusel 5 … … … … … … …
181 Ses Budac 4 … … … … … … …
182 Budus Budac 4 … … … … … … …
183 Bistrita Sieu 3 … … … … … … …
USING ONE-TO-MANY RELATIONSHIPS
15
Id Name Affluent Rank
177 Budac Sieu 3
178 Bolovan Budac 4
179 Budusel Budac 4
180 Petris Budusel 5
181 Ses Budac 4
182 Budus Budac 4
183 Bistrita Sieu 3
Id RiverId X Y
45 181 469490 615859
46 181 469451 615925
48 181 469442 615935
… … … …
762 181 459806 615809
763 181 459770 615779Rivers table
RiverPoints table
WHAT DO YOU SAY ABOUT GREECE?
16
WE HAVE SOME ISSUES WITH GREECE
17
•X30, Y30
•X40, Y40
•X40, Y40
•X50, Y50
•X30, Y30
•X50, Y60
•X1, Y1
•X20, Y20
•X10, Y10
•X1, Y1
•X20, Y20
•X1, Y1
A collection of collection of points
Greece Islands
THE SOLUTION
18
Spatial Type is a type that stores information
about physical location and the shape of
geometric objects.
STORING A POLYLINE USING SPATIAL TYPE
19
Id Name Affluent Ranking Shape
177 Budac Sieu 3 …
178 Bolovan Budac 4 …
179 Budusel Budac 4 …
180 Petris Budusel 5
0x00000000010497000000401CEBA237E811414072F9CFE
49D16414039B44847E8114180E61D67F39C164140DD244
63AE8114100AC1C9A229B16418010583959E81141C0AAC
FD5BC99164100849E0DC2E81141C054
LINESTRING (497847 247498, 498003 247570, 498158 247627,
498362 247664, 498670 247693, 499097 247690, 499426 247637,
499796 247594, 500159 247452, 500338 247367 , … , 501521
245798)
ToString()
GEOMETRY VS. GEOGRAPHY
20
Geometry Geography
Euclidian (flat-earth) Ellipsoidal (round-earth)
Stereo 70 WGS84
X: 488621
Y: 386736
Longitude: 24° 51' 20.55''
Latitude: 44° 58' 50.16''
SQL
21
-- Create table
CREATE TABLE Lakes(
Id int IDENTITY (1,1),
Name nvarchar(50),
Location geometry)
-- Insert lake
INSERT INTO Lakes(Name, Location) VALUES(
'Morun',
geometry::STGeomFromText(
'POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0))
-- Update lake geometry
UPDATE Lakes
SET Location = geometry::STGeomFromText(
'POLYGON ((0 0, 150 0, 150 150, 75 200, 0 150, 0 0))', 0)
WHERE Name = 'Morun'
SHOW THE RESULTS
22
-- Get the lake
SELECT Id, Name, Location FROM LAKES WHERE Name = ‘Morun’
Results
Spatial results
SQL SERVER MANAGEMENT STUDIO
23
SELECT SHAPE FROM COUNTIES
1. The table
2. The query
3. The results
GEOMETRY METHODS
24
-- Get hotel’s location
DECLARE @hotelLocation geometry
SET @hotelLocation = (SELECT hotel.Address
FROM Hotels as hotel
WHERE hotel.Id = 2)
-- Get all lakes within 20 km
SELECT Name,Location
FROM Lakes
WHERE (Location.STDistance(@hotelLocation) <= 20000
Calculate distance
between a lake and a hotel
ENTITY FRAMEWORK 5.0
25
// Get hotel's location
var hotel = db.Hotels.Single(hotel => hotel.Id == 2);
// Get all lakes within 20 km range
var lakes = from lake in db.Lakes
where lake.Location.Distance(hotel.Location) <= 20000
select lake
public class Hotel
{
public Int32 Id;
public String Name;
public Int32 NumberOfRooms;
public DBGeometry Location;
}
public class Lake
{
public Int32 Id;
public String Name;
public DBGeometry Location;
}
Query using LINQ
Hotel class Lake class
HOW TO STORE A CAR ACCIDENT POSITION?
26
http://www.flickr.com/photos/mac_filko/3925880444/
LINEAR REFERENCING
27
Km 46
Id RoadId Description M
45 234 Big accident 40.5
46 462 … 234
48 563 … 100
… … … …
Accidents table
Road E 85
HOW TO STORE ROAD SPEED LIMITS?
28
http://flickrhivemind.net/
DYNAMIC SEGMENTATION
29
Quality
Material
Speed
Lanes
Km 0 Km 21 Km 44
Km 17 Km 30
2 lines 4 lines
Good Fair Poor Good
Asphalt Concrete Asphalt
50 km/h 60 km/h 70 km/h 50 km/h
Km 0 Km 10 Km 20 Km 30 Km 40 Km 50
MORE OPEN QUESTIONS
30
• Q: What was the quality of Iasi-Botosani road from 2000
until now?
• A: Archiving
• Q: How can we ensure that there are no gaps between
Iasi and Vaslui counties?
• A: Spatial Data Integrity
• Q: How do we reach to National Arena from Iasi?
• A: Network Analyst
FOR ALL THE REST THERE‘S GEODATABASE
31
A geodatabase is a database with extensions for storing,
querying, and manipulating geographic information.
System Tables User Defined
Tables
32
•Database
•SQL Server
•Geography
•JavaScript
•SQL
•Web Services
•HTML5
•SOAP
•REST
•Data
•Geodatabase
•Spatial Type
•Geometry
•Simbology
•Map document
•GIS Server
•Flex
•Silverlight
•Map
•Layer
•JSON
•Caching
•Geoprocessing
•Table
•ESRI
•Entity Framework
•Create map
•Dynamic Maps
•Graphics
•Time
aware
•Tools
•Basemap
•Legend
Store Data
World
Demo
Web Map Apps
Web Map APIs
Map Services
WHAT IS A LAYER?
33
A layer is a collection of
spatial elements that
share the same attributes,
the same geometry type.
Id Name Attribute Shape
… … … …
… … … …
… … … …
… … … …
WHAT IS A LAYER?
34
A layer is a collection of spatial
elements that share the same
attributes, the same geometry
type and share symbols,
etiquettes and scales.
SIMPLE SIMBOLOGY
GRAPHIC SYMBOLS
QUANTITATIVE SIMBOLOGY
CATEGORY SYMBOLS
TEXT SYMBOLS
MAP DOCUMENT
Map Document
Data Source
Layers
Scales
Fields
Simbology
ARCGIS SERVER ARCHITECTURE
SOC
SOC
SOM
s
d
F
GIS Server Web ServerData
Map
Document
GIS SERVICES
Mapping Services
Serves cached and
dynamic maps.
Feature Services
Serves features and
simbology.
Network Analyst
Performs analysis
such as routing,
closest facility etc.
Geometry Services
Provides geometric
calculation such as
distance, buffer etc.
Geoprocessing Services
Provides spatial
analysis and data
processing services.
Geocode Services
Finds address
locations.
43
•Database
•SQL Server
•Geography
•JavaScript
•SQL
•Web Services
•HTML5
•SOAP
•REST
•Data
•Geodatabase
•Spatial Type
•Geometry
•Simbology
•Map document
•GIS Server
•Flex
•Silverlight
•Map
•Layer
•JSON
•Caching
•Geoprocessing
•Table
•ESRI
•Entity Framework
•Create map
•Dynamic Maps
•Graphics
•Time
aware
•Tools
•Basemap
•Legend
Store Data
World
Demo
Web Map Apps
Web Map APIs
Map Services
HOW DO I GET DATA INTO MY APP?
REST
REpresentational State Transfer
SOAP
Simple Object Acces Protocol
OGC
Open Geospatial Consortium
GIS SERVICES
Service Resource URL
Map Services http://tni-iasi-atlas/ArcGIS/rest/services/Basemap/MapServer
Layer Services http://tni-iasi-atlas/ArcGIS/rest/services/Basemap/MapServer/34
Geometry
Services
http://tni-iasi-atlas/ArcGIS/rest/services/Geometry/GeometryServer
Geoprocessing
Services
http://tni-iasi-atlas/ArcGIS/rest/services/GiurgiuShortRoute/GPServer
Network
Analist
Services
http://tni-iasi-atlas/ArcGIS/rest/services/GiurgiuShortRoute/NAServer
GIS SERVICES
Service Operation Operation URL
Map Services Export
Map
http://.../rest/services/Basemap/MapServer/export
Layer Services Query http://.../rest/services/Basemap/MapServer/35/query
Geometry
Services
Distance http://.../services/Geometry/GeometryServer/distance
Geoprocessing
Services
Submit
Job
http://.../services/GPServer/GiurgiuShortRoute/submitJob
Network
Analist
Services
Solve
Route
http://.../services/GiurgiuShortRoute/NAServer/Route/solve
REST SAMPLE
Bbox
46410,220928,1060872,761802
bboxSR
PROJCS[”Stereo_70”]
dpi
96
f
image
format
png8
size
1908,932
Transparent
true
Input Parameters Output
http://tni-iasi-atlas/arcgis/rest/services/Species/MapServer/export
WHAT DOES A WEB MAPPING API OFFER?
HOW DO I GET DATA INTO MY BROWSER?
ArcGIS Mapping for SharePoint
ArcGIS API for Silverlight
ArcGIS API for Flex
ArcGIS API for JavaScript
WHY JAVASCRIPT API?
map.addLayer(baseLayer)
vs.
http://sampleserver1.arcgisonline.com/ArcGIS/
rest/services/Specialty/ESRI_StateCityHighway
_USA/MapServer/export?bbox=-127.8,15.4,-
63.5,60.5&f=pjson
ARCGIS JAVASCRIPT API
Query
Extents
Tasks
Graphics
Layers
Symbols
Features
Map
Editing
Geoprocessing
Geometries
HELLO WORLD ... THE CODE
//JavaScript ...
var map = new esri.Map("map");
//Add the topographic layer to the map
var baseLayer = new
esri.layers.ArcGISTiledMapServiceLayer("http://...");
map.addLayer(baseLayer);
<-- HTML ... >
<div id="map" style="…">
<div style="…">Hello<div>
</div>
HELLO WORLD ... THE RESULT
54
•Database
•SQL Server
•Geography
•JavaScript
•SQL
•Web Services
•HTML5
•SOAP
•REST
•Data
•Geodatabase
•Spatial Type
•Geometry
•Simbology
•Map document
•GIS Server
•Flex
•Silverlight
•Map
•Layer
•JSON
•Caching
•Geoprocessing
•Table
•ESRI
•Entity Framework
•Create map
•Dynamic Maps
•Graphics
•Time
aware
•Tools
•Basemap
•Legend
Store Data
World
Demo
Web Map Apps
Web Map APIs
Map Services
WHAT IS A WEB MAP APPLICATION?
55
2 Integrated into a web application
3 That users interact with
4 To accomplish meaningful tasks
1 One or more map services
WHAT A WEB MAP APPLICATION IS NOT?
56
WHAT MAKES WEB MAP APP TO BE GREAT?
57
2
Fast
3
Up to date
4
Great cartography and multi scale
1
Easy to use and understand
5
Informative and useful
TWO TYPES OF DATA ORGANIZATION
58
Geographic frame of reference
Static data
Reusable in multiple applications
Show a focused item of interest
Editable data
Displayed on top of a basemap
Basemaps Operational Layers
MAP TYPES
59
Cached
tiles
Client
graphics
Dynamic
maps
TILE CACHING
60
GIS Server
Browser
Web Server
File
System
WHAT YOU SEE
61
IS NOT WHAT YOU GET
62
IS NOT WHAT YOU GET
63
WHAT TO CACHE?
64
Don’t change often
Basemaps
High traffic volume
National
Geographic
Map
Lakes Map
Sandy
Hurricane
CACHING PRO‘S AND CON‘S
65
Performance
Quality
Large storage
Generation time
Out of date
2
3
4
1
5
DYNAMIC MAPPING
66
Data
Map
Document
GIS Server
Browser
Web Server
WHAT FOR TO USE?
67
Frequently changing data
Real-time data
Complex geometries
Road Traffic
Map
Forecast Map
Heat Map
DYNAMIC MAPS PRO‘S AND CON‘S
68
Reflects the actual data
No need to maintain caches
Slower than caching
Need for server resources
Trade quality for performance
2
3
4
1
5
CLIENT SIDE GRAPHICS
69
Data
Map
Document
GIS Server
Browser
Web Server
JSON
ArcObjects
API
WHAT TO USE FOR?
70
Interactive maps
Web editing
Query data
Parcel Query
Popup Info
Parcel Editor
GRAPHICS PRO‘S AND CON‘S
71
2
3
4
1
5
Nice user experience
Off-load the work from the server
The “pressure” is on the client
Limited number of features
Lower quality
72
•Database
•SQL Server
•Geography
•JavaScript
•SQL
•Web Services
•HTML5
•SOAP
•REST
•Data
•Geodatabase
•Spatial Type
•Geometry
•Simbology
•Map document
•GIS Server
•Flex
•Silverlight
•Map
•Layer
•JSON
•Caching
•Geoprocessing
•Table
•ESRI
•Entity Framework
•Create map
•Dynamic Maps
•Graphics
•Time
aware
•Tools
•Basemap
•Legend
Store Data
World
Demo
Web Map Apps
Web Map APIs
Map Services
WATER INTEGRATED MANAGEMENT SYSTEM
73
DANUBE DELTA MANAGEMENT
74
ROADS MANAGEMENT
75
WHAT IS COMMON?
76
Map
WHAT IS COMMON?
77
Map Legend
Grid Table of content
WHAT IS COMMON?
78
Map
Legend
Grid Table of content
Basemap gallery Search
Measure tool
Print tool
Spatial filter
79
80
Thank you!
Daniel Puiu
Teamnet International 10th of November 2012
Please fill the evaluation form

Contenu connexe

Dernier

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Dernier (20)

%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

En vedette

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

What's behind of web maps?

  • 1. 1 WHAT’S BEHIND OF WEB MAPS? Daniel Puiu Teamnet International 10th of November 2012 http://earthelite.co.uk/images/themes/base/earth.png
  • 2. WHAT WE DO AT WORK 2
  • 3. WHAT THEY DO AT WORK 3
  • 4. AGENDA 4 •Database •SQL Server •Geography •JavaScript •SQL •Web Services •HTML5 •SOAP •REST •Data •Geodatabase •Spatial Type •Geometry •Simbology •Map document •GIS Server •Flex •Silverlight •Map •Layer •JSON •Caching •Geoprocessing •Table •ESRI •Entity Framework •Create map •Dynamic Maps •Graphics •Time aware •Tools •Basemap •Legend Store Data World Demo Web Map Apps Web Map APIs GIS Services 80 slides 20 minutes 1 slide/15 seconds!
  • 5. 5 •Database •SQL Server •Geography •JavaScript •SQL •Web Services •HTML5 •SOAP •REST •Data •Geodatabase •Spatial Type •Geometry •Simbology •Map document •GIS Server •Flex •Silverlight •Map •Layer •JSON •Caching •Geoprocessing •Table •ESRI •Entity Framework •Create map •Dynamic Maps •Graphics •Time aware •Tools •Basemap •Legend Store Data World Demo Web Map Apps Web Map APIs Map Services
  • 6. HOW TO STORE A DAM? 6 http://www.flickr.com/photos/85272145@N00/3288359866
  • 7. STORING A DAM USING A TABLE 7 Id Name Material Height 78 Suhaia Stone 5 79 Vlasin Stone 7 80 Vieru 2 Earth 5 81 Vieru 3 Earth 7 82 Magura Earth 2 83 Putineiu Other 4 84 Rojistea Wood 8 85 Cascioarele Wood 4 86 Luncavita Unknown 4 87 Catuna Stone 10 88 Malina Stone 8
  • 8. HOW TO STORE DAM‘S LOCATION? 8 Id Name Material Height Location 78 Suhaia Stone 5 ? 79 Vlasin Stone 7 ? 80 Vieru 2 Earth 5 ? 81 Vieru 3 Earth 7 ? 82 Magura Earth 2 ? 83 Putineiu Other 4 ? 84 Rojistea Wood 8 ? 85 Cascioarele Wood 4 ? 86 Luncavita Unknown 4 ? 87 Catuna Stone 10 ? 88 Malina Stone 8 ?
  • 9. USING DESCRIPTIVE WORDS ... 9 Id Name Material Height Location 78 Suhaia Stone 5 In Valea Adanca 79 Vlasin Stone 7 Near Schitu locality 80 Vieru 2 Earth 5 500 meters from Mitoc 81 Vieru 3 Earth 7 On the river Parapanca 82 Magura Earth 2 3 km upstream 83 Putineiu Other 4 ... 84 Rojistea Wood 8 ... 85 Cascioarele Wood 4 ... 86 Luncavita Unknown 4 ... 87 Catuna Stone 10 ... 88 Malina Stone 8 ...
  • 10. ASSUMING A DAM IS JUST A POINT 10 X, Y A dam A point
  • 11. USING COORDINATES 11 Id Name Material Height X Y 78 Suhaia Stone 5 516370 246708 79 Vlasin Stone 7 569414 289438 80 Vieru 2 Earth 5 561804 260952 81 Vieru 3 Earth 7 562885 261682 82 Magura Earth 2 606078 293024 83 Putineiu Other 4 562633 265486 84 Rojistea Wood 8 532814 248998 85 Cascioarele Wood 4 618303 294620 86 Luncavita Unknown 4 757719 424369 87 Catuna Stone 10 734465 438727 88 Malina Stone 8 730292 441636
  • 12. WHAT ABOUT A RIVER? 12 http://www.flickr.com/photos/visitgreecegr/5427799882/
  • 13. A RIVER HAS A COLLECTION OF POINTS 13 X1, Y1 X2, Y2 X3, Y3 Xn, Yn X4, Y4 A river A collection of points
  • 14. UNLIKELY TO STORE IT LIKE THIS 14 Id Name Affluent Rank X1 Y1 X2 Y2 XN YN 177 Budac Sieu 3 469490 615859 469451 615925 … 469442 615935 178 Bolovan Budac 4 541236 249243 541241 249234 … 543921 238388 179 Budusel Budac 4 … … … … … ... … 180 Petris Budusel 5 … … … … … … … 181 Ses Budac 4 … … … … … … … 182 Budus Budac 4 … … … … … … … 183 Bistrita Sieu 3 … … … … … … …
  • 15. USING ONE-TO-MANY RELATIONSHIPS 15 Id Name Affluent Rank 177 Budac Sieu 3 178 Bolovan Budac 4 179 Budusel Budac 4 180 Petris Budusel 5 181 Ses Budac 4 182 Budus Budac 4 183 Bistrita Sieu 3 Id RiverId X Y 45 181 469490 615859 46 181 469451 615925 48 181 469442 615935 … … … … 762 181 459806 615809 763 181 459770 615779Rivers table RiverPoints table
  • 16. WHAT DO YOU SAY ABOUT GREECE? 16
  • 17. WE HAVE SOME ISSUES WITH GREECE 17 •X30, Y30 •X40, Y40 •X40, Y40 •X50, Y50 •X30, Y30 •X50, Y60 •X1, Y1 •X20, Y20 •X10, Y10 •X1, Y1 •X20, Y20 •X1, Y1 A collection of collection of points Greece Islands
  • 18. THE SOLUTION 18 Spatial Type is a type that stores information about physical location and the shape of geometric objects.
  • 19. STORING A POLYLINE USING SPATIAL TYPE 19 Id Name Affluent Ranking Shape 177 Budac Sieu 3 … 178 Bolovan Budac 4 … 179 Budusel Budac 4 … 180 Petris Budusel 5 0x00000000010497000000401CEBA237E811414072F9CFE 49D16414039B44847E8114180E61D67F39C164140DD244 63AE8114100AC1C9A229B16418010583959E81141C0AAC FD5BC99164100849E0DC2E81141C054 LINESTRING (497847 247498, 498003 247570, 498158 247627, 498362 247664, 498670 247693, 499097 247690, 499426 247637, 499796 247594, 500159 247452, 500338 247367 , … , 501521 245798) ToString()
  • 20. GEOMETRY VS. GEOGRAPHY 20 Geometry Geography Euclidian (flat-earth) Ellipsoidal (round-earth) Stereo 70 WGS84 X: 488621 Y: 386736 Longitude: 24° 51' 20.55'' Latitude: 44° 58' 50.16''
  • 21. SQL 21 -- Create table CREATE TABLE Lakes( Id int IDENTITY (1,1), Name nvarchar(50), Location geometry) -- Insert lake INSERT INTO Lakes(Name, Location) VALUES( 'Morun', geometry::STGeomFromText( 'POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0)) -- Update lake geometry UPDATE Lakes SET Location = geometry::STGeomFromText( 'POLYGON ((0 0, 150 0, 150 150, 75 200, 0 150, 0 0))', 0) WHERE Name = 'Morun'
  • 22. SHOW THE RESULTS 22 -- Get the lake SELECT Id, Name, Location FROM LAKES WHERE Name = ‘Morun’ Results Spatial results
  • 23. SQL SERVER MANAGEMENT STUDIO 23 SELECT SHAPE FROM COUNTIES 1. The table 2. The query 3. The results
  • 24. GEOMETRY METHODS 24 -- Get hotel’s location DECLARE @hotelLocation geometry SET @hotelLocation = (SELECT hotel.Address FROM Hotels as hotel WHERE hotel.Id = 2) -- Get all lakes within 20 km SELECT Name,Location FROM Lakes WHERE (Location.STDistance(@hotelLocation) <= 20000 Calculate distance between a lake and a hotel
  • 25. ENTITY FRAMEWORK 5.0 25 // Get hotel's location var hotel = db.Hotels.Single(hotel => hotel.Id == 2); // Get all lakes within 20 km range var lakes = from lake in db.Lakes where lake.Location.Distance(hotel.Location) <= 20000 select lake public class Hotel { public Int32 Id; public String Name; public Int32 NumberOfRooms; public DBGeometry Location; } public class Lake { public Int32 Id; public String Name; public DBGeometry Location; } Query using LINQ Hotel class Lake class
  • 26. HOW TO STORE A CAR ACCIDENT POSITION? 26 http://www.flickr.com/photos/mac_filko/3925880444/
  • 27. LINEAR REFERENCING 27 Km 46 Id RoadId Description M 45 234 Big accident 40.5 46 462 … 234 48 563 … 100 … … … … Accidents table Road E 85
  • 28. HOW TO STORE ROAD SPEED LIMITS? 28 http://flickrhivemind.net/
  • 29. DYNAMIC SEGMENTATION 29 Quality Material Speed Lanes Km 0 Km 21 Km 44 Km 17 Km 30 2 lines 4 lines Good Fair Poor Good Asphalt Concrete Asphalt 50 km/h 60 km/h 70 km/h 50 km/h Km 0 Km 10 Km 20 Km 30 Km 40 Km 50
  • 30. MORE OPEN QUESTIONS 30 • Q: What was the quality of Iasi-Botosani road from 2000 until now? • A: Archiving • Q: How can we ensure that there are no gaps between Iasi and Vaslui counties? • A: Spatial Data Integrity • Q: How do we reach to National Arena from Iasi? • A: Network Analyst
  • 31. FOR ALL THE REST THERE‘S GEODATABASE 31 A geodatabase is a database with extensions for storing, querying, and manipulating geographic information. System Tables User Defined Tables
  • 32. 32 •Database •SQL Server •Geography •JavaScript •SQL •Web Services •HTML5 •SOAP •REST •Data •Geodatabase •Spatial Type •Geometry •Simbology •Map document •GIS Server •Flex •Silverlight •Map •Layer •JSON •Caching •Geoprocessing •Table •ESRI •Entity Framework •Create map •Dynamic Maps •Graphics •Time aware •Tools •Basemap •Legend Store Data World Demo Web Map Apps Web Map APIs Map Services
  • 33. WHAT IS A LAYER? 33 A layer is a collection of spatial elements that share the same attributes, the same geometry type. Id Name Attribute Shape … … … … … … … … … … … … … … … …
  • 34. WHAT IS A LAYER? 34 A layer is a collection of spatial elements that share the same attributes, the same geometry type and share symbols, etiquettes and scales.
  • 40. MAP DOCUMENT Map Document Data Source Layers Scales Fields Simbology
  • 41. ARCGIS SERVER ARCHITECTURE SOC SOC SOM s d F GIS Server Web ServerData Map Document
  • 42. GIS SERVICES Mapping Services Serves cached and dynamic maps. Feature Services Serves features and simbology. Network Analyst Performs analysis such as routing, closest facility etc. Geometry Services Provides geometric calculation such as distance, buffer etc. Geoprocessing Services Provides spatial analysis and data processing services. Geocode Services Finds address locations.
  • 43. 43 •Database •SQL Server •Geography •JavaScript •SQL •Web Services •HTML5 •SOAP •REST •Data •Geodatabase •Spatial Type •Geometry •Simbology •Map document •GIS Server •Flex •Silverlight •Map •Layer •JSON •Caching •Geoprocessing •Table •ESRI •Entity Framework •Create map •Dynamic Maps •Graphics •Time aware •Tools •Basemap •Legend Store Data World Demo Web Map Apps Web Map APIs Map Services
  • 44. HOW DO I GET DATA INTO MY APP? REST REpresentational State Transfer SOAP Simple Object Acces Protocol OGC Open Geospatial Consortium
  • 45. GIS SERVICES Service Resource URL Map Services http://tni-iasi-atlas/ArcGIS/rest/services/Basemap/MapServer Layer Services http://tni-iasi-atlas/ArcGIS/rest/services/Basemap/MapServer/34 Geometry Services http://tni-iasi-atlas/ArcGIS/rest/services/Geometry/GeometryServer Geoprocessing Services http://tni-iasi-atlas/ArcGIS/rest/services/GiurgiuShortRoute/GPServer Network Analist Services http://tni-iasi-atlas/ArcGIS/rest/services/GiurgiuShortRoute/NAServer
  • 46. GIS SERVICES Service Operation Operation URL Map Services Export Map http://.../rest/services/Basemap/MapServer/export Layer Services Query http://.../rest/services/Basemap/MapServer/35/query Geometry Services Distance http://.../services/Geometry/GeometryServer/distance Geoprocessing Services Submit Job http://.../services/GPServer/GiurgiuShortRoute/submitJob Network Analist Services Solve Route http://.../services/GiurgiuShortRoute/NAServer/Route/solve
  • 48. WHAT DOES A WEB MAPPING API OFFER?
  • 49. HOW DO I GET DATA INTO MY BROWSER? ArcGIS Mapping for SharePoint ArcGIS API for Silverlight ArcGIS API for Flex ArcGIS API for JavaScript
  • 52. HELLO WORLD ... THE CODE //JavaScript ... var map = new esri.Map("map"); //Add the topographic layer to the map var baseLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://..."); map.addLayer(baseLayer); <-- HTML ... > <div id="map" style="…"> <div style="…">Hello<div> </div>
  • 53. HELLO WORLD ... THE RESULT
  • 54. 54 •Database •SQL Server •Geography •JavaScript •SQL •Web Services •HTML5 •SOAP •REST •Data •Geodatabase •Spatial Type •Geometry •Simbology •Map document •GIS Server •Flex •Silverlight •Map •Layer •JSON •Caching •Geoprocessing •Table •ESRI •Entity Framework •Create map •Dynamic Maps •Graphics •Time aware •Tools •Basemap •Legend Store Data World Demo Web Map Apps Web Map APIs Map Services
  • 55. WHAT IS A WEB MAP APPLICATION? 55 2 Integrated into a web application 3 That users interact with 4 To accomplish meaningful tasks 1 One or more map services
  • 56. WHAT A WEB MAP APPLICATION IS NOT? 56
  • 57. WHAT MAKES WEB MAP APP TO BE GREAT? 57 2 Fast 3 Up to date 4 Great cartography and multi scale 1 Easy to use and understand 5 Informative and useful
  • 58. TWO TYPES OF DATA ORGANIZATION 58 Geographic frame of reference Static data Reusable in multiple applications Show a focused item of interest Editable data Displayed on top of a basemap Basemaps Operational Layers
  • 62. IS NOT WHAT YOU GET 62
  • 63. IS NOT WHAT YOU GET 63
  • 64. WHAT TO CACHE? 64 Don’t change often Basemaps High traffic volume National Geographic Map Lakes Map Sandy Hurricane
  • 65. CACHING PRO‘S AND CON‘S 65 Performance Quality Large storage Generation time Out of date 2 3 4 1 5
  • 67. WHAT FOR TO USE? 67 Frequently changing data Real-time data Complex geometries Road Traffic Map Forecast Map Heat Map
  • 68. DYNAMIC MAPS PRO‘S AND CON‘S 68 Reflects the actual data No need to maintain caches Slower than caching Need for server resources Trade quality for performance 2 3 4 1 5
  • 69. CLIENT SIDE GRAPHICS 69 Data Map Document GIS Server Browser Web Server JSON ArcObjects API
  • 70. WHAT TO USE FOR? 70 Interactive maps Web editing Query data Parcel Query Popup Info Parcel Editor
  • 71. GRAPHICS PRO‘S AND CON‘S 71 2 3 4 1 5 Nice user experience Off-load the work from the server The “pressure” is on the client Limited number of features Lower quality
  • 72. 72 •Database •SQL Server •Geography •JavaScript •SQL •Web Services •HTML5 •SOAP •REST •Data •Geodatabase •Spatial Type •Geometry •Simbology •Map document •GIS Server •Flex •Silverlight •Map •Layer •JSON •Caching •Geoprocessing •Table •ESRI •Entity Framework •Create map •Dynamic Maps •Graphics •Time aware •Tools •Basemap •Legend Store Data World Demo Web Map Apps Web Map APIs Map Services
  • 77. WHAT IS COMMON? 77 Map Legend Grid Table of content
  • 78. WHAT IS COMMON? 78 Map Legend Grid Table of content Basemap gallery Search Measure tool Print tool Spatial filter
  • 79. 79
  • 80. 80 Thank you! Daniel Puiu Teamnet International 10th of November 2012 Please fill the evaluation form