Coordinate MapReprojector::reprojectFromWgs84(const Coordinate& c, shared_ptr<OGRSpatialReference> srs) { shared_ptr<OGRSpatialReference> wgs84(new OGRSpatialReference()); wgs84->importFromEPSG(4326); return reproject(c, wgs84, srs); }
void MapReprojector::reprojectToPlanar(shared_ptr<OsmMap> map, const OGREnvelope& env) { if (map->getProjection()->IsProjected() == false) { shared_ptr<OGRSpatialReference> srs = getInstance().createPlanarProjection(env); reproject(map, srs); } }
inline void reproject( const cv::Mat_<T>& src, const cv::Matx33d& cameraMatrix, const cv::Matx44d& cameraAffinePoseBase, const cv::Matx44d& cameraAffinePoseAlternate, float invDepth, cv::Mat_<T>& dst, cv::Mat_<uchar>& mask) { const cv::Mat m1(src); const cv::Mat m2(cameraMatrix); const cv::Mat m3(cameraAffinePoseBase); const cv::Mat m4( cameraAffinePoseAlternate); reproject( m1,m2,m3,m4, invDepth, (cv::Mat&)( dst), (cv::Mat&)(mask)); }
Options Colorization::getDefaultOptions() { Options options; Option x("x_dim", std::string("X"), "Dimension name to use for 'X' data"); Option y("y_dim", std::string("Y"), "Dimension name to use for 'Y' data"); pdal::Option red("dimension", "Red", ""); pdal::Option b0("band",1, ""); pdal::Option s0("scale", 1.0f, "scale factor for this dimension"); pdal::Options redO; redO.add(b0); redO.add(s0); red.setOptions(redO); pdal::Option green("dimension", "Green", ""); pdal::Option b1("band",2, ""); pdal::Option s1("scale", 1.0f, "scale factor for this dimension"); pdal::Options greenO; greenO.add(b1); greenO.add(s1); green.setOptions(greenO); pdal::Option blue("dimension", "Blue", ""); pdal::Option b2("band",3, ""); pdal::Option s2("scale", 1.0f, "scale factor for this dimension"); pdal::Options blueO; blueO.add(b2); blueO.add(s2); blue.setOptions(blueO); pdal::Option reproject("reproject", false, "Reproject the input data into the same coordinate system as the raster?"); options.add(x); options.add(y); options.add(red); options.add(green); options.add(blue); options.add(reproject); return options; }
Options ColorizationFilter::getDefaultOptions() { Options options; pdal::Option red("dimension", "Red", ""); pdal::Option b0("band",1, ""); pdal::Option s0("scale", 1.0f, "scale factor for this dimension"); pdal::Options redO; redO.add(b0); redO.add(s0); red.setOptions(redO); pdal::Option green("dimension", "Green", ""); pdal::Option b1("band",2, ""); pdal::Option s1("scale", 1.0f, "scale factor for this dimension"); pdal::Options greenO; greenO.add(b1); greenO.add(s1); green.setOptions(greenO); pdal::Option blue("dimension", "Blue", ""); pdal::Option b2("band",3, ""); pdal::Option s2("scale", 1.0f, "scale factor for this dimension"); pdal::Options blueO; blueO.add(b2); blueO.add(s2); blue.setOptions(blueO); pdal::Option reproject("reproject", false, "Reproject the input data into the same coordinate system as " "the raster?"); options.add(red); options.add(green); options.add(blue); options.add(reproject); return options; }
static void EndElement(const xmlChar *name, struct osmdata_t *osmdata) { if (xmlStrEqual(name, BAD_CAST "node")) { if (node_wanted(osmdata, osmdata->node_lat, osmdata->node_lon)) { reproject(&(osmdata->node_lat), &(osmdata->node_lon)); if( osmdata->action == ACTION_CREATE ) osmdata->out->node_add(osmdata->osm_id, osmdata->node_lat, osmdata->node_lon, &(osmdata->tags)); else if( osmdata->action == ACTION_MODIFY ) osmdata->out->node_modify(osmdata->osm_id, osmdata->node_lat, osmdata->node_lon, &(osmdata->tags)); else if( osmdata->action == ACTION_DELETE ) osmdata->out->node_delete(osmdata->osm_id); else { fprintf( stderr, "Don't know action for node %d\n", osmdata->osm_id ); exit_nicely(); } } resetList(&(osmdata->tags)); } else if (xmlStrEqual(name, BAD_CAST "way")) { if( osmdata->action == ACTION_CREATE ) osmdata->out->way_add(osmdata->osm_id, osmdata->nds, osmdata->nd_count, &(osmdata->tags) ); else if( osmdata->action == ACTION_MODIFY ) osmdata->out->way_modify(osmdata->osm_id, osmdata->nds, osmdata->nd_count, &(osmdata->tags) ); else if( osmdata->action == ACTION_DELETE ) osmdata->out->way_delete(osmdata->osm_id); else { fprintf( stderr, "Don't know action for way %d\n", osmdata->osm_id ); exit_nicely(); } resetList(&(osmdata->tags)); } else if (xmlStrEqual(name, BAD_CAST "relation")) { if( osmdata->action == ACTION_CREATE ) osmdata->out->relation_add(osmdata->osm_id, osmdata->members, osmdata->member_count, &(osmdata->tags)); else if( osmdata->action == ACTION_MODIFY ) osmdata->out->relation_modify(osmdata->osm_id, osmdata->members, osmdata->member_count, &(osmdata->tags)); else if( osmdata->action == ACTION_DELETE ) osmdata->out->relation_delete(osmdata->osm_id); else { fprintf( stderr, "Don't know action for relation %d\n", osmdata->osm_id ); exit_nicely(); } resetList(&(osmdata->tags)); resetMembers(osmdata); } else if (xmlStrEqual(name, BAD_CAST "tag")) { /* ignore */ } else if (xmlStrEqual(name, BAD_CAST "nd")) { /* ignore */ } else if (xmlStrEqual(name, BAD_CAST "member")) { /* ignore */ } else if (xmlStrEqual(name, BAD_CAST "osm")) { printStatus(osmdata); osmdata->filetype = FILETYPE_NONE; } else if (xmlStrEqual(name, BAD_CAST "osmChange")) { printStatus(osmdata); osmdata->filetype = FILETYPE_NONE; } else if (xmlStrEqual(name, BAD_CAST "planetdiff")) { printStatus(osmdata); osmdata->filetype = FILETYPE_NONE; } else if (xmlStrEqual(name, BAD_CAST "bound")) { /* ignore */ } else if (xmlStrEqual(name, BAD_CAST "bounds")) { /* ignore */ } else if (xmlStrEqual(name, BAD_CAST "changeset")) { /* ignore */ resetList(&(osmdata->tags)); /* We may have accumulated some tags even if we ignored the changeset */ } else if (xmlStrEqual(name, BAD_CAST "add")) { osmdata->action = ACTION_NONE; } else if (xmlStrEqual(name, BAD_CAST "create")) { osmdata->action = ACTION_NONE; } else if (xmlStrEqual(name, BAD_CAST "modify")) { osmdata->action = ACTION_NONE; } else if (xmlStrEqual(name, BAD_CAST "delete")) { osmdata->action = ACTION_NONE; } else { fprintf(stderr, "%s: Unknown element name: %s\n", __FUNCTION__, name); } }
void MapReprojector::reprojectToAeac(shared_ptr<OsmMap> map) { shared_ptr<OGRSpatialReference> srs = getInstance().createAeacProjection( map->calculateBounds()); reproject(map, srs); }