예제 #1
0
파일: las10_read.hpp 프로젝트: thinks/las
 //! Make point from PDRF1.
 static void
 _make_point(const public_header_block       &phb,
             const point_data_record_format1 &pdrf1,
             las::point                      &point)
 {
     point.x               = phb.x_scale_factor*pdrf1.x + phb.x_offset;
     point.y               = phb.y_scale_factor*pdrf1.y + phb.y_offset;
     point.z               = phb.z_scale_factor*pdrf1.z + phb.z_offset;
     point.r               = 0;
     point.g               = 0;
     point.b               = 0;
     point.gps_time        = pdrf1.gps_time;
     point.intensity       = pdrf1.intensity;
     point.num_returns     = num_returns(pdrf1);
     point.return_num      = return_num(pdrf1);
     point.scan_dir_flag   = scan_dir_flag(pdrf1);
     point.edge_flag       = edge_flag(pdrf1);
     point.scan_angle_rank = pdrf1.scan_angle_rank;
     point.classification  = pdrf1.classification;
 }
예제 #2
0
std::vector<Dimension> MrsidReader::getDefaultDimensions()
{
    std::vector<Dimension> output;

    Dimension x("X", dimension::Float, 8);
    x.setUUID("8c54ff0c-234f-43a2-8959-d9681ad1dea3");
    x.setNamespace(s_getName());
    output.push_back(x);

    Dimension y("Y", dimension::Float, 8);
    y.setUUID("9cee971b-2505-40cd-b7e9-f32c399afac7");
    y.setNamespace(s_getName());
    output.push_back(y);

    Dimension z("Z", dimension::Float, 8);
    z.setUUID("89dc4e36-6166-4bc8-bf95-5660657b0ea6");
    z.setNamespace(s_getName());
    output.push_back(z);

    Dimension t("Time", dimension::Float, 8);
    t.setUUID("3aea2826-4a6e-4c1b-ae27-7b2f24763ce1");
    t.setNamespace(s_getName());
    output.push_back(t);

    Dimension blue("Blue", dimension::UnsignedInteger, 2);
    blue.setUUID("f69977e3-23e8-4483-91b6-14cad981e9fd");
    blue.setNamespace(s_getName());
    output.push_back(blue);

    Dimension red("Red", dimension::UnsignedInteger, 2);
    red.setUUID("40a02a80-c399-42f0-a587-a286635b446e");
    red.setNamespace(s_getName());
    output.push_back(red);

    Dimension green("Green", dimension::UnsignedInteger, 2);
    green.setUUID("b329df2d-44f1-4f35-8993-d183dacaa1ff");
    green.setNamespace(s_getName());
    output.push_back(green);

    Dimension cls("Classification", dimension::UnsignedInteger, 1);
    cls.setUUID("ba1e2af8-6dfd-46a7-972a-ecc00f68914d");
    cls.setNamespace(s_getName());
    output.push_back(cls);

    Dimension edge("EdgeOfFlightLine", dimension::UnsignedInteger, 1);
    edge.setUUID("daed3bfc-650d-4265-93a7-d8093cbd75a0");
    edge.setNamespace(s_getName());
    output.push_back(edge);

    Dimension intensity("Intensity", dimension::UnsignedInteger, 2);
    intensity.setUUID("a43332a8-26b3-4609-a2b1-ddfda30e0565");
    intensity.setNamespace(s_getName());
    output.push_back(intensity);

    Dimension num_returns("NumberOfReturns", dimension::UnsignedInteger, 1);
    num_returns.setUUID("fa7c5d56-fb2b-4f81-9126-f183000c3cd8");
    num_returns.setNamespace(s_getName());
    output.push_back(num_returns);

    Dimension return_no("ReturnNumber", dimension::UnsignedInteger, 1);
    return_no.setUUID("e38cc121-8d26-482a-8920-c5599b2cdd19");
    return_no.setNamespace(s_getName());
    output.push_back(return_no);

    Dimension scan_angle("ScanAngleRank", dimension::UnsignedInteger, 1);
    scan_angle.setUUID("5d816875-10a5-4048-ad9d-fd3b8d065a6a");
    scan_angle.setNamespace(s_getName());
    output.push_back(scan_angle);

    Dimension scan_dir("ScanDirectionFlag", dimension::UnsignedInteger, 1);
    scan_dir.setUUID("d1054379-8bf6-4685-abfc-1f0ec37aa819");
    scan_dir.setNamespace(s_getName());
    output.push_back(scan_dir);

    Dimension ptsource("PointSourceId", dimension::UnsignedInteger, 2);
    ptsource.setUUID("be6e71af-b2f7-4107-a902-96e2fb71343f");
    ptsource.setNamespace(s_getName());
    output.push_back(ptsource);

    Dimension userdata("UserData", dimension::UnsignedInteger, 1);
    userdata.setUUID("551ca4be-cb6e-47a4-93a9-e403e9a06a8a");
    userdata.setNamespace(s_getName());
    output.push_back(userdata);

    return output;
}