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 alsogdal_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
- ubuntu questing: pktools 2.6.7.6+ds-6build4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms