liminfo

GIS Reference

Free reference guide: GIS Reference

32 results

About GIS Reference

The GIS Reference is a comprehensive quick-reference covering the essential concepts, tools, and workflows used in Geographic Information Systems. The coordinate systems section explains EPSG:4326 (WGS 84) for GPS and GeoJSON, EPSG:3857 (Web Mercator) for web maps like Google Maps and OpenStreetMap, UTM zones (EPSG:32652 for Korea), and Korean national CRS systems including EPSG:5186 (Korea 2000 Central Belt) and EPSG:5179 (Unified Peninsula CRS used by Naver/Kakao Maps). It includes pyproj and proj4js code examples for coordinate transformation.

The analysis sections cover both vector and raster workflows in detail. Vector analysis entries explain Buffer, Clip, Spatial Join, Intersect, Union, Dissolve, and Voronoi/Thiessen polygons with QGIS menu paths, ArcGIS tool locations, and GeoPandas Python code. Raster analysis covers DEM/Hillshade visualization, Slope/Aspect computation, Reclassify operations, Zonal Statistics, NDVI band math from Sentinel-2 and Landsat imagery, and interpolation methods (IDW, Kriging, Spline) with practical use cases for site suitability and environmental analysis.

The data formats section documents Shapefile (.shp/.shx/.dbf/.prj) limitations and encoding issues, GeoJSON (RFC 7946) coordinate conventions, GeoTIFF with Cloud Optimized (COG) support, GeoPackage (.gpkg) as the modern Shapefile replacement, OGC web services (WMS/WFS/WMTS), and KML/KMZ for Google Earth. The tools section covers QGIS Processing Toolbox and PyQGIS scripting, ArcGIS Pro Geoprocessing and ArcPy, georeferencing with GCP-based polynomial/TPS transforms, digitizing workflows, GDAL/OGR command-line operations, Print Layout map production, and DEM-based watershed analysis.

Key Features

  • Coordinate system reference covering EPSG:4326 (WGS84), EPSG:3857 (Web Mercator), UTM zones, Korean EPSG:5185-5188 belt system, and EPSG:5179 unified CRS with Proj4 definitions
  • Vector analysis workflows for Buffer, Clip, Spatial Join, Intersect, Union, Dissolve, and Voronoi with QGIS/ArcGIS menu paths and GeoPandas Python code
  • Raster analysis operations including DEM Hillshade, Slope/Aspect, Reclassify, Zonal Statistics, NDVI computation, and IDW/Kriging/Spline interpolation
  • Spatial data format comparison: Shapefile limitations (10-char fields, 2GB limit) vs GeoPackage advantages, plus GeoJSON, GeoTIFF/COG, and KML/KMZ details
  • GDAL/OGR command-line reference for format conversion (ogr2ogr), CRS reprojection (gdalwarp), raster clipping with vector masks, and mosaic operations
  • QGIS Processing Toolbox guide with batch processing, PyQGIS scripting, and GRASS/SAGA integration for advanced spatial analysis
  • Georeferencing and digitizing workflows covering GCP placement, polynomial/Thin Plate Spline transforms, snapping settings, and vertex editing tools
  • Watershed analysis pipeline using DEM Fill, Flow Direction (D8), Flow Accumulation, catchment delineation, and Strahler stream ordering

Frequently Asked Questions

What is the difference between EPSG:4326 (WGS84) and EPSG:3857 (Web Mercator)?

EPSG:4326 is a geographic coordinate system using degrees (latitude/longitude) on the WGS84 ellipsoid, used by GPS receivers and GeoJSON. EPSG:3857 is a projected coordinate system in meters using Pseudo-Mercator projection, the standard for web maps (Google Maps, OpenStreetMap, Bing Maps). EPSG:3857 cannot represent latitudes beyond +/-85.06 degrees and has increasing area/distance distortion toward the poles. Use EPSG:4326 for data storage and EPSG:3857 for web tile display.

Which Korean coordinate system should I use for GIS projects in South Korea?

For projects covering Seoul and the central region, use EPSG:5186 (Korea 2000 Central Belt, central meridian 127 degrees E). The belt system includes West (EPSG:5185, 125 degrees E), Central (EPSG:5186, 127 degrees E), East (EPSG:5187, 129 degrees E), and East Sea (EPSG:5188, 131 degrees E). For projects spanning the entire Korean Peninsula, use EPSG:5179 (Unified CRS, central meridian 127.5 degrees E, scale factor 0.9996), which is the system used internally by Naver Map and Kakao Map.

How do I convert coordinates between EPSG:4326 and Korean CRS using Python?

Use the pyproj library: from pyproj import Transformer; t = Transformer.from_crs("EPSG:4326", "EPSG:5186", always_xy=True); x, y = t.transform(126.978, 37.566). For JavaScript, use proj4js: proj4.defs("EPSG:5186", "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs"); const [x, y] = proj4("EPSG:4326", "EPSG:5186", [126.978, 37.566]).

What is the difference between Clip, Intersect, and Spatial Join in vector analysis?

Clip trims the input layer geometry to match the overlay boundary, keeping only the input layer attributes. Intersect extracts the overlapping area between two layers and combines attributes from both. Spatial Join links attributes from one layer to another based on spatial relationships (intersects, contains, within, nearest) without modifying geometry. In GeoPandas: gpd.clip() for Clip, gpd.overlay(how="intersection") for Intersect, and gpd.sjoin() for Spatial Join.

How do I compute NDVI from satellite imagery in GIS?

NDVI = (NIR - Red) / (NIR + Red). In QGIS Raster Calculator: ("nir@1" - "red@1") / ("nir@1" + "red@1"). For Sentinel-2, Red is Band 4 and NIR is Band 8 (both at 10m resolution). Values range from -1.0 to 1.0: negative values indicate water/built structures, 0.0-0.2 is bare soil, 0.2-0.4 is grassland/cropland, 0.4-0.6 is shrubs, and 0.6-1.0 indicates healthy forest.

Why should I use GeoPackage instead of Shapefile?

GeoPackage (.gpkg) is an SQLite-based OGC standard that solves key Shapefile limitations: no 10-character field name restriction, no 2GB file size limit, multiple layers in a single file, mixed geometry types supported, UTF-8 by default, and transaction/index support. Convert with ogr2ogr -f GPKG output.gpkg input.shp or in Python with gdf.to_file("output.gpkg", driver="GPKG", layer="buildings"). Shapefile remains widely used for legacy compatibility but GeoPackage is the recommended modern alternative.

How do I perform watershed analysis from a DEM?

Follow this five-step pipeline: (1) Fill sinks to remove artificial depressions, (2) Calculate Flow Direction using the D8 algorithm that assigns each cell one of eight compass directions, (3) Compute Flow Accumulation counting upstream cells draining to each cell, (4) Extract streams by applying a threshold to accumulation values, (5) Delineate watersheds from pour points. In QGIS use GRASS r.watershed, in ArcGIS use the Hydrology toolset. ArcPy: arcpy.sa.Fill(), arcpy.sa.FlowDirection(), arcpy.sa.FlowAccumulation(), arcpy.sa.Watershed().

What are the key GDAL/OGR commands for geospatial data conversion?

For vector conversion: ogr2ogr -f "GeoJSON" out.json input.shp or ogr2ogr -f "GPKG" out.gpkg input.shp. For CRS reprojection: ogr2ogr -t_srs EPSG:4326 out.shp in.shp (vector) or gdalwarp -s_srs EPSG:5186 -t_srs EPSG:4326 input.tif output.tif (raster). For raster clipping with a vector mask: gdalwarp -cutline boundary.shp -crop_to_cutline input.tif output.tif. Use gdalinfo and ogrinfo -al -so for metadata inspection.