-
-
-
Tổng cộng:
-
6 Dự án được hỗ trợ bởi nguồn mở để làm giàu kỹ năng lập trình GIS của bạn - P1
(English below)
Lập trình địa không gian có thể rất khó khăn, đặc biệt là đối với một ngưới mới vào nghề trong GIS hoặc thế giới lập trình. Tuy nhiên, việc xây dựng các dự án thực hành có thể rất thú vị vì nó sẽ giúp bạn có được các kỹ năng phát triển thực tế, xây dựng danh mục đầu tư và tiếp tục cho công việc tiếp theo và bạn sẽ đưa kiến thức lý thuyết của mình vào việc phát triển các dự án tuyệt vời.
Trong bài viết này, chúng tôi trình bày sáu dự án với các công cụ, điều kiện tiên quyết và tài nguyên học tập được đề xuất sẽ giúp bạn cải thiện kỹ năng lập trình địa không gian của mình. Chúng tôi hy vọng bạn thấy chúng thú vị và hữu ích. Có sáu trong số chúng, chúng tôi khuyến khích bạn đọc từng cái một và tập trung vào việc hiểu các khái niệm cơ bản. Đôi khi, hiểu khái niệm còn quan trọng hơn mã bạn viết.
1) Công cụ chuyển đổi tập tin Vector / Raster
Công cụ:
- Web: HTML, CSS, JS, Tờ rơi, React, Turf JS, shapefileJs, v.v.
- Máy tính để bàn: Python, shapely, fiona, geopandas, ogr2ogr, pyGUI, v.v.
- API: Django / Geodjango, Node, v.v.
Điều kiện tiên quyết:
Kiến thức nền tảng của ít nhất một trong các ngôn ngữ lập trình được liệt kê ở trên. Bạn có thể học theo cách của mình bằng cách bắt tay vào các dự án được đề cập ở đây.
Tóm lược:
Một nền tảng để chuyển đổi giữa một số định dạng dữ liệu GIS vector và raster. Ví dụ: từ Esri Shapefile đến GeoJSON, GeoJSON đến topoJSON, KML đến GeoJSON, GeoTiff đến ECW, Geotiff đến COGs, PNG thành GeoTIFF, GEOTIFF sang JPEG, CSV đến Esri Shapefile, v.v.
Xây dựng một nền tảng như thế này như một dự án sẽ cải thiện đáng kể kỹ năng phát triển của bạn vì bạn sẽ thực hiện rất nhiều nghiên cứu và bạn sẽ kết hợp một số công cụ và thư viện để làm cho nó thành hình. Hãy thoải mái xây dựng nó bằng ngôn ngữ thoải mái nhất của bạn, bạn có thể có nó trên web, ứng dụng dành cho máy tính để bàn hoặc dưới dạng API, bất cứ cách nào bạn chọn, thực tế vẫn là bạn sẽ học được nhiều điều từ bài tập này.
Hướng dẫn:
2) Xây dựng một Plugin QGIS
Công cụ:
Python, QGIS, QT Designer.
Điều kiện tiên quyết:
Có kinh nghiệm làm việc với QGIS và hiểu biết về mô hình Lập trình hướng đối tượng (OOP) trong Python.
Tóm lược:
QGIS là một phần mềm không gian địa lý mã nguồn mở mạnh mẽ phổ biến. Xây dựng một plugin có thể được coi là một cách đóng góp cho Mã nguồn mở cũng như cải thiện kỹ năng lập trình python của bạn. Vì QGIS là một công cụ mã nguồn mở, bạn có thể xem cấu trúc mã của bất kỳ plugin nào và cũng có thể sửa đổi nó dựa trên yêu cầu của bạn.
Đã có rất nhiều plugin trong kho lưu trữ QGIS, hãy tìm một vấn đề hiện có mà bạn cảm thấy plugin QGIS có thể giải quyết, sau đó viết mã nó lên!
Hướng dẫn:
3) Ghi chú đánh dấu không gian
Công cụ:
- Thư viện lập bản đồ: Tờ rơi
- Phụ trợ: Django
- Cơ sở dữ liệu: PostGIS
Điều kiện tiên quyết:
Kiến thức cơ bản về Django.
Tóm lược:
Động cơ chính của dự án này là nâng cao kỹ năng web-GIS của bạn. Nếu bạn từng tìm kiếm về ý tưởng dự án phát triển web cho người mới bắt đầu, bạn có thể nhận được “Todo list” ở đâu đó trong danh sách. Nói chung, dự án danh sách việc cần làm có chức năng thêm, xem, chỉnh sửa và xóa danh sách các mục. Tương tự, bạn có thể thử tạo các chức năng tạo, đọc, cập nhật, xóa (CRUD) giống nhau cho dữ liệu không gian của mình.
Một trong những dự án ví dụ sẽ là ứng dụng ghi chú dấu trang, nơi người dùng có thể thêm ghi chú trên bản đồ. Ghi chú được thêm vào phải chứa thông tin định vị ở dạng vĩ độ và kinh độ và nó phải được lưu trữ trong cơ sở dữ liệu không gian. Ghi chú bắt buộc phải được tìm nạp từ cơ sở dữ liệu cho các mục đích trực quan hóa. Bạn có thể tìm thấy hướng dẫn để tạo chức năng này trên liên kết hướng dẫn sau. Ngoài tính năng này, bạn có thể thêm chức năng xóa và chỉnh sửa ghi chú cần thiết.
Hướng dẫn
----
6 Open Source Powered Projects to Enrich Your GIS Programming Skills - P1
Geospatial programming can be very challenging, especially for a greenhorn in the GIS or programming world. However, building hand-on projects can make it fun, as it’ll help you to gain practical development skills, build your portfolio and resume for your next job and you’ll be putting your theoretical knowledge into developing great projects.
In this article, we present six projects with suggested tools, prerequisites and learning resources that would help you to improve your geospatial programming skills. We hope you find them interesting and helpful. There are six of them,we encourage you to take them one at a time and focus on understanding the underlying concepts. Sometimes, understanding the concept is more important than the code you write.
1) Vector/Raster Files Converter
Tools:
- Web: HTML,CSS,JS,Leaflet,React,Turf JS,shapefileJs etc.
- Desktop: Python, shapely, fiona, geopandas, ogr2ogr, pyGUI etc
- API: Django/Geodjango, Node etc
Prerequisite:
Foundational knowledge of at least one of the programming languages listed above. You could learn your way up by embarking on the projects mentioned here.
Summary:
A platform to convert between several vector and raster GIS data formats. E.g from Esri Shapefile to GeoJSON, GeoJSON to topoJSON, KML to GeoJSON, GeoTiff to ECW, Geotiff to COGs, PNG to GeoTIFF, GEOTIFFs to JPEG, CSV to Esri Shapefile etc.
Building a platform like this as a project would greatly improve your development skills because you’ll be doing a lot of research and you’ll combine several tools and libraries to get it in shape. Feel free to build it in your most comfortable language, you can have it on the web, desktop application or as an API, whatever way you choose, the fact remains that you’ll learn a lot from this exercise.
Tutorials:
2) Build a QGIS Plugin
Tools:
Python, QGIS, QT Designer.
Prerequisite:
Experience working with QGIS and an understanding of Object Oriented Programming (OOP) paradigm in Python.
Summary:
QGIS is a popular powerful open source geospatial software. Building a plugin can be considered as a way of contributing to Open Source as well as improving your python programming skills. Since QGIS is an open-source tool, you can see the code structure of any plugin and also be able to modify it based on your requirement.
There are already numerous plugins in the QGIS repository, find an existing problem that you feel a QGIS plugin could solve, then code it up!
Tutorials:
3) Spatial Bookmarking Note
Tools:
- Mapping libraries: Leaflet
- Backend: Django
- Database: PostGIS
Prerequisite:
Basic knowledge of Django.
Summary:
The main motive of this project is to enhance your web-GIS skill. If you ever search about the web development project idea for beginners, you might get “Todo list” somewhere on the list. Generally, the todo list project contains the functionality to add, view, edit and delete the list of items. Similarly you can try to create the same create, read, update, delete (CRUD) functionalities for your spatial data.
One of the example projects would be a bookmark note app, where users can add the note on a map. The added note must contain the locational information in the form of latitude and longitude and it should be stored in a spatial database. The required note should be fetched from the database for visualization purposes. You can find a tutorial to create this functionality on the following tutorial link. On top of this feature, you can add the functionality to delete and edit the required note.
Tutorials
Geolink tổng hợp từ Gislounge