pkascii2img(1)

🌸 pkascii2img β€” the manual, but make it cute 🌸

okay bestie, welcome to pkascii2img(1), section 1 of the manual. It's a little program that takes a plain text grid and turns it into an actual raster image. Yes, literally. Let's get into it πŸ’–


✨ NAME ✨

pkascii2img β€” program to create raster image based on ascii file

✨ SYNOPSIS ✨

pkascii2img [-i input] [-o output] [-ot type] [-of GDALformat] [-co
            NAME=VALUE] [-dx value] [-dy value] [-ulx value] [-uly
            value] [-ct filename] [-a_srs EPSG:number] [-d description]

✨ DESCRIPTION ✨

So pkascii2img creates a raster dataset from an ASCII textfile. The textfile is in matrix format β€” rows and columns, like a little spreadsheet of vibes πŸ“Š. The dimensions in x and y are defined by the number of columns and rows respectively. Periodt.

The georeferencing can be defined by providing the options for cell size (-dx -dy), upper left position (-ulx -uly) and the projection (-a_srs). Some dataset formats can also store a description (-d) and a color table (-ct). It's giving ✨full glow-up✨ for a text file.


πŸ’… OPTIONS πŸ’…

  • -i filename, --input filename β€” input ASCII file πŸ“
  • -o filename, --output filename β€” Output image file
  • -ot type, --otype type β€” Data type for output image ({Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64}). Empty string: inherit type from input image
  • -of GDALformat, --oformat GDALformat β€” Output image format (see also gdal_translate(1)). Empty string: inherit from input image
  • -co NAME=VALUE, --co NAME=VALUE β€” Creation option for output file. Multiple options can be specified. stack 'em, bestie πŸ”₯
  • -ulx value, --ulx value β€” Upper left x value bounding box (in geocoordinates if georef is true)
  • -uly value, --uly value β€” Upper left y value bounding box (in geocoordinates if georef is true)
  • -dx value, --dx value β€” Output resolution in x (in meter)
  • -dy value, --dy value β€” Output resolution in y (in meter)
  • -ct filename, --ct filename β€” colour table in ASCII format having 5 columns: id R G B ALFA (0: transparent, 255: solid) 🌈
  • -a_srs EPSG:number, --a_srs EPSG:number β€” Override the projection for the output file
  • -d description, --description description β€” Set image description
  • -v, --verbose β€” verbose πŸ—£οΈ

πŸ¦‹ EXAMPLE πŸ¦‹

We create a 5x5 raster dataset containing all 0 values except for its center (value=1). main character pixel energy, honestly πŸ‘‘

cat input.txt

0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0

We define a pixel size of 25 by 25 m and and a projected in the European projection system ETS89/LAEA. The location of the upper left pixel is also set:

pkascii2img -i input.txt -o output.tif -of GTiff -a_srs epsg:3035 -dx 25 -dy 25 -ulx 1000000 -uly 1000000

We check the output GeoTIFF using gdalinfo:

gdalinfo output.tif

Driver: GTiff/GeoTIFF
Files: output.tif
Size is 5, 5
Coordinate System is:
PROJCS["ETRS89 / LAEA Europe",
GEOGCS["ETRS89",
DATUM["European_Terrestrial_Reference_System_1989",
SPHEROID["GRS 1980",6378137,298.2572221010042,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6258"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4258"]],
PROJECTION["Lambert_Azimuthal_Equal_Area"],
PARAMETER["latitude_of_center",52],
PARAMETER["longitude_of_center",10],
PARAMETER["false_easting",4321000],
PARAMETER["false_northing",3210000],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","3035"]]
Origin = (1000000.000000000000000,1000000.000000000000000)
Pixel Size = (25.000000000000000,-25.000000000000000)
Metadata:
AREA_OR_POINT=Area
TIFFTAG_DATETIME=2014:11:08 11:33:52
TIFFTAG_DOCUMENTNAME=output.tif
TIFFTAG_SOFTWARE=pktools 2.5.4 by Pieter Kempeneers
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 1000000.000, 1000000.000) ( 23d13' 9.44"W, 25d30'21.01"N)
Lower Left ( 1000000.000, 999875.000) ( 23d13' 8.02"W, 25d30'17.24"N)
Upper Right ( 1000125.000, 1000000.000) ( 23d13' 5.27"W, 25d30'22.72"N)
Lower Right ( 1000125.000, 999875.000) ( 23d13' 3.85"W, 25d30'18.95"N)
Center ( 1000062.500, 999937.500) ( 23d13' 6.65"W, 25d30'19.98"N)
Band 1 Block=5x5 Type=Byte, ColorInterp=Gray

and then the page hits you with gdalinfo output.tif again, and the exact same output again. not me checking twice, but okay, the manual said it twice so I'm saying it twice πŸ’€

gdalinfo output.tif

Driver: GTiff/GeoTIFF
Files: output.tif
Size is 5, 5
Coordinate System is:
PROJCS["ETRS89 / LAEA Europe",
GEOGCS["ETRS89",
DATUM["European_Terrestrial_Reference_System_1989",
SPHEROID["GRS 1980",6378137,298.2572221010042,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6258"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4258"]],
PROJECTION["Lambert_Azimuthal_Equal_Area"],
PARAMETER["latitude_of_center",52],
PARAMETER["longitude_of_center",10],
PARAMETER["false_easting",4321000],
PARAMETER["false_northing",3210000],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AUTHORITY["EPSG","3035"]]
Origin = (1000000.000000000000000,1000000.000000000000000)
Pixel Size = (25.000000000000000,-25.000000000000000)
Metadata:
AREA_OR_POINT=Area
TIFFTAG_DATETIME=2014:11:08 11:33:52
TIFFTAG_DOCUMENTNAME=output.tif
TIFFTAG_SOFTWARE=pktools 2.5.4 by Pieter Kempeneers
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 1000000.000, 1000000.000) ( 23d13' 9.44"W, 25d30'21.01"N)
Lower Left ( 1000000.000, 999875.000) ( 23d13' 8.02"W, 25d30'17.24"N)
Upper Right ( 1000125.000, 1000000.000) ( 23d13' 5.27"W, 25d30'22.72"N)
Lower Right ( 1000125.000, 999875.000) ( 23d13' 3.85"W, 25d30'18.95"N)
Center ( 1000062.500, 999937.500) ( 23d13' 6.65"W, 25d30'19.98"N)
Band 1 Block=5x5 Type=Byte, ColorInterp=Gray
ngl that's a whole lot of metadata for five little numbers. iconic behavior only 🌟

πŸ‘‘ SEE ALSO πŸ‘‘


and that's the whole thing, bestie, you ate 🫢 the manual you just read is pkascii2img(1), dated 01 January 2025 β€” so when you cite it in your homework (which you will, because you're a genius), that's the version and date to drop. bye, go make some rasters πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from