[Liblas-commits] r1172 - trunk/apps
liblas-commits at liblas.org
liblas-commits at liblas.org
Sun Apr 5 12:17:15 EDT 2009
Author: hobu
Date: Sun Apr 5 12:17:15 2009
New Revision: 1172
URL: http://liblas.org/changeset/1172
Log:
add option to print the WKT of the SRS
Modified:
trunk/apps/lascommon.c
trunk/apps/lasinfo.c
Modified: trunk/apps/lascommon.c
==============================================================================
--- trunk/apps/lascommon.c (original)
+++ trunk/apps/lascommon.c Sun Apr 5 12:17:15 2009
@@ -198,6 +198,8 @@
void print_point(FILE *file, LASPointH point) {
+ LASColorH color = NULL;
+
fprintf(file, "---------------------------------------------------------\n");
fprintf(file, " X: \t\t%.6f\n",
@@ -234,11 +236,18 @@
fprintf(file, " Classification:\t%d\n",
LASPoint_GetClassification(point)
);
+ fprintf(file, " Point Source ID:\t%d\n",
+ LASPoint_GetPointSourceId(point)
+ );
+
+ color = LASPoint_GetColor(point);
fprintf(file, " Color:\t%d %d %d\n",
- LASColor_GetRed(LASPoint_GetColor(point)),
- LASColor_GetGreen(LASPoint_GetColor(point)),
- LASColor_GetBlue(LASPoint_GetColor(point))
+ LASColor_GetRed(color),
+ LASColor_GetGreen(color),
+ LASColor_GetBlue(color)
);
+ LASColor_Destroy(color);
+
}
void print_point_summary(FILE *file, LASPointSummary* summary, LASHeaderH header) {
@@ -376,13 +385,14 @@
}
}
-void print_header(FILE *file, LASHeaderH header, const char* file_name, int bSkipVLR) {
+void print_header(FILE *file, LASHeaderH header, const char* file_name, int bSkipVLR, int bWKT) {
char *pszSignature = NULL;
char *pszProjectId = NULL;
char *pszSystemId = NULL;
char *pszSoftwareId = NULL;
char *pszProj4 = NULL;
+ char *pszWKT = NULL;
char *pszVLRUser = NULL;
char *pszVLRDescription = NULL;
@@ -407,6 +417,7 @@
pSRS = LASHeader_GetSRS(header);
pszProj4 = LASSRS_GetProj4(pSRS);
+ pszWKT = LASSRS_GetWKT(pSRS);
pGTIF = LASSRS_GetGTIF(pSRS);
nVLR = LASHeader_GetRecordsCount(header);
@@ -494,6 +505,7 @@
#ifdef HAVE_LIBGEOTIFF
if (pGTIF) GTIFPrint((GTIF*)pGTIF, 0, 0);
#endif
+ if (bWKT) { fprintf(file, pszWKT);fprintf(file, "\n");}
if (nVLR && !bSkipVLR) {
fprintf(file, "\n---------------------------------------------------------\n");
@@ -520,16 +532,17 @@
LASVLR_Destroy(pVLR);
pVLR = NULL;
- free(pszVLRUser);
- free(pszVLRDescription);
+ LASString_Free(pszVLRUser);
+ LASString_Free(pszVLRDescription);
}
}
- free(pszSignature);
- free(pszProjectId);
- free(pszSystemId);
- free(pszSoftwareId);
- free(pszProj4);
+ LASString_Free(pszSignature);
+ LASString_Free(pszProjectId);
+ LASString_Free(pszSystemId);
+ LASString_Free(pszSoftwareId);
+ LASString_Free(pszProj4);
+ LASString_Free(pszWKT);
}
void repair_header(FILE *file, LASHeaderH header, LASPointSummary* summary) {
Modified: trunk/apps/lasinfo.c
==============================================================================
--- trunk/apps/lasinfo.c (original)
+++ trunk/apps/lasinfo.c Sun Apr 5 12:17:15 2009
@@ -25,7 +25,7 @@
LASPointSummary* SummarizePoints(LASReaderH reader);
void print_point_summary(FILE *file, LASPointSummary* summary, LASHeaderH header);
-void print_header(FILE *file, LASHeaderH header, const char* file_name, int bSkipVLR);
+void print_header(FILE *file, LASHeaderH header, const char* file_name, int bSkipVLR, int bWKT);
void usage()
{
@@ -84,6 +84,7 @@
int use_stdin = FALSE;
int update_return_counts = FALSE;
int skip_vlr = FALSE;
+ int wkt = FALSE;
char *system_identifier = NULL;
char *generating_software = NULL;
@@ -185,7 +186,11 @@
else if (strcmp(argv[i],"--skip_vlr") == 0 || strcmp(argv[i],"--no_vlr") == 0)
{
skip_vlr = TRUE;
- }
+ }
+ else if (strcmp(argv[i],"--wkt") == 0)
+ {
+ wkt = TRUE;
+ }
else if (i == argc - 1 && file_name == NULL)
{
file_name = argv[i];
@@ -220,7 +225,7 @@
exit(1);
}
- print_header(stdout, header, file_name, skip_vlr);
+ print_header(stdout, header, file_name, skip_vlr, wkt);
if (change_header) {
if (system_identifier) {
More information about the Liblas-commits
mailing list