The document discusses the history and capabilities of Mapnik, an open-source map rendering engine. It describes how Mapnik aimed to address limitations in other mapping tools by being fast, interactive, and producing high-quality maps. The document outlines how Mapnik works, how to style and render maps from data sources, and challenges and opportunities around rendering OpenStreetMap data.
Here are the key steps to create a custom UserDetailsService in Grails Spring Security:
1. Create a class that implements the Spring Security UserDetailsService interface.
2. Override the loadUserByUsername() method to retrieve the user details (usually from the database) based on the username.
3. Return a UserDetails object (like GrailsUser) containing the user's credentials and authorities.
4. Register the custom UserDetailsService bean in resources.groovy, overriding the default.
5. The authentication manager will now use the custom service to retrieve user details during authentication.
This allows full customization of how users are loaded from the data store for authentication. The custom service can
Top 5 mistakes when writing Spark applicationshadooparchbook
This document discusses common mistakes people make when writing Spark applications and provides recommendations to address them. It covers issues related to executor configuration, application failures due to shuffle block sizes exceeding limits, slow jobs caused by data skew, and managing the DAG to avoid excessive shuffles and stages. Recommendations include using smaller executors, increasing the number of partitions, addressing skew through techniques like salting, and preferring ReduceByKey over GroupByKey and TreeReduce over Reduce to improve performance and resource usage.
[TGDF 2019] Mali GPU Architecture and Mobile StudioOwen Wu
This document provides an overview of Arm's Mobile Studio tools for optimizing graphics and application performance. It describes the GPU architecture of Mali GPUs and concepts like tile-based rendering and render passes. It then introduces the tools in Mobile Studio - Streamline for profiling, Graphics Analyzer for debugging graphics, the Offline Shader Compiler, and Performance Advisor (currently in beta).
Anti-entropy repairs are known to be a very peculiar maintenance operation of Cassandra clusters. They are problematic mostly because of the potential of having negative impact on the cluster's performance. Another problematic aspect is the difficulty of managing the repairs of Cassandra clusters in a careful way that would prevent the negative performance impact.
Based on the long-term pain we have been experiencing with managing repairs of nearly 100 Cassandra clusters, and being unable to find a solution that would meet our needs, we went ahead and developed an open-source tool, named Cassandra Reaper [1], for easy management of Cassandra repairs.
Cassandra Reaper is a tool that automates the management of anti-entropy repairs of Cassandra clusters in a rather smart, efficient and careful manner while requiring minimal Cassandra expertise.
I will have to cover some basics of eventual consistency mechanisms of Cassandra, after which I will be able to focus on the features of Cassandra Reaper and our six months of experience having the tool managing the repairs of our production clusters.
In Spark SQL the physical plan provides the fundamental information about the execution of the query. The objective of this talk is to convey understanding and familiarity of query plans in Spark SQL, and use that knowledge to achieve better performance of Apache Spark queries. We will walk you through the most common operators you might find in the query plan and explain some relevant information that can be useful in order to understand some details about the execution. If you understand the query plan, you can look for the weak spot and try to rewrite the query to achieve a more optimal plan that leads to more efficient execution.
The main content of this talk is based on Spark source code but it will reflect some real-life queries that we run while processing data. We will show some examples of query plans and explain how to interpret them and what information can be taken from them. We will also describe what is happening under the hood when the plan is generated focusing mainly on the phase of physical planning. In general, in this talk we want to share what we have learned from both Spark source code and real-life queries that we run in our daily data processing.
The document discusses the history and capabilities of Mapnik, an open-source map rendering engine. It describes how Mapnik aimed to address limitations in other mapping tools by being fast, interactive, and producing high-quality maps. The document outlines how Mapnik works, how to style and render maps from data sources, and challenges and opportunities around rendering OpenStreetMap data.
Here are the key steps to create a custom UserDetailsService in Grails Spring Security:
1. Create a class that implements the Spring Security UserDetailsService interface.
2. Override the loadUserByUsername() method to retrieve the user details (usually from the database) based on the username.
3. Return a UserDetails object (like GrailsUser) containing the user's credentials and authorities.
4. Register the custom UserDetailsService bean in resources.groovy, overriding the default.
5. The authentication manager will now use the custom service to retrieve user details during authentication.
This allows full customization of how users are loaded from the data store for authentication. The custom service can
Top 5 mistakes when writing Spark applicationshadooparchbook
This document discusses common mistakes people make when writing Spark applications and provides recommendations to address them. It covers issues related to executor configuration, application failures due to shuffle block sizes exceeding limits, slow jobs caused by data skew, and managing the DAG to avoid excessive shuffles and stages. Recommendations include using smaller executors, increasing the number of partitions, addressing skew through techniques like salting, and preferring ReduceByKey over GroupByKey and TreeReduce over Reduce to improve performance and resource usage.
[TGDF 2019] Mali GPU Architecture and Mobile StudioOwen Wu
This document provides an overview of Arm's Mobile Studio tools for optimizing graphics and application performance. It describes the GPU architecture of Mali GPUs and concepts like tile-based rendering and render passes. It then introduces the tools in Mobile Studio - Streamline for profiling, Graphics Analyzer for debugging graphics, the Offline Shader Compiler, and Performance Advisor (currently in beta).
Anti-entropy repairs are known to be a very peculiar maintenance operation of Cassandra clusters. They are problematic mostly because of the potential of having negative impact on the cluster's performance. Another problematic aspect is the difficulty of managing the repairs of Cassandra clusters in a careful way that would prevent the negative performance impact.
Based on the long-term pain we have been experiencing with managing repairs of nearly 100 Cassandra clusters, and being unable to find a solution that would meet our needs, we went ahead and developed an open-source tool, named Cassandra Reaper [1], for easy management of Cassandra repairs.
Cassandra Reaper is a tool that automates the management of anti-entropy repairs of Cassandra clusters in a rather smart, efficient and careful manner while requiring minimal Cassandra expertise.
I will have to cover some basics of eventual consistency mechanisms of Cassandra, after which I will be able to focus on the features of Cassandra Reaper and our six months of experience having the tool managing the repairs of our production clusters.
In Spark SQL the physical plan provides the fundamental information about the execution of the query. The objective of this talk is to convey understanding and familiarity of query plans in Spark SQL, and use that knowledge to achieve better performance of Apache Spark queries. We will walk you through the most common operators you might find in the query plan and explain some relevant information that can be useful in order to understand some details about the execution. If you understand the query plan, you can look for the weak spot and try to rewrite the query to achieve a more optimal plan that leads to more efficient execution.
The main content of this talk is based on Spark source code but it will reflect some real-life queries that we run while processing data. We will show some examples of query plans and explain how to interpret them and what information can be taken from them. We will also describe what is happening under the hood when the plan is generated focusing mainly on the phase of physical planning. In general, in this talk we want to share what we have learned from both Spark source code and real-life queries that we run in our daily data processing.
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...Altinity Ltd
This document discusses using ClickHouse to manage log data. It begins with an introduction to ClickHouse and its features. It then covers different ways to model log data in ClickHouse, including storing logs as JSON blobs or converting them to a tabular format. The document demonstrates using materialized views to ingest logs into ClickHouse tables in an efficient manner, extracting values from JSON and converting to columns. It shows how this approach allows flexible querying of log data while scaling to large volumes.
YOW2018 Cloud Performance Root Cause Analysis at NetflixBrendan Gregg
Keynote by Brendan Gregg for YOW! 2018. Video: https://www.youtube.com/watch?v=03EC8uA30Pw . Description: "At Netflix, improving the performance of our cloud means happier customers and lower costs, and involves root cause
analysis of applications, runtimes, operating systems, and hypervisors, in an environment of 150k cloud instances
that undergo numerous production changes each week. Apart from the developers who regularly optimize their own code
, we also have a dedicated performance team to help with any issue across the cloud, and to build tooling to aid in
this analysis. In this session we will summarize the Netflix environment, procedures, and tools we use and build t
o do root cause analysis on cloud performance issues. The analysis performed may be cloud-wide, using self-service
GUIs such as our open source Atlas tool, or focused on individual instances, and use our open source Vector tool, f
lame graphs, Java debuggers, and tooling that uses Linux perf, ftrace, and bcc/eBPF. You can use these open source
tools in the same way to find performance wins in your own environment."
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsCloudera, Inc.
The document discusses 5 common mistakes people make when writing Spark applications:
1) Not properly sizing executors for memory and cores.
2) Having shuffle blocks larger than 2GB which can cause jobs to fail.
3) Not addressing data skew which can cause joins and shuffles to be very slow.
4) Not properly managing the DAG to minimize shuffles and stages.
5) Classpath conflicts from mismatched dependencies causing errors.
Video: https://www.youtube.com/watch?v=kkOG_aJ9KjQ
This talk gives details about Spark internals and an explanation of the runtime behavior of a Spark application. It explains how high level user programs are compiled into physical execution plans in Spark. It then reviews common performance bottlenecks encountered by Spark users, along with tips for diagnosing performance problems in a production application.
Alkin Tezuysal discusses his first 90 days working at ChistaDATA Inc. as EVP of Global Services. He has experience working with databases like MySQL, Oracle, and ClickHouse. ChistaDATA focuses on providing ClickHouse infrastructure operations through managed services, support, and consulting. ClickHouse is an open source columnar database that uses a shared-nothing architecture for high performance analytics workloads.
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudNoritaka Sekiyama
This document provides an overview and summary of Amazon S3 best practices and tuning for Hadoop/Spark in the cloud. It discusses the relationship between Hadoop/Spark and S3, the differences between HDFS and S3 and their use cases, details on how S3 behaves from the perspective of Hadoop/Spark, well-known pitfalls and tunings related to S3 consistency and multipart uploads, and recent community activities related to S3. The presentation aims to help users optimize their use of S3 storage with Hadoop/Spark frameworks.
Elasticsearch has always been fast, but required structuring and indexing your data up front. We're changing that with the introduction of runtime fields, which enable you to extract, calculate, and transform fields at query time. They can be defined after data is indexed or provided with your query, enabling new cost/storage/performance tradeoffs, and letting analysts gradually define fields over time.
Getting The Best Performance With PySparkSpark Summit
This document provides an overview of techniques for getting the best performance with PySpark. It discusses RDD reuse through caching and checkpointing. It explains how to avoid issues with groupByKey by using reduceByKey or aggregateByKey instead. Spark SQL and DataFrames are presented as alternatives that can improve performance by avoiding serialization costs for Python users. The document also covers mixing Python and Scala code by exposing Scala functions to be callable from Python.
All about Zookeeper and ClickHouse Keeper.pdfAltinity Ltd
ClickHouse clusters depend on ZooKeeper to handle replication and distributed DDL commands. In this Altinity webinar, we’ll explain why ZooKeeper is necessary, how it works, and introduce the new built-in replacement named ClickHouse Keeper. You’ll learn practical tips to care for ZooKeeper in sickness and health. You’ll also learn how/when to use ClickHouse Keeper. We will share our recommendations for keeping that happy as well.
Apache Spark™ is a fast and general engine for large-scale data processing. Spark is written in Scala and runs on top of JVM, but Python is one of the officially supported languages. But how does it actually work? How can Python communicate with Java / Scala? In this talk, we’ll dive into the PySpark internals and try to understand how to write and test high-performance PySpark applications.
Better than you think: Handling JSON data in ClickHouseAltinity Ltd
Robert Hodges shows how ClickHouse, a relational database with tables, can offer high-performance analysis of JSON data. This talk provides a cookbook of schema design, indexing, data loading, and query tricks we gave learned over years of helping users build analytical apps for servicds logs, observability data, financial transactions, and other types of semi-structured data. Robert Hodges is CEO of Altinity and a certified database geek.
https://altinity.com
https://www.meetup.com/San-Francisco-Bay-Area-ClickHouse-Meetup
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted MalaskaSpark Summit
The document discusses 5 common mistakes people make when writing Spark applications:
1) Not properly sizing executors for memory and cores.
2) Having shuffle blocks larger than 2GB which can cause jobs to fail.
3) Not addressing data skew which can cause joins and shuffles to be very slow.
4) Not properly managing the DAG to minimize shuffles and stages.
5) Classpath conflicts from conflicting dependencies like Guava which can cause errors.
Beyond SQL: Speeding up Spark with DataFramesDatabricks
This document summarizes Spark SQL and DataFrames in Spark. It notes that Spark SQL is part of the core Spark distribution and allows running SQL and HiveQL queries. DataFrames provide a way to select, filter, aggregate and plot structured data like in R and Pandas. DataFrames allow writing less code through a high-level API and reading less data by using optimized formats and partitioning. The optimizer can optimize queries across functions and push down predicates to read less data. This allows creating and running Spark programs faster.
A day in the life of hadoop administrator!Edureka!
The document outlines the daily tasks of a Hadoop administrator, which include:
- Monitoring the cluster using tools like Cloudera Manager and Nagios in the morning
- Planning the day and reviewing past tasks in a meeting
- Running regular utility tasks like files mergers and backups
- Scheduling and configuring jobs, analyzing failed tasks, and troubleshooting issues
- Upgrading and updating the Hadoop cluster as needed
Understanding Data Partitioning and Replication in Apache CassandraDataStax
This document provides an overview of data partitioning and replication in Apache Cassandra. It discusses how Cassandra partitions data across nodes using configurable strategies like random and ordered partitioning. It also explains how Cassandra replicates data for fault tolerance using a replication factor and different strategies like simple and network topology. The network topology strategy places replicas across racks and data centers. Various snitches help Cassandra determine network topology.
This talk was given during Lucene Revolution 2017.
They say optimize is bad for you, they say you shouldn't do it, they say it will invalidate operating system caches and make your system suffer. This is all true, but is it true in all cases?
In this presentation we will look closer on what optimize or better called force merge does to your Solr search engine. You will learn what segments are, how they are built and how they are used by Lucene and Solr for searching. We will discuss real-life performance implications regarding Solr collections that have many segments on a single node and compare that to the Solr where the number of segments is moderate and low. We will see what we can do to tune the merging process to trade off indexing performance for better query performance and what pitfalls are there waiting for us. Finally, at the end of the talk we will discuss possibilities of running force merge to avoid system disruption and still benefit from query performance boost that single segment index provides.
Hive Bucketing in Apache Spark with Tejas PatilDatabricks
Bucketing is a partitioning technique that can improve performance in certain data transformations by avoiding data shuffling and sorting. The general idea of bucketing is to partition, and optionally sort, the data based on a subset of columns while it is written out (a one-time cost), while making successive reads of the data more performant for downstream jobs if the SQL operators can make use of this property. Bucketing can enable faster joins (i.e. single stage sort merge join), the ability to short circuit in FILTER operation if the file is pre-sorted over the column in a filter predicate, and it supports quick data sampling.
In this session, you’ll learn how bucketing is implemented in both Hive and Spark. In particular, Patil will describe the changes in the Catalyst optimizer that enable these optimizations in Spark for various bucketing scenarios. Facebook’s performance tests have shown bucketing to improve Spark performance from 3-5x faster when the optimization is enabled. Many tables at Facebook are sorted and bucketed, and migrating these workloads to Spark have resulted in a 2-3x savings when compared to Hive. You’ll also hear about real-world applications of bucketing, like loading of cumulative tables with daily delta, and the characteristics that can help identify suitable candidate jobs that can benefit from bucketing.
The document discusses using OpenStreetMap data with Python. It provides an overview of OpenStreetMap, including its history and data structure. It then discusses how to import OSM data using Python, including parsing the XML format and creating node, way, and relation objects. It also briefly discusses rendering OSM data with Mapnik and challenges with searching OSM data.
Mapnik is an open source cartographic rasterizer with the ability to generate beautiful raster imagery. Add a point-and-click integration with FME for a powerful new combination. You'll find out how to create mind-blowing mashups in Mapnik with FME's ability to integrate data from 325+ sources. You'll also see how to optimize data before it reaches Mapnik -- including the ability to perform a wide range of geometry transformations. And with the new MapnikRasterizer transformer, all of this is done with scalable and automated workflows at your fingertips - no Python, XML or CSS needed.
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...Altinity Ltd
This document discusses using ClickHouse to manage log data. It begins with an introduction to ClickHouse and its features. It then covers different ways to model log data in ClickHouse, including storing logs as JSON blobs or converting them to a tabular format. The document demonstrates using materialized views to ingest logs into ClickHouse tables in an efficient manner, extracting values from JSON and converting to columns. It shows how this approach allows flexible querying of log data while scaling to large volumes.
YOW2018 Cloud Performance Root Cause Analysis at NetflixBrendan Gregg
Keynote by Brendan Gregg for YOW! 2018. Video: https://www.youtube.com/watch?v=03EC8uA30Pw . Description: "At Netflix, improving the performance of our cloud means happier customers and lower costs, and involves root cause
analysis of applications, runtimes, operating systems, and hypervisors, in an environment of 150k cloud instances
that undergo numerous production changes each week. Apart from the developers who regularly optimize their own code
, we also have a dedicated performance team to help with any issue across the cloud, and to build tooling to aid in
this analysis. In this session we will summarize the Netflix environment, procedures, and tools we use and build t
o do root cause analysis on cloud performance issues. The analysis performed may be cloud-wide, using self-service
GUIs such as our open source Atlas tool, or focused on individual instances, and use our open source Vector tool, f
lame graphs, Java debuggers, and tooling that uses Linux perf, ftrace, and bcc/eBPF. You can use these open source
tools in the same way to find performance wins in your own environment."
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsCloudera, Inc.
The document discusses 5 common mistakes people make when writing Spark applications:
1) Not properly sizing executors for memory and cores.
2) Having shuffle blocks larger than 2GB which can cause jobs to fail.
3) Not addressing data skew which can cause joins and shuffles to be very slow.
4) Not properly managing the DAG to minimize shuffles and stages.
5) Classpath conflicts from mismatched dependencies causing errors.
Video: https://www.youtube.com/watch?v=kkOG_aJ9KjQ
This talk gives details about Spark internals and an explanation of the runtime behavior of a Spark application. It explains how high level user programs are compiled into physical execution plans in Spark. It then reviews common performance bottlenecks encountered by Spark users, along with tips for diagnosing performance problems in a production application.
Alkin Tezuysal discusses his first 90 days working at ChistaDATA Inc. as EVP of Global Services. He has experience working with databases like MySQL, Oracle, and ClickHouse. ChistaDATA focuses on providing ClickHouse infrastructure operations through managed services, support, and consulting. ClickHouse is an open source columnar database that uses a shared-nothing architecture for high performance analytics workloads.
Amazon S3 Best Practice and Tuning for Hadoop/Spark in the CloudNoritaka Sekiyama
This document provides an overview and summary of Amazon S3 best practices and tuning for Hadoop/Spark in the cloud. It discusses the relationship between Hadoop/Spark and S3, the differences between HDFS and S3 and their use cases, details on how S3 behaves from the perspective of Hadoop/Spark, well-known pitfalls and tunings related to S3 consistency and multipart uploads, and recent community activities related to S3. The presentation aims to help users optimize their use of S3 storage with Hadoop/Spark frameworks.
Elasticsearch has always been fast, but required structuring and indexing your data up front. We're changing that with the introduction of runtime fields, which enable you to extract, calculate, and transform fields at query time. They can be defined after data is indexed or provided with your query, enabling new cost/storage/performance tradeoffs, and letting analysts gradually define fields over time.
Getting The Best Performance With PySparkSpark Summit
This document provides an overview of techniques for getting the best performance with PySpark. It discusses RDD reuse through caching and checkpointing. It explains how to avoid issues with groupByKey by using reduceByKey or aggregateByKey instead. Spark SQL and DataFrames are presented as alternatives that can improve performance by avoiding serialization costs for Python users. The document also covers mixing Python and Scala code by exposing Scala functions to be callable from Python.
All about Zookeeper and ClickHouse Keeper.pdfAltinity Ltd
ClickHouse clusters depend on ZooKeeper to handle replication and distributed DDL commands. In this Altinity webinar, we’ll explain why ZooKeeper is necessary, how it works, and introduce the new built-in replacement named ClickHouse Keeper. You’ll learn practical tips to care for ZooKeeper in sickness and health. You’ll also learn how/when to use ClickHouse Keeper. We will share our recommendations for keeping that happy as well.
Apache Spark™ is a fast and general engine for large-scale data processing. Spark is written in Scala and runs on top of JVM, but Python is one of the officially supported languages. But how does it actually work? How can Python communicate with Java / Scala? In this talk, we’ll dive into the PySpark internals and try to understand how to write and test high-performance PySpark applications.
Better than you think: Handling JSON data in ClickHouseAltinity Ltd
Robert Hodges shows how ClickHouse, a relational database with tables, can offer high-performance analysis of JSON data. This talk provides a cookbook of schema design, indexing, data loading, and query tricks we gave learned over years of helping users build analytical apps for servicds logs, observability data, financial transactions, and other types of semi-structured data. Robert Hodges is CEO of Altinity and a certified database geek.
https://altinity.com
https://www.meetup.com/San-Francisco-Bay-Area-ClickHouse-Meetup
Top 5 Mistakes When Writing Spark Applications by Mark Grover and Ted MalaskaSpark Summit
The document discusses 5 common mistakes people make when writing Spark applications:
1) Not properly sizing executors for memory and cores.
2) Having shuffle blocks larger than 2GB which can cause jobs to fail.
3) Not addressing data skew which can cause joins and shuffles to be very slow.
4) Not properly managing the DAG to minimize shuffles and stages.
5) Classpath conflicts from conflicting dependencies like Guava which can cause errors.
Beyond SQL: Speeding up Spark with DataFramesDatabricks
This document summarizes Spark SQL and DataFrames in Spark. It notes that Spark SQL is part of the core Spark distribution and allows running SQL and HiveQL queries. DataFrames provide a way to select, filter, aggregate and plot structured data like in R and Pandas. DataFrames allow writing less code through a high-level API and reading less data by using optimized formats and partitioning. The optimizer can optimize queries across functions and push down predicates to read less data. This allows creating and running Spark programs faster.
A day in the life of hadoop administrator!Edureka!
The document outlines the daily tasks of a Hadoop administrator, which include:
- Monitoring the cluster using tools like Cloudera Manager and Nagios in the morning
- Planning the day and reviewing past tasks in a meeting
- Running regular utility tasks like files mergers and backups
- Scheduling and configuring jobs, analyzing failed tasks, and troubleshooting issues
- Upgrading and updating the Hadoop cluster as needed
Understanding Data Partitioning and Replication in Apache CassandraDataStax
This document provides an overview of data partitioning and replication in Apache Cassandra. It discusses how Cassandra partitions data across nodes using configurable strategies like random and ordered partitioning. It also explains how Cassandra replicates data for fault tolerance using a replication factor and different strategies like simple and network topology. The network topology strategy places replicas across racks and data centers. Various snitches help Cassandra determine network topology.
This talk was given during Lucene Revolution 2017.
They say optimize is bad for you, they say you shouldn't do it, they say it will invalidate operating system caches and make your system suffer. This is all true, but is it true in all cases?
In this presentation we will look closer on what optimize or better called force merge does to your Solr search engine. You will learn what segments are, how they are built and how they are used by Lucene and Solr for searching. We will discuss real-life performance implications regarding Solr collections that have many segments on a single node and compare that to the Solr where the number of segments is moderate and low. We will see what we can do to tune the merging process to trade off indexing performance for better query performance and what pitfalls are there waiting for us. Finally, at the end of the talk we will discuss possibilities of running force merge to avoid system disruption and still benefit from query performance boost that single segment index provides.
Hive Bucketing in Apache Spark with Tejas PatilDatabricks
Bucketing is a partitioning technique that can improve performance in certain data transformations by avoiding data shuffling and sorting. The general idea of bucketing is to partition, and optionally sort, the data based on a subset of columns while it is written out (a one-time cost), while making successive reads of the data more performant for downstream jobs if the SQL operators can make use of this property. Bucketing can enable faster joins (i.e. single stage sort merge join), the ability to short circuit in FILTER operation if the file is pre-sorted over the column in a filter predicate, and it supports quick data sampling.
In this session, you’ll learn how bucketing is implemented in both Hive and Spark. In particular, Patil will describe the changes in the Catalyst optimizer that enable these optimizations in Spark for various bucketing scenarios. Facebook’s performance tests have shown bucketing to improve Spark performance from 3-5x faster when the optimization is enabled. Many tables at Facebook are sorted and bucketed, and migrating these workloads to Spark have resulted in a 2-3x savings when compared to Hive. You’ll also hear about real-world applications of bucketing, like loading of cumulative tables with daily delta, and the characteristics that can help identify suitable candidate jobs that can benefit from bucketing.
The document discusses using OpenStreetMap data with Python. It provides an overview of OpenStreetMap, including its history and data structure. It then discusses how to import OSM data using Python, including parsing the XML format and creating node, way, and relation objects. It also briefly discusses rendering OSM data with Mapnik and challenges with searching OSM data.
Mapnik is an open source cartographic rasterizer with the ability to generate beautiful raster imagery. Add a point-and-click integration with FME for a powerful new combination. You'll find out how to create mind-blowing mashups in Mapnik with FME's ability to integrate data from 325+ sources. You'll also see how to optimize data before it reaches Mapnik -- including the ability to perform a wide range of geometry transformations. And with the new MapnikRasterizer transformer, all of this is done with scalable and automated workflows at your fingertips - no Python, XML or CSS needed.
FME World Tour 2015 Dublin - Ordnance Survey Ireland - Martin CreatonIMGS
The use of Mapnik Rasterizer in the Ordnance Survey Ireland. The
aim of this project was to transform an Ordnance Survey Ireland
NTF vector dataset into GeoTIFF rasters using FME. In the past
OSI would have produced a 1:5000 raster les through old legacy
soware but now that soware has reached end of life and is no
longer supported. As part of FME 2014, FME and Mapnik have
been brought together to create the MapnikRasterizer which was
perfect ming for the OSi.
This document appears to be notes from a presentation on augmented reality and visual tracking using JavaScript. It discusses accessing the user's camera, playing video, tracking patterns/colors/faces, examples of augmented reality projects, and markerless tracking. The presentation introduces augmented reality and JavaScript APIs for integrating augmented content, then covers visual tracking techniques like color tracking, face detection and real-world examples before discussing markerless tracking and popularity metrics.
Java 기반의 오픈 소스 GIS 맵서버인 GeoServer 2.4 버젼 한국어 사용자 지침서입니다.
본 사용자 지침서는 한국정보통신산업진흥원(NIPA)이 시행한 공개SW커뮤니티 출판·번역지원 사업을 통해 번역, 출판되었습니다.
본 문서의 라이선스는 Creative-Commons-Attribution 3.0 Unported를 따릅니다.
NetworkX - python graph analysis and visualization @ PyHugJimmy Lai
NetworkX is a Python package for analyzing and visualizing graphs and networks. It allows users to construct graphs from data, model network topology and examine properties like centrality and connectivity. The document provides instructions on installing NetworkX and links to tutorials, demonstrates analyzing a social network from a PTT bulletin board, and lists the top users by PageRank centrality.
Slide deck from my presentation at NYC's #Pydata 2012 conference - http://nyc2012.pydata.org/abstracts/#gephi
Talk abstract:
Are you interested in working with social data to map out communities and connections between friends, fans and followers? In this session I'll show ways in which we use the python networkx library along with the open source gephi visualization tool to make sense of social network data. We'll take a few examples from Twitter, look at how a hashtag spreads through the network, and then analyze the connections between users posting to the hashtag. We'll be constructing graphs, running stats on them and then visualizing the output.
A Fast and Dirty Intro to NetworkX (and D3)Lynn Cherny
Using the python lib NetworkX to calculate stats on a Twitter network, and then display the results in several D3.js visualizations. Links to demos and source files. I'm @arnicas and live at www.ghostweather.com.
Este documento fornece um resumo sobre o PostGIS, incluindo: (1) suas principais funcionalidades como suporte espacial ao PostgreSQL; (2) as geometrias suportadas como pontos, linhas e polígonos; (3) a estrutura de dados baseada no padrão OGC SFS.
How to Make Awesome SlideShares: Tips & TricksSlideShare
Turbocharge your online presence with SlideShare. We provide the best tips and tricks for succeeding on SlideShare. Get ideas for what to upload, tips for designing your deck and more.
SlideShare is a global platform for sharing presentations, infographics, videos and documents. It has over 18 million pieces of professional content uploaded by experts like Eric Schmidt and Guy Kawasaki. The document provides tips for setting up an account on SlideShare, uploading content, optimizing it for searchability, and sharing it on social media to build an audience and reputation as a subject matter expert.
Beholding the giant pyramid of application development; why Ajax applications...Javeline B.V.
Building large and complex web applications using the open browser stack without any plugins is taking off (google wave), and with the support of rapidly innovating browsers like Firefox and Chrome it looks like it is bypassing proprietary platforms. This talk illustrates why the web browser and HTML5 are positioned to become the global platform for applications and how Ajax technologies like our ajax.org are optimizing application development.
The document discusses various techniques for thematic mapping using Keyhole Markup Language (KML), including proportional symbol maps, chart maps, choropleth maps, and 3D bar and prism maps. It also describes the Thematic Mapping Engine, an open source tool that generates KML/KMZ documents from spatial data based on user-selected thematic mapping parameters. Thematic maps created with KML can leverage the visualization capabilities of Google Earth and enable interactive exploration of geospatial data patterns and trends.
A look at the various open source/open data options for an open maps stack - OpenStreetMap, OpenLayers, etc. Also goes into a bit more detail on the Mapstraction library.
OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. Users can add and edit map data by uploading GPS traces or extracting information from other sources like aerial imagery. This data is stored in a central database and can be viewed and edited by anyone on a web map or using desktop editors. The map is rendered from the database using open source tools and can be used freely under an open license. Developers contribute by improving the tools, database, rendering system, and applications that make up the OSM project.
Graphs made easy with SAS ODS Graphics Designer (PAPER)Kevin Lee
Graphs can provide the visual patterns and clarities that are not apparent in tables and listings, but sometimes it takes too long to create ones. Now, The ODS Graphics Designer makes it much easier. The paper is intended for Clinical Trial SAS® programmers who are interested in creating graphs using ODS Graphics Designer. The ODS Graphics Designer is a SAS/GRAPH GUI based interactive tool. The codes in ODS Graphics Designer are based on the Graph Template Language (GTL), but SAS programmers can create graphs using its point-and-click interaction without any programming. The ODS Graphics Designer allows SAS programmers to create many kinds of graphs such as scatter plots, series plots, step plot, histogram, box and more. The paper will show how to start the ODS Graphics Designer in SAS. The paper will also show how easy to create simple or complex graphs using the designer and how to enhance graphs using other features such as legends, cell properties, plot properties and so on. The paper will demonstrate how to create GTL and template codes from designer that will also create the exact graphs in SAS programming. The setting is set up in CDISC environment, so ADaM datasets will be used as source data.
Working with OpenStreetMap using Apache Spark and GeotrellisRob Emanuele
The document discusses OpenStreetMap (OSM) and OSMesa, a framework for distributed processing of OSM data. It describes the OSM data model including nodes, ways, relations, and tags. It then discusses a use case where OSM change history needed to be processed at scale to backfill missing maps statistics. OSMesa was developed to handle this using Apache Spark and GeoTrellis on AWS. It can generate vector tiles, statistics, and other outputs from the full OSM history dataset in an efficient distributed manner. The future of OSMesa includes improved validation workflows, machine learning applications, and data science on OSM data.
This document provides an overview of creating web maps using open source tools, including:
1) It discusses using databases (PostgreSQL), map servers (MapServer), and web servers to store, serve, and display spatial data on the web.
2) It provides instructions on loading spatial data into a PostgreSQL database using Quantum GIS, then querying and styling the data for display in a web map using MapServer.
3) It describes basic map file syntax for MapServer and adding layers from shapefiles, databases, and other sources for rendering in a web map.
Mappetizer "Tourist Info", "City Info", and "Travel Diary" are SVG based web mapping applications, which directly can display GPS data (GPX files).
The document provides an overview of the topics that will be covered in a training session on modern Perl techniques. The session will cover Template Toolkit for templating, DateTime and related modules for handling dates and times, DBIx::Class for object-relational mapping, TryCatch for exception handling, Moose for object-oriented programming, and additional modules like autodie and Catalyst. The schedule includes sessions, breaks for coffee and lunch, and resources for following up after the training.
Is There Room For Another Elephant In TucsonAndy Lenards
Would you like to scale data-intensive tasks horizontally? Would you like an open source project that gave you that foundation?
Well, there is: Apache Hadoop. It's a Java software framework for supporting data-intensive distributed applications. The framework was inspired by Google papers on their MapReduce framework and Google File System.
Who uses Hadoop? Here's a short list: Yahoo!, A9.com, LinkedIn, Facebook, ImageShack, eHarmony, Hulu, Last.fm, and The New York Times. The highest profile user, Yahoo!, is also a major contributor to the project. They use it extensively in their web search and advertising divisions.
In this talk, titled "Is there room for another elephant in Tucson?", Andrew Lenards will tell us about Hadoop and describe how it could be applied to several practical problems, even if you aren't as big as Google.
The main focus of this study is to find appropriate and stable solutions for representing the statistical data into map with some special features. This research also includes the comparison between different solutions for specific features. In this research I have found three solutions using three different technologies namely Oracle MapViewer, QGIS and AnyMap which are different solutions with different specialties. Each solution has its own specialty so we can choose any solution for representing the statistical data into maps depending on our criteria’s.
This document provides an overview of using open source tools for web mapping, including databases, map servers, and web servers. It discusses setting up a PostgreSQL/PostGIS database and loading spatial data. It then covers using a map server to display the spatial data on a web page and perform spatial queries. Hands-on tasks guide working with these open source tools to create a basic web mapping application.
Hadoop and Hive are used at Facebook for large scale data processing and analytics using commodity hardware and open source software. Hive provides an SQL-like interface to query large datasets stored in Hadoop and translates queries into MapReduce jobs. It is used for daily/weekly data aggregations, ad-hoc analysis, data mining, and other tasks using datasets exceeding petabytes in size stored on Hadoop clusters.
This tutorial teaches how to create a basic map application using OpenScales by:
1) Adding an OpenScales namespace and creating a map component.
2) Adding base layers like OpenStreetMap or WFS layers.
3) Adding controls for mouse interactions and a control panel.
4) Integrating the map with ActionScript code to initialize controls.
The document discusses using Web::Scraper to scrape web pages in a robust, maintainable way by using CSS selectors and XPath queries rather than fragile regular expressions. Web::Scraper provides a domain-specific language for defining scraping processes and extracting desired data from web pages into structured results. Examples show how to scrape links, text, and nested data from HTML elements using a simple declarative syntax.
Scientific Computing with Python Webinar --- May 22, 2009Enthought, Inc.
This document provides information about NumPy memory mapped arrays and Enthought Python Distribution (EPD). It discusses how memory mapped arrays allow large datasets to be accessed as NumPy arrays while residing in disk files rather than main memory. It also advertises EPD software and training courses for scientific computing in Python.
Building real-time collaborative apps with Ajax.org PlatformJaveline B.V.
Web trends and technologies today are converging to do one thing particularly well: collaborate. All of us dream about the possibility to weave collaborative features from products like Google Wave, EtherPad, SubEthaEdit, Mozilla Bespin, Google Docs into our own applications. Ajax.org Platform combines technology and open standards into a solution to build web applications with rich collaborative features at minimum expense. The simple-yet-elegant, declarative API makes it easier to learn, while its openness in design allows it to be extended to the level you and your team are comfortable with. Forget lock-in of vendors and other libraries or frameworks, forget waiting for the Big Boys to open source their latest inventions. In this interactive session Ruben and Mike from the Ajax.org team will be presenting a series of demos and what is needed to make them tick.
This document summarizes the use of spatial data analysis in R using the sp package. It discusses how to create and manipulate spatial point, line, polygon and grid objects. It provides an example of analyzing Colorado tornado data and counting storms in hexagonal grids over the United States to demonstrate spatial analysis techniques in R.
The document discusses d3.js, an open-source JavaScript library for manipulating documents based on data. It provides an overview of what d3.js is, why it is useful, how to set up the environment and get started, and includes examples of basic visualizations that can be created using d3.js like bar charts and circles. Resources for learning more about d3.js such as tutorials, examples, and references are also provided.
Similar to Rendering OpenStreetMap Data using Mapnik (20)
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
11. Ideas about what information you would like to display, and how you would like to display it.
12.
13. It is very powerful and can do all sorts – take data from different data sources, plot it in different ways depending on the map scale etc. With power comes complexity.
14. The main issue is that the usual way of using OSM data with mapnik is not to have mapnik read the data directly, but load the data into a database first, and mapnik gets the data from there. This means that you need a lot of tools to draw a map.
15.
16.
17. The OSM Mapnik Rendering Tools Key OSM Data file (.osm) PostgreSQL / postGIS database mapnik Mapnik stylesheet (.xml) Extra Data (Coastline Shapefiles etc.) generate_image.py or generate_tiles.py osm2pgsql default.style Files to be Edited / Customised Fixed data / programs / libraries
18.
19.
20. Reprojects the data from lat,lon values to mercator projection x,y positions.
21. Creates points, lines and polygons from the OSM nodes, ways and relations, to be compatible with mapnik.
22.
23. It is a list of keys (highway, natural, waterway etc.). Only OSM entities with keys listed in default.style will be put into the database.
24. This means you need to think about which osm keys you will need to use to create your map before you import the database!
48. But unless your style is extremely simple, there will be a lot of repetition – things like directory containing your map icons, your database username and password etc.
49. Entities are used to store this repeated data to make it easier to alter your stylesheet in the future.
71. </Style> This example style is as simple as it gets – just display an image, no matter what the zoom level. Reference to an Entity defined earlier in the file.
72.
73. The only thing that needs altering in it is the bounding box that defines the are you want the map to cover.