Jerusalem: locating the colonies and neighborhoods: Difference between revisions

From FDHwiki
Jump to navigation Jump to search
Line 104: Line 104:


=== Search function ===
=== Search function ===
To enhance the user experience and facilitate access to the data, we have implemented a search function on the web page. This function allows users to quickly and easily locate specific communities by searching for their names. When a user enters a search query, the system returns a list of all possible matches, along with any relevant information about each community. This search function is a convenient and efficient way for users to access the data and to find the information that they are looking for. It is particularly useful for users who are familiar with the names of specific neighborhoods and want to quickly locate them in the dataset.


[[File: Search jerusalem.png|600px|center|thumb|Search function]]
[[File: Search jerusalem.png|600px|center|thumb|Search function]]

Revision as of 22:54, 21 December 2022

Introduction

The goal of this project is to study the construction of neighborhoods in Jerusalem over time. We collect information about Jerusalem neighborhoods from four different sources, including the book Jerusalem and its Environs, the Wikipedia category Neighbourhoods of Jerusalem, the Wikidata list of places in Jerusalem and Wikidata entity Neighborhood of Jerusalem. These sources provide us with information about Jerusalem neighborhoods with different focuses. We merge this content through matching methods and present it on a carefully organized and visualized web page. With various features our webpage provides, users can get a clear picture of the Jerusalem community in our map interface. At the same time, the fuzzy matching approach we use can be easily applied to other cities where there are multiple sources of information, showing the potential for reuse in the future.

Motivation

Jerusalem

The study of the geography and chronology of neighborhoods in Jerusalem can provide valuable insights into the city's past and present. The location of a neighborhood can often reflect the social, economic, and political forces that shaped it, as well as the cultural traditions and values of its residents.

Examining the founding year of a neighborhood can also provide insight into the city's history and development. Visualizing the location and founded year of neighborhoods in Jerusalem can be a powerful tool for understanding the city's past and present. By mapping and analyzing these data, it is possible to gain a deeper understanding of the cultural, social, and economic dynamics of different neighborhoods and the forces that have shaped them.

A city with such a rich and varied history as Jerusalem has many different accounts of it. These accounts from various sources are an important basis when studying it. How to integrate the information from these sources is also one of the focuses of our research.

Existing interactive maps about Jerusalem neighborhoods usually do not include information about the neighborhoods that once existed, nor do they contain information about when the neighborhoods were built. Therefore, our work is of great importance in the study of the history of the Jerusalem community.

Deliverables

  • OCR results of Development of Jerusalem neighborhoods information from Jerusalem and its Environs.
  • Crawler results from Wikipedia category Neighbourhoods of Jerusalem, Wikidata list of places in Jerusalem and Wikidata entity Neighborhood of Jerusalem.
  • Integrated database with multiple information sources after perfect matching and fuzzy matching.
  • An interactive and user-friendly website showing the changes in neighborhoods of Jerusalem, which contains:
    • A timeline page that illustrates the evolution of the construction of neighborhoods in Jerusalem over time.
    • An inhabitant page and an initiative that respectively show the inhabitants and initiative information about each neighborhood.
    • A dedicated page that contains relevant information for each neighborhood.
    • A search function that enables users to search for neighborhoods by name.

Methodology

Data collection

OCR method for paper book

Jerusalem and its Environs

Jerusalem and its Environs is a comprehensive book written by Ruth Kark in 2001 that provides in-depth information about the development and history of Jerusalem neighborhoods throughout different time periods. In order to extract relevant data from the book for our study, we utilize OCR (Optical Character Recognition) technology to scan the text and also conducte manual proofreading to ensure the accuracy of the data. This is necessary due to the presence of punctuations and annotations in some community names, which can sometimes cause issues with OCR technology.

The data from the book includes important information about each neighborhood, such as its name, year of foundation, number of inhabitants, and initiating entity. In some cases, additional remarks are also included. This information is particularly valuable for our study, as it allows us to analyze the evolution and growth of different neighborhoods over time.

Information from the book
OCR result of the book

One of the key aspects of our study is the year of foundation for each neighborhood. This information is crucial for understanding the timeline of development in Jerusalem. However, it is important to note that not every neighborhood in the book has a precise year of construction listed. For neighborhoods where the year of foundation is given as an interval (e.g., "1894-1896") or where the construction year is ambiguous (e.g., "1900s" or "end of Mandate"), we choose the first year of the period for further analysis. This allows us to provide a consistent basis for comparison between neighborhoods and to accurately track the evolution of Jerusalem over time.

Crawler method for Wikipedia and Wikidata information

Wikipedia sources

In order to gather data from the internet for our study, we implemente a web crawler using a combination of tools and technologies, including the API of Wikidata, the requests package, and the BeautifulSoup parser package. Our crawler is primarily focused on retrieving data from Wikipedia and Wikidata, which are both valuable sources of information about neighborhoods in Jerusalem.

For data on Wikipedia, we are primarily interested in collecting the coordinates of each neighborhood. This information is useful for mapping the locations of different communities and understanding their spatial relationships within the city.

For data on Wikidata, we focus particularly on neighborhoods that have an "inception" attribute, which serves as another source for the founding year of the neighborhoods. Although the data is limited, this information can be counted as an additional source to help us understand the timeline of development in Jerusalem and to track the evolution of different communities over time.

It is important to note that there is often a significant amount of overlap in the information that we collect from the internet. In order to create a cohesive and accurate dataset, we clean and match the data from different sources.

Data matching

Data matching workflow

Data matching is the process where we identify and combine data from multiple sources in order to create a more complete and accurate dataset.

Preprocessing data from Wikipedia sources

To deal with the overlap within two Wikipedia sources, we first identify neighborhoods with identical names and merge them. We also find out whether the two neighborhoods with different names are actually the same community by determining whether they have links that can redirect to each other. In this process, we retain information about the source of the data. The pre-processed neighborhoods are used for matching with neighborhoods from the book.

Matching data from the book and Wikipedia

Perfect matching

For neighborhoods where the name in the book is the same as the name in Wikipedia, we refer to this situation as a perfect match. This means that the information about these communities complements each other in the two sources of information. In these cases, we merge the information from the two sources together to create a more comprehensive dataset.

As a result, 10.3% (17 out of 165) neighborhoods from the book are perfectly matched.

Fuzzy matching

For the remaining neighborhoods, we develop a method of fuzzy matching. We use the fuzzywuzzy library from python to fuzzy match communities from the book and wikipedia. Fuzzywuzzy uses Levenshtein distance to calculate the similarity between two strings. For each neighborhood, we choose 3 alternatives and then sort the scores according to the match. For those scores that reach a set threshold 70, we consider them to be successfully fuzzy matched. Additionally, In addition, since it is difficult for us to fully approve the results of fuzzy matching, we performe manual screening for these results as well.

As a result, 10.9% (18 out of 165) neighborhoods from the book are fuzzily matched with neighborhoods from the Wikipedia.

Database establishment

In this project, we employ MySQL as the database management system. The database is established by installing MySQL on the system and creating a new database. Subsequently, the structure of the database is defined through the creation of tables and the specification of the columns within those tables. The preprocessed data is imported into the tables using the LOAD DATA INFILE statement. Finally, the database is accessed from Python code via the MySQL connector and mysql.connector.connect() function. Throughout the course of the project, SQL queries and the MySQL connector are utilized to retrieve and manipulate data from the database as required.

Our database is currently not accessible online as we do not have a server to host it. This means that the database can only be accessed and modified on the local system where it is installed. User can easily reproduce our database following the instruction on our GitHub page.

Webpage development

Based on the above processed information, we create an interactive website.

Timeline map

Our first map is an interactive timeline map that allows users to visualize the evolution of Jerusalem neighborhoods over time. By dragging the timeline at the bottom of the screen, users can see how the construction of different communities has changed over the years. To represent the data on the map, we use different colored dots to indicate the availability of build time information for each neighborhood. Purple dots are used to mark neighborhoods that lack build time information, while blue dots are used to mark neighborhoods that have build times that have been successfully obtained from the book, Wikipedia, or Wikidata.

This interactive map is a useful tool for understanding the development and growth of different neighborhoods in Jerusalem, and for tracking the changes that have occurred over time. It allows users to easily explore the data and to gain insights about the history of the city. The use of different colors to indicate the availability of build time information is a clear and effective way of communicating this information to users, and helps to highlight areas where more research may be needed.

Timeline map

Inhabitants and initiative map

Our second and third map are an interactive tool that allows users to explore the locations of neighborhoods in Jerusalem based on their inhabitants and initiative. By using this map, users can gain insights about the demographic makeup of the city and understand the spatial patterns of inhabitants and initiative distribution. This map is particularly useful for researchers or policymakers who are interested in understanding the demographics of different neighborhoods in Jerusalem. It provides a clear and intuitive way of visualizing this information, and enables users to customize their view of the data by choosing which communities to display on the map.

Inhabitants map
Initiative map


Jerusalem neighborhoods list

On this page, we present all the neighborhoods in a list format. Users can click into a particular screen to see all the information about a neighborhood, including names, inhabitants, wikipedia links, etc.

Jerusalem neighborhoods list
Single neighborhood page

Search function

To enhance the user experience and facilitate access to the data, we have implemented a search function on the web page. This function allows users to quickly and easily locate specific communities by searching for their names. When a user enters a search query, the system returns a list of all possible matches, along with any relevant information about each community. This search function is a convenient and efficient way for users to access the data and to find the information that they are looking for. It is particularly useful for users who are familiar with the names of specific neighborhoods and want to quickly locate them in the dataset.

Search function

Result assessment

As a significant portion of our research involves visualizing data, our evaluation of the results is based on our data matching results.

Limitations and Further Work

Limitations

  • Our database only contains the founding year of each neighborhood, and does not include the termination year. As a result, all the neighborhoods in our database are displayed on the map, leading to a cluttered appearance. If we had access to the termination year of each neighborhood, we could simplify and improve the clarity of our timeline map.
  • Many neighborhoods from the book are not listed on Wikipedia. This may be due to the disappearance of some neighborhoods or the lack of notability for a Wikipedia page. As a result, we are unable to obtain the coordinates of these neighborhoods and include them on the maps. If we had access to additional historical documents, we could better handle our data from the book.

Further Work

Obtaining more resources

  • We could potentially acquire more resources from both the internet and books to expand the scope of our source material. For example, the primary source for the founding years is our reference book, with a small amount of additional data from Wikipedia and Wikidata. However the data on Wikipedia and Wikidata is very scattered and it is difficult to get all the detailed results from one crawler. Therefore our data is not complete. We have included a link to Wikipedia in the detailed page, and in the future we can try to get more information from Wikidata to make the dataset more complete.

More percise matching method

  • Currently, we are making matches based on the names and redirect links of the neighborhoods and manually reviewing the top substitutions according to their scores. In the future, if we could obtain more priori knowledge about Jerusalem, we could make better matching.

Project Plan and Milestones

Date Task Completion
By Week 3
  • Brainstorm project ideas.
  • Prepare slides for initial project idea presentation.
By Week 4
  • Organize the Jerusalem neighborhood information from the book into csv files by OCR.
  • Conduct manual review and adjust formats.
By Week 5
  • Get neighborhood information on Wikipedia through crawlers, including names, links, and coordinates.
By Week 6
  • Merge the data get from wikipedia different website.
  • Extract the same neighborhoods in both book and wikipedia.
By Week 7
  • Start working on webpages.
  • Decide to use GitHub pages and bootstrap as our output methods and learn the basic concepts.
By Week 8
  • Use fuzzy matching method to link information from the book and Wikipedia.
  • Work on webpage: use leaflet to present maps.
By Week 9
  • Transfer data into usable format for HTML.
  • Combine the front-end webpage and back-end data.
  • Create our first demo webpage.
By Week 10
  • Fill in information on wiki.
  • Get prepared for the midterm presentation.
By Week 11
  • Get neighborhood information on Wikidata through crawlers, including names, links, and establishing time.
  • Merge the information from Wikidata to existing data.
  • Find out a way to deal with duplicated data and extract results from fuzzy matching.
By Week 12
  • Implement searching function on the website.
  • Create a page to list the information on the website.
  • Adding information and adjust the website.
By Week 13
  • Create pages for inhabitants and initiative features.
  • Create Github Pages for our webpage.
By Week 14
  • Complete the Wiki page.
  • Refine the visualization of our webpage.
By Week 15
  • Final presentation.

Github Repository

https://github.com/WayerLiu/fdh_jerusalem.github.io