This document provides an overview of web maps and geographic information systems (GIS). It discusses how spatial data like points, lines and polygons can be stored and organized in databases, layers and map documents. The document also describes common GIS tasks like geocoding, geometric calculations and network analysis that can be performed via GIS services on a web map server. Key concepts covered include spatial data types, map symbols, scales, feature and map services that deliver maps and layers to web and mobile applications.
This document discusses experience and decision making through three case studies. In Case I, decisions were made hastily under time constraints, resulting in fragile code. Case II involved choosing a database, where Cassandra proved better than the initial choice of MySQL. Case III showed benefits of thorough understanding and high test coverage leading to better outcomes. The conclusion advocates questioning assumptions, respecting experience stages, and using diverse teams to gain different perspectives for improved decision making at the "edge of experience."
This document discusses cloud powered search using Azure Search. It begins with an introduction to search engines and how they work using indexing and relevance scoring. Lucene is presented as an example open source search library. The document then covers how Azure Search works as a managed search service, including indexing data from sources like SQL databases, performing CRUD operations, querying, filtering, faceting and highlighting results. Scaling and storage capabilities of Azure Search are also discussed. Examples of using Azure Search for online retail/ecommerce and user generated content are provided.
This document discusses important leadership concepts for junior developers to understand early in their careers, including:
- Leadership is not defined by formal authority but by influence through trust, communication, and belonging.
- As a junior, constantly contributing to the team and product, communicating when extra support is needed, and understanding the bigger picture can help you develop leadership skills.
- Small actions can have ripple effects, so it's important to consider how your work may impact others.
Business analysis techniques exercise your 6-packCodecamp Romania
Cristian Leon presents six techniques that business analysts can use to better perform their role: (1) Planning, such as using a requirements management plan and RACI matrix; (2) Listening actively to stakeholders; (3) Mind mapping and brainstorming to map concepts; (4) Analyzing requirements using techniques like MoSCoW prioritization; (5) Creating artifacts like user stories with details like acceptance criteria; and (6) Keeping requirements visible and understood by stakeholders through ongoing communication. The presentation aims to help business analysts and those wanting to be analysts exercise their "6-pack" of analysis skills.
Bpm company code camp - configuration or coding with pegaCodecamp Romania
This document discusses configuration vs coding in Pega and provides an overview of the Pega platform. It introduces the presenters and describes what is needed to run Pega including an operating system, application server, and database. The Pega environment is modeled and executes flows using a business rules engine and rules are assembled into Java at runtime. Situational processes are built in frameworks and specialized in frameworks and implementations. Directly capturing objectives can model processes, close the gap between business and IT, and automatically transform objectives into executable Java to automate work.
Andrei prisacaru takingtheunitteststothedatabaseCodecamp Romania
This document outlines an agenda for a presentation with 5 chapters covering contact information, tools for database development and testing, usage of those tools, providing proof of their effectiveness, and closing with a question and answer session. Chapter 1 discusses issues with database development. Chapter 2 introduces tools to help solve problems. Chapter 3 demonstrates creating database and unit test projects, adding tests, and testing transactional behavior. Chapter 4 discusses proving the value of these tools. Chapter 5 allows for questions.
The document discusses agility in life and relationships on micro and middle levels. It argues that an agile approach to life involves experimentation, trust, giving freedom and space to others, focusing on solutions rather than blame, and prioritizing value to "customers" like family and friends through continuous effort. Key aspects of agility include diversity, shared goals, responsibility, courage to change, and appreciating different perspectives. Applying agile principles like experimentation, trust and encouragement can help people and teams grow.
This document discusses experience and decision making through three case studies. In Case I, decisions were made hastily under time constraints, resulting in fragile code. Case II involved choosing a database, where Cassandra proved better than the initial choice of MySQL. Case III showed benefits of thorough understanding and high test coverage leading to better outcomes. The conclusion advocates questioning assumptions, respecting experience stages, and using diverse teams to gain different perspectives for improved decision making at the "edge of experience."
This document discusses cloud powered search using Azure Search. It begins with an introduction to search engines and how they work using indexing and relevance scoring. Lucene is presented as an example open source search library. The document then covers how Azure Search works as a managed search service, including indexing data from sources like SQL databases, performing CRUD operations, querying, filtering, faceting and highlighting results. Scaling and storage capabilities of Azure Search are also discussed. Examples of using Azure Search for online retail/ecommerce and user generated content are provided.
This document discusses important leadership concepts for junior developers to understand early in their careers, including:
- Leadership is not defined by formal authority but by influence through trust, communication, and belonging.
- As a junior, constantly contributing to the team and product, communicating when extra support is needed, and understanding the bigger picture can help you develop leadership skills.
- Small actions can have ripple effects, so it's important to consider how your work may impact others.
Business analysis techniques exercise your 6-packCodecamp Romania
Cristian Leon presents six techniques that business analysts can use to better perform their role: (1) Planning, such as using a requirements management plan and RACI matrix; (2) Listening actively to stakeholders; (3) Mind mapping and brainstorming to map concepts; (4) Analyzing requirements using techniques like MoSCoW prioritization; (5) Creating artifacts like user stories with details like acceptance criteria; and (6) Keeping requirements visible and understood by stakeholders through ongoing communication. The presentation aims to help business analysts and those wanting to be analysts exercise their "6-pack" of analysis skills.
Bpm company code camp - configuration or coding with pegaCodecamp Romania
This document discusses configuration vs coding in Pega and provides an overview of the Pega platform. It introduces the presenters and describes what is needed to run Pega including an operating system, application server, and database. The Pega environment is modeled and executes flows using a business rules engine and rules are assembled into Java at runtime. Situational processes are built in frameworks and specialized in frameworks and implementations. Directly capturing objectives can model processes, close the gap between business and IT, and automatically transform objectives into executable Java to automate work.
Andrei prisacaru takingtheunitteststothedatabaseCodecamp Romania
This document outlines an agenda for a presentation with 5 chapters covering contact information, tools for database development and testing, usage of those tools, providing proof of their effectiveness, and closing with a question and answer session. Chapter 1 discusses issues with database development. Chapter 2 introduces tools to help solve problems. Chapter 3 demonstrates creating database and unit test projects, adding tests, and testing transactional behavior. Chapter 4 discusses proving the value of these tools. Chapter 5 allows for questions.
The document discusses agility in life and relationships on micro and middle levels. It argues that an agile approach to life involves experimentation, trust, giving freedom and space to others, focusing on solutions rather than blame, and prioritizing value to "customers" like family and friends through continuous effort. Key aspects of agility include diversity, shared goals, responsibility, courage to change, and appreciating different perspectives. Applying agile principles like experimentation, trust and encouragement can help people and teams grow.
This document provides an overview and agenda for developing Windows 10 apps, covering topics like the new Windows Core, universal app platform, app-to-app communications enhancements, and the Action Center for managing notifications. It demonstrates new controls like the RelativePanel and MonthCalendar, and how to use the SplitView control. It also shows how to check for capabilities, target platform versions, and use platform extensions.
The document discusses the challenges of deciding whether to rewrite an existing codebase from scratch or work with the legacy code. It outlines reasons for not working with the existing code, such as missing documentation or tools. It also notes potential issues with rewriting from scratch, such as the impact on other teams and office politics. The document recommends starting by automating infrastructure and tests, learning the essential business concepts, and trying to introduce incremental changes to the legacy code before deciding to fully rewrite it.
The document discusses the benefits of adopting continuous delivery (CD) principles for software development. It outlines how CD can (1) create a repeatable, reliable release process that automates tasks, (2) empower teams through shared responsibility and increased collaboration, and (3) provide business value through faster feedback, consistent processes, and lower costs. While initial costs may increase for training and new tools, CD can ultimately shift costs from releases to other activities and deliver software faster. The document provides a sample deployment pipeline and maturity model, and discusses managing expectations for change when adopting CD practices.
SpriteKit is a framework for building 2D games and graphics-intensive apps. It provides nodes for sprites, shapes, particles, video and more. SpriteKit handles animation, physics simulation and the game loop. Key features include sprite nodes, emitter nodes, actions for animation, a physics engine, and scenes to display content in the game world.
The knights in the Agile Kingdom faced challenges sizing epics due to their variable size, complexity, and uncertainty. They developed two recipes - the Blue Recipe which involved planning poker and multiplication, and the Green Recipe which broke down an epic into user stories first. However, neither scale worked well for very large epics. They adapted by using a recently sized existing epic as a benchmark and rescaling. This allowed them to estimate the sizes of three sample epics as 5, 8, and 20 epic points, providing high-level sizing while addressing the issues of comparing variable epics.
This document discusses how to auto scale .NET applications in Amazon Web Services. It covers key concepts like scalability versus auto scaling, using a load balancer and solving session issues for web applications, and monitoring applications to enable auto scaling. The document provides an example of scaling an application from 2 web servers and 3 application servers in 2012 to 3 SQL servers and more elastic resources like SQS and ElastiCache by 2015. It also discusses best practices for auto scaling like using out-of-process sessions, log collection, and setting CloudWatch alarms to trigger auto scaling rules.
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...Codecamp Romania
The document discusses different types of unknowns that can exist for a product including the unknown universe of the product, the certainty nebula, and the unknown unknowns. It also mentions requirements, coding, design, testing, end users, and arrogance. The bottom of the document provides some additional short phrases and includes a link to a Forbes article about what factors can impact companies.
This document discusses parallel and asynchronous processing using the Task Parallel Library (TPL) Dataflow. It introduces dataflow as an actor-based programming model for creating data processing pipelines with in-process message passing. TPL Dataflow provides blocks like SourceBlock, TargetBlock, and PropagatorBlock that can be composed into pipelines. It offers benefits like effortless use of multithreading and performance boosts. Examples of where dataflow is useful include robotics, manufacturing, imaging, biology, oil and gas, and finance.
This document discusses different techniques for animating screen transitions between Android activities. It covers 8 stages: 1) the default animation, 2) measuring views, 3) removing defaults, 4) setting initial positions, 5) animating to the final position, 6) reversing the animations, 7) using Lollipop screen transitions, and 8) setting custom content entrance and exit transitions. Code examples are provided for each stage and the full code is available on GitHub.
The document provides tips for starting a freelancing career with no clients or experience. It recommends experimenting daily until finding a client ("getting the fish"), using sites like HackHands and UserTesting to find and attract clients, treating each project like driving a taxi where the goal is to start moving and find a solution, putting the client's needs first with fast responses and over-delivering on promises, genuinely caring about client success, and maintaining high standards while also enjoying financial prosperity.
The document discusses ECMAScript 6 (ES6), the next version of JavaScript. It summarizes the new features in ES6 like classes, block scope, arrow functions, and spread/rest operators. It describes the speaker's experience using ES6 in a project since December 2014 by transpiling ES6 code to ES5 using Babel. Key challenges discussed are the learning curve to adopt new syntax and convincing teammates. Features currently used in the project are listed as arrow functions, let, template strings, and default parameters. The document concludes by noting the need to keep adapting to new standards released annually and resources for learning more about ES6 and ES7.
Diana antohi me against myself or how to fail and move forwardCodecamp Romania
This document discusses mindset and how beliefs about intelligence and ability can impact learning and growth. It describes the differences between a fixed mindset, where intelligence is seen as static, and a growth mindset, where intelligence is viewed as malleable. A growth mindset believes that effort and practice can improve abilities over time. The document encourages adopting a growth mindset to overcome challenges through learning from mistakes and setting learning goals rather than performance goals. It advocates failing productively by remaining hopeful and keeping efforts focused on improvement.
Central configuration management allows teams to manage configurations in a centralized repository. Configurations can be versioned, inherited in a hierarchy, and consumed by applications through a client that pulls configurations from the repository. This enables consistent configuration of environments like development, testing and production while allowing flexibility for individual configuration overrides.
Code camp iasi silviu niculita - machine learning for mere mortals with azu...Codecamp Romania
This document discusses how machine learning and predictive analytics are being used across many industries and business functions such as vision analytics, recommendation engines, advertising analysis, and fraud detection. It also discusses how data science workflows can be simplified to make machine learning more accessible and scalable. Key points include building and deploying machine learning models through a web browser without software installation, enabling collaborative work, and providing pre-built algorithms and the ability to deploy models as APIs.
This document discusses important leadership concepts for junior developers to understand early in their careers, including:
- Leadership is not defined by formal authority but by setting a good example and building trust with others.
- Effective communication, both within and outside the team, is key to addressing challenges and concerns.
- Leaders are human and may miss cues, so juniors should directly communicate feedback and issues.
- Contributing constantly, while respecting others' contributions, helps a junior feel a sense of belonging on the team.
Business analysis techniques exercise your 6-packCodecamp Romania
Cristian Leon presents six techniques that business analysts can use to effectively perform their role: (1) Planning, such as using a requirements management plan and RACI matrix; (2) Listening actively to stakeholders; (3) Mind mapping and brainstorming to map concepts; (4) Analyzing requirements using techniques like MoSCoW prioritization; (5) Creating artifacts like user stories with details like acceptance criteria; and (6) Keeping requirements visible and understood by stakeholders through ongoing communication. The presentation aims to help business analysts and those wanting to be analysts exercise their "6-pack" of core skills.
Bpm company code camp - configuration or coding with pegaCodecamp Romania
This document discusses configuration vs coding in Pega and provides an overview of the Pega platform. It introduces the presenters and describes Pega as a business process management system (BPMS) that models and executes workflows using a business rules engine and Java runtime. It outlines what is needed to run Pega and describes the typical Pega environment including components like the rules engine and connectors. It also discusses situational layering in Pega and how objectives are directly captured and transformed into executable code.
Andrei prisacaru takingtheunitteststothedatabaseCodecamp Romania
This document outlines an agenda for a presentation with 5 chapters covering contact information, tools for database development and testing, usage of those tools, providing proof of effectiveness, and closing with questions. Chapter 1 discusses issues with database development. Chapter 2 introduces tools to solve problems. Chapter 3 demonstrates creating database and unit test projects, adding tests, and transactional behavior testing. Chapter 4 discusses proving the value, and Chapter 5 allows for questions.
The document discusses the challenges of working with legacy code and whether it is better to rewrite the code from scratch or try to improve the existing code. It notes that programmers often want to rewrite code from scratch to build something new and exciting. However, the document advocates taking incremental steps to introduce tests and refactor small parts of the existing code at a time rather than attempting a complete rewrite. This helps minimize risks and ensures the essential parts are maintained as changes are made.
This document provides an overview and agenda for developing Windows 10 apps, covering topics like the new Windows Core, universal app platform, app-to-app communications enhancements, and the Action Center for managing notifications. It demonstrates new controls like the RelativePanel and MonthCalendar, and how to use the SplitView control. It also shows how to check for capabilities, target platform versions, and use platform extensions.
The document discusses the challenges of deciding whether to rewrite an existing codebase from scratch or work with the legacy code. It outlines reasons for not working with the existing code, such as missing documentation or tools. It also notes potential issues with rewriting from scratch, such as the impact on other teams and office politics. The document recommends starting by automating infrastructure and tests, learning the essential business concepts, and trying to introduce incremental changes to the legacy code before deciding to fully rewrite it.
The document discusses the benefits of adopting continuous delivery (CD) principles for software development. It outlines how CD can (1) create a repeatable, reliable release process that automates tasks, (2) empower teams through shared responsibility and increased collaboration, and (3) provide business value through faster feedback, consistent processes, and lower costs. While initial costs may increase for training and new tools, CD can ultimately shift costs from releases to other activities and deliver software faster. The document provides a sample deployment pipeline and maturity model, and discusses managing expectations for change when adopting CD practices.
SpriteKit is a framework for building 2D games and graphics-intensive apps. It provides nodes for sprites, shapes, particles, video and more. SpriteKit handles animation, physics simulation and the game loop. Key features include sprite nodes, emitter nodes, actions for animation, a physics engine, and scenes to display content in the game world.
The knights in the Agile Kingdom faced challenges sizing epics due to their variable size, complexity, and uncertainty. They developed two recipes - the Blue Recipe which involved planning poker and multiplication, and the Green Recipe which broke down an epic into user stories first. However, neither scale worked well for very large epics. They adapted by using a recently sized existing epic as a benchmark and rescaling. This allowed them to estimate the sizes of three sample epics as 5, 8, and 20 epic points, providing high-level sizing while addressing the issues of comparing variable epics.
This document discusses how to auto scale .NET applications in Amazon Web Services. It covers key concepts like scalability versus auto scaling, using a load balancer and solving session issues for web applications, and monitoring applications to enable auto scaling. The document provides an example of scaling an application from 2 web servers and 3 application servers in 2012 to 3 SQL servers and more elastic resources like SQS and ElastiCache by 2015. It also discusses best practices for auto scaling like using out-of-process sessions, log collection, and setting CloudWatch alarms to trigger auto scaling rules.
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...Codecamp Romania
The document discusses different types of unknowns that can exist for a product including the unknown universe of the product, the certainty nebula, and the unknown unknowns. It also mentions requirements, coding, design, testing, end users, and arrogance. The bottom of the document provides some additional short phrases and includes a link to a Forbes article about what factors can impact companies.
This document discusses parallel and asynchronous processing using the Task Parallel Library (TPL) Dataflow. It introduces dataflow as an actor-based programming model for creating data processing pipelines with in-process message passing. TPL Dataflow provides blocks like SourceBlock, TargetBlock, and PropagatorBlock that can be composed into pipelines. It offers benefits like effortless use of multithreading and performance boosts. Examples of where dataflow is useful include robotics, manufacturing, imaging, biology, oil and gas, and finance.
This document discusses different techniques for animating screen transitions between Android activities. It covers 8 stages: 1) the default animation, 2) measuring views, 3) removing defaults, 4) setting initial positions, 5) animating to the final position, 6) reversing the animations, 7) using Lollipop screen transitions, and 8) setting custom content entrance and exit transitions. Code examples are provided for each stage and the full code is available on GitHub.
The document provides tips for starting a freelancing career with no clients or experience. It recommends experimenting daily until finding a client ("getting the fish"), using sites like HackHands and UserTesting to find and attract clients, treating each project like driving a taxi where the goal is to start moving and find a solution, putting the client's needs first with fast responses and over-delivering on promises, genuinely caring about client success, and maintaining high standards while also enjoying financial prosperity.
The document discusses ECMAScript 6 (ES6), the next version of JavaScript. It summarizes the new features in ES6 like classes, block scope, arrow functions, and spread/rest operators. It describes the speaker's experience using ES6 in a project since December 2014 by transpiling ES6 code to ES5 using Babel. Key challenges discussed are the learning curve to adopt new syntax and convincing teammates. Features currently used in the project are listed as arrow functions, let, template strings, and default parameters. The document concludes by noting the need to keep adapting to new standards released annually and resources for learning more about ES6 and ES7.
Diana antohi me against myself or how to fail and move forwardCodecamp Romania
This document discusses mindset and how beliefs about intelligence and ability can impact learning and growth. It describes the differences between a fixed mindset, where intelligence is seen as static, and a growth mindset, where intelligence is viewed as malleable. A growth mindset believes that effort and practice can improve abilities over time. The document encourages adopting a growth mindset to overcome challenges through learning from mistakes and setting learning goals rather than performance goals. It advocates failing productively by remaining hopeful and keeping efforts focused on improvement.
Central configuration management allows teams to manage configurations in a centralized repository. Configurations can be versioned, inherited in a hierarchy, and consumed by applications through a client that pulls configurations from the repository. This enables consistent configuration of environments like development, testing and production while allowing flexibility for individual configuration overrides.
Code camp iasi silviu niculita - machine learning for mere mortals with azu...Codecamp Romania
This document discusses how machine learning and predictive analytics are being used across many industries and business functions such as vision analytics, recommendation engines, advertising analysis, and fraud detection. It also discusses how data science workflows can be simplified to make machine learning more accessible and scalable. Key points include building and deploying machine learning models through a web browser without software installation, enabling collaborative work, and providing pre-built algorithms and the ability to deploy models as APIs.
This document discusses important leadership concepts for junior developers to understand early in their careers, including:
- Leadership is not defined by formal authority but by setting a good example and building trust with others.
- Effective communication, both within and outside the team, is key to addressing challenges and concerns.
- Leaders are human and may miss cues, so juniors should directly communicate feedback and issues.
- Contributing constantly, while respecting others' contributions, helps a junior feel a sense of belonging on the team.
Business analysis techniques exercise your 6-packCodecamp Romania
Cristian Leon presents six techniques that business analysts can use to effectively perform their role: (1) Planning, such as using a requirements management plan and RACI matrix; (2) Listening actively to stakeholders; (3) Mind mapping and brainstorming to map concepts; (4) Analyzing requirements using techniques like MoSCoW prioritization; (5) Creating artifacts like user stories with details like acceptance criteria; and (6) Keeping requirements visible and understood by stakeholders through ongoing communication. The presentation aims to help business analysts and those wanting to be analysts exercise their "6-pack" of core skills.
Bpm company code camp - configuration or coding with pegaCodecamp Romania
This document discusses configuration vs coding in Pega and provides an overview of the Pega platform. It introduces the presenters and describes Pega as a business process management system (BPMS) that models and executes workflows using a business rules engine and Java runtime. It outlines what is needed to run Pega and describes the typical Pega environment including components like the rules engine and connectors. It also discusses situational layering in Pega and how objectives are directly captured and transformed into executable code.
Andrei prisacaru takingtheunitteststothedatabaseCodecamp Romania
This document outlines an agenda for a presentation with 5 chapters covering contact information, tools for database development and testing, usage of those tools, providing proof of effectiveness, and closing with questions. Chapter 1 discusses issues with database development. Chapter 2 introduces tools to solve problems. Chapter 3 demonstrates creating database and unit test projects, adding tests, and transactional behavior testing. Chapter 4 discusses proving the value, and Chapter 5 allows for questions.
The document discusses the challenges of working with legacy code and whether it is better to rewrite the code from scratch or try to improve the existing code. It notes that programmers often want to rewrite code from scratch to build something new and exciting. However, the document advocates taking incremental steps to introduce tests and refactor small parts of the existing code at a time rather than attempting a complete rewrite. This helps minimize risks and ensures the essential parts are maintained as changes are made.
7. STORING A DAM USING A TABLE
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
7
8. HOW TO STORE DAM‘S LOCATION?
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 ?
8
9. USING DESCRIPTIVE WORDS ...
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 ...
9
21. SQL
-- 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'
21
22. SHOW THE RESULTS
-- Get the lake
SELECT Id, Name, Location FROM LAKES WHERE Name = ‘Morun’
Spatial results
Results
22
23. SQL SERVER MANAGEMENT STUDIO
1. The table 3. The results
2. The query
SELECT SHAPE FROM COUNTIES
23
24. GEOMETRY METHODS
-- 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
24
25. ENTITY FRAMEWORK 5.0
Hotel class Lake class
public class Hotel
public class Lake
{
{
public Int32 Id;
public Int32 Id;
public String Name;
public String Name;
public Int32 NumberOfRooms;
public DBGeometry Location;
public DBGeometry Location;
}
}
Query using LINQ
// 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
25
29. DYNAMIC SEGMENTATION
Km 0 Km 21 Km 44
2 lines 4 lines
Lanes
Km 17 Km 30
Asphalt Concrete Asphalt
Material
Good Fair Poor Good
Quality
50 km/h 60 km/h 70 km/h 50 km/h
Speed
Km 0 Km 10 Km 20 Km 30 Km 40 Km 50
29
30. MORE OPEN QUESTIONS
• 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
30
31. FOR ALL THE REST THERE‘S GEODATABASE
A geodatabase is a database with extensions for storing,
querying, and manipulating geographic information.
System Tables User Defined
Tables
31
33. WHAT IS A LAYER?
Id Name Attribute Shape
A layer is a collection of … … … …
spatial elements that … … … …
share the same attributes, … … … …
the same geometry type.
… … … …
33
34. WHAT IS A LAYER?
A layer is a collection of spatial
elements that share the same
attributes, the same geometry
type and share symbols,
etiquettes and scales.
34
42. GIS SERVICES
Geocode Services Geoprocessing Services
Finds address Provides spatial
locations. analysis and data
processing services.
Geometry Services Network Analyst
Provides geometric Performs analysis
calculation such as such as routing,
distance, buffer etc. closest facility etc.
Feature Services Mapping Services
Serves features and Serves cached and
simbology. dynamic maps.
42
51. 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>
51
54. WHAT IS A WEB MAP APPLICATION?
1 One or more map services
2 Integrated into a web application
3 That users interact with
4 To accomplish meaningful tasks
54
56. WHAT MAKES WEB MAP APP TO BE GREAT?
1 Fast
2 Up to date
3 Informative and useful
4 Easy to use and understand
5 Great cartography and multi scale
56
57. TWO TYPES OF DATA ORGANIZATION
Basemaps Operational Layers
Geographic frame of reference Show a focused item of interest
Static data Editable data
Reusable in multiple applications Displayed on top of a basemap
57
59. TILE CACHING
File
System
Browser
The server generates
and stores the whole
map at different scales.
GIS Server Web Server
59
60. WHAT YOU SEE
First level of
zoom in the
browser
60
61. IS NOT WHAT YOU GET
First level of
zoom on the
server
61
62. IS NOT WHAT YOU GET
Second level of
zoom on the
server
62
63. WHAT TO CACHE?
National
Geographic
Basemaps Map
Lakes Map
Don’t change often
Sandy
Hurricane
High traffic volume
63
64. CACHING PRO‘S AND CON‘S
1 Performance
2 Quality
3 Large storage
4 Generation time
5 Out of date
64
65. DYNAMIC MAPPING
Map
Data Document
Browser
Server generates
images on the fly.
GIS Server Web Server
65
66. WHAT FOR TO USE?
Road Traffic
Map
Real-time data
Forecast Map
Frequently changing data
Heat Map
Complex geometries
66
67. DYNAMIC MAPS PRO‘S AND CON‘S
1 Reflects the actual data
2 No need to maintain caches
3 Slower than caching
4 Need for server resources
5 Trade quality for performance
67
68. CLIENT SIDE GRAPHICS
Map
Data Document
Browser
The browser
JSON
draws maps.
ArcObjects
API
GIS Server Web Server
68
69. WHAT TO USE FOR?
Parcel Editor
Web editing
Popup Info
Interactive maps
Parcel Query
Query data
69
70. GRAPHICS PRO‘S AND CON‘S
1 Nice user experience
2 Off-load the work from the server
3 The “pressure” is on the client
4 Limited number of features
5 Lower quality
70