• FB

Thứ Bảy, 23 tháng 6, 2018

Where do they sell fertilizers

It's a protocol I made to describe data mining techniques in agricultural applications. In this small project, the output is a map showing point locations where fertilizer distributors in Vietnam are.

To start from scratch, let's imagine how to answer some questions:


  1. Question 1: How do I get a list of fertilizer distributors in Vietnam? Automatically?
  2. Question 2: Where are they located?
  3. Question 3: Is it possible to have their contact information?
  4. Question 4: Can it be displayed in an online map with pop-up dialogbox when I click on a point?

To answer these questions, an algorithm is made with a few simple techniques:


  1. Question 1: The list can be retrieved from such a yellow pages website or an online business information website (http://trangvangvietnam.com). To make the process automatic, you'll need to use an information extraction tool (import.io or Web Data Extractor).
  2. Question 2: From their business address, you'll know where they are. You can also turn these addresses into (x,y) coordinates with a geocode tool. This tool can be Geocode Cells (mlucool) that runs as an extension within your Google Fusion Table.
  3. Question 3: Contact information can be retrieve from that yellow pages website.
  4. Question 4: With a pair of (x,y) / (lat/long) coordinates, you'll be able to make an online map using Google Fusion Table. The pop-up dialogbox showing information can be customized within your Google Fusion Table.
Simple steps to success:

1. Download/purchase and prepair tools before you start:
    1. Make sure you have an Google account to use Google Fusion Table.
    2. Make sure you run Chrome web browser.
    3. Make sure you have accessed to Google Drive and enabled Google Fusion Table.
    4. Make sure you have import.io or Web Data Extractor software.

Google  Fusion Table needs to be enabled



Web Data Extractor software

2. Access to your yellow pages website where you want to get the information. Use the search box to search for what you want. For example, in this case, you can search for "fertilizer" or "phân bón" (in Vietnamese language).


Search result for fertilizer

3. Copy the weblink from Chrome web address box.
4. Open Web Data Extractor or import.io to paste this weblink in. Then use the data mining configuration tool within any software to retrieve data in a table format.


The interface of Web Data Extractor after pasting weblink from Chrome with search keywords

The guides for extration of data from a website to a clean table can be read from the software's online manual/help. I do not copy it here for redundancy reason.

After running such batch information retrieval, you'll be able to export results into a CSV (Excel) table. It lists all fertilizer distributors in Vietnam with their contact information, addresses, telephone numbers, websites, emails....

5. Import this CSV table into your Google Fusion Table and start looking for an extention called Geocode Cells (from mlucool company).


Type in Geocode Cells from your Google Fusion extension search box and install it as an extension for Google Fusion Table


The CSV file on Google Fusion Table after being imported

6. Run Geocode Cells extension to get the (Lat/Long) coordinates from the distributor's address, see the example bellow for details.


In this example, you'll select a cell (or some cells) in Diachi column. Run the Geocode Cells like shown in the menu. If successful, a pair of (Lat/Long) coordinates will be inserted into Lat and Lng columns of your Fusion Table. In case of failure, you can modify the address so that it helps retrieve correct information.

By doing this, you'll be able to turn all verbal addresses into (x,y) or (Lat/Long) numeric data. This data will then be used to locate each record into your map.

7. Make your Google Fusion Table ready to map

I've made some small modification to the Fusion Table so that it fits the required format for mapping a Fusion Table. 



Not only re-formatting the table to make it look nice, I also changed the key field names (Lat/Lng) to (Latitude/Longitude). These two fields (Latitude and Longitude) are keywords from Google which enable the Fusion Table to recognize where you've stored (x,y) coordinate of your point.  After that, you'll be able to show the map.


Google Fusion Table's map

When you switch to "Map of Latitude" tab, you'll see your map there. Still a few steps to go before this map is laying within you website. I bet it's simple and you can make it by your own. If you want to share this map, make sure to enable it to public share. This enable people to see and interact with your map without logging onto their Google accounts. Of course, they will not be able to modify your map as long as you don't allow them. You can get these codes to embed this map into your website with blocks like this:




Now your map can be displayed as below








Bài viết này minh họa một số kỹ thuật phân tích và truy vấn dữ liệu ứng dụng trong ngành nông nghiệp. Dự án nhỏ này sẽ cho ra kết quả là một bản đồ chỉ dẫn vị trí các điểm phân phối phân bón trên toàn lãnh thổ Việt Nam cùng các thông tin đi kèm.

Để bắt đầu từ cái gọi là "tay không bắt giặc" hoặc "tay trắng", chúng ta sẽ tìm cách trả lời một số câu hỏi sau:


  1. Câu hỏi 1:  Làm thế nào mà tôi có thể lấy được một danh sách các điểm phân phối phân bón trên toàn lãnh thổ Việt Nam? Làm tự động có được không?
  2. Câu hỏi 2: Vị trí của các doanh nghiệp này ở đâu?
  3. Câu hỏi 3: Liệu có thể truy vấn được các thông tin về những doanh nghiệp này?
  4. Câu hỏi 4: Tôi có thể làm một bản đồ trực tuyến hiển thị vị trí các doanh nghiệp này, đồng thời hiển thị hộp thông tin khi nháy chuột lên vị trí một doanh nghiệp?

Để trả lời các câu hỏi này, chúng ta cần xây dựng một thuật toán với một số bước đơn giản như sau:


  1. Câu hỏi 1: Bản danh sách các doanh nghiệp có thể được lấy từ những trang web kiểu "Những trang vàng" hoặc "Thông tin doanh nghiệp" có đầy rẫy trên mạng Internet (http://trangvangvietnam.com). Để thu thập thông tin một cách tự động, chúng ta cần sử dụng hệ thống phần mềm có chức năng tự động quét và chiết xuất thông tin như import.io hoặc Web Data Extractor.
  2. Câu hỏi 2: Từ các địa chỉ doanh nghiệp thì chúng ta có lần ra họ ở đâu. Chúng ta có thể biến các địa chỉ thông thường này thành các bộ tọa độ (x,y) với công cụ Geocode (thường là miễn phí trên mạng Internet). Một trong những công cụ đó là Geocode Cells (của hãng mlucool). Đây là một module mở rộng (extension) của bảng tính Google Fusion Table. Nếu bạn không biết Google Fusion Table là gì, xin xem tiếp phía dưới.
  3. Câu hỏi 3: Các thông tin khác về doanh nghiệp có thể được lấy từ trang web "Những trang vàng" thông qua hệ thống chiết xuất thông tin.
  4. Câu hỏi 4: Với một cặp tọa độ (x,y) / (lat/long), bạn có thể hoàn toàn lập một bản đồ trực tuyến hiển thị các doanh nghiệp đó bằng công cụ Google Fusion Table. Cái này hoàn toàn miễn phí và chạy rất nhanh. Bảng thông tin pop-up khi nhấp chuột lên điểm vị trí của doanh nghiệp cũng có thể được chế biến ngay trong bảng Google Fusion Table của bạn.
Vài bước cơ bản để dẫn đến thành công:

1. Bạn cần mua hoặc tải về một số công cụ sau:
    1. Trước tiên, cần có một tài khoản của Google để sử dụng Google Fusion Table.
    2. Bạn cần phải chạy trình duyệt Chrome của Google.
    3. Bạn cần phải biết cách truy nhập vào Google Drive của mình và kích hoạt ứng dụng Google Fusion Table trong đó.
    4. Bạn cần phải có phần mềm import.io hoặc Web Data Extractor.

Bảng tính Google Fusion Table cần phải được kích hoạt như vậy



Giao diện phần mềm Web Data Extractor

2. Truy cập vào trang web "những trang vàng" như đã giới thiệu để lấy thông tin. Bạn nên sử dụng hộp tìm kiếm để tìm từ khóa "phân bón". Tất nhiên là ngoài "phân bón" thì bạn còn có thể tìm nhiều thứ khác nữa ở trên này.


Kết quả tìm kiếm cho từ khóa "phân bón"

3. Bạn nên chép (copy) địa chỉ trang web sau khi tìm kiếm từ khóa "phân bón" vào bộ nhớ.
4. Mở phần mềm Web Data Extractor hoặc import.io để dán (paste) địa chỉ trang web trong bộ nhớ vào thanh địa chỉ của chúng. Sau đó sử dụng các bước truy vấn dữ liệu tự động mà phần mềm đã thiết kế cho bạn để có được thông tin dưới dạng bảng số liệu.


Giao diện của phần mềm Web Data Extractor sau khi đã dán địa chỉ tìm kiếm từ trình duyệt với từ khóa tìm kiếm

Hướng dẫn sử dụng các phần mềm truy vấn thông tin có thể được học trên mạng hoặc trong phần hướng dẫn của phần mềm. Các hướng dẫn này sẽ không được mô tả tại đây vì có lẽ không cần thiết lắm. Chúng tôi mặc định bạn đủ khả năng để tìm hiểu cách sử dụng các phần mềm truy vấn và chiết xuất thông tin này.

Sau khi thực hiện các tác vụ truy vấn và chiết xuất thông tin, bạn sẽ xuất kết quả ra một tập tin có định dạng CSV (Excel). Tập tin này liệt kê các thông tin về doanh nghiệp, địa chỉ, số điện thoại, trang web, email.... của từng doanh nghiệp có trong kết quả truy vấn.

5. Nhập tập tin CSV vào Google Fusion Table của bạn và bắt đầu tìm kiếm một tiện ích mở rộng có tên là Geocode Cells (của hãng mlucool ). Tiện ích này cho phép bạn biến các địa chỉ thông thường thành cặp tọa độ (x,y) xác định vị trí của doanh nghiệp theo địa chỉ đó.


Nhập từ khóa "Geocode Cells" trên hộp tìm kiếm của Google Fusion và cài đặt tiện ích này vào môi trường Google Fusion Table của bạn


Nội dung tập tin CSV file trong Google Fusion Table của bạn sau khi đã được nhập vào

6. Chạy tiện ích Geocode Cells để truy vấn cặp tọa độ (Lat/Long) từ địa chỉ của doanh nghiệp, minh họa trong hình phía dưới.


Trong ví dụ này, bạn sẽ chọn 1 hoặc nhiều ô trong cột địa chỉ doanh nghiệp Diachi. Tiếp đến chạy tiện ích Geocode Cells như các thao tác trong hình từ menu của Fusion Table. Nếu truy vấn thành công, bạn sẽ có được 1 cặp tọa độ (Lat/Long) trong 2 cột mới có tên là Lat và Lng do tiện ích tạo ra. Trong trường hợp thất bại, bạn cần sửa lại địa chỉ doanh nghiệp một chút (bỏ đi một số thông tin thừa) rồi làm lại truy vấn như vừa rồi.

Với những thao tác này, bạn sẽ tạo ra được các cặp dữ liệu (x,y) hoặc (Lat/Long) dưới dạng tọa độ số. Các cặp số liệu này sẽ được sử dụng để xây dựng bản đồ vị trí các doanh nghiệp cung cấp phân bón.

7. Xây dựng bản đồ doanh nghiệp trên Google Fusion Table 

Chúng tôi đã thay đổi và định dạng lại một chút để bảng số liệu gọn gàng và đẹp hơn, đồng thời đưa bảng về đúng chuẩn định dạng của Fusion Table. 



Cụ thể hai trường (Lat/Lng) được đổi tên thành (Latitude/Longitude). Hai trường này (Latitude và Longitude) là tên hai trường từ khóa của Google Fusion Table nhằm giúp tiện ích này nhận dạng được các trường thông tin chứa tọa độ của bản ghi.  Sau bước này, bạn đã sẵn sàng để xem kết quả bản đồ.


Google Fusion Table's map

Khi bật sang thẻ "Map of Latitude", bạn sẽ thấy bản đồ của mình. Bước tiếp theo là kỹ thuật nhúng bản đồ này vào trang web của bạn. Bước này rất đơn giản nhưng đòi hỏi bạn phải chia sẻ (share) bản đồ cho đông đảo người dùng (public). Điều này cho phép ngay cả không đăng nhập vào tài Google của mình, những người dùng khác vẫn được quyền xem và thao tác với bản đồ của bạn, cho dù họ không có quyền thay đổi bản đồ đó. Bạn cần copy block sau vào bộ nhớ:




Đây là bản đồ của bạn sau khi đã được nhúng vào trang web.








0 Comments:

Đăng nhận xét

Contact

Gửi tin nhắn


Adress/Địa chỉ

61 Hang Chuoi, Hai Ba Trung district, Hanoi, Vietnam
61 Hàng Chuối, Q. Hai Bà Trưng, Hà Nội, Việt Nam

Phone number

+(84) 97 892 9822

Email

dphuong@gmail.com