11#include " wkb.hpp"
2+ #include " proj.hpp"
23
34namespace ngen {
45namespace geopackage {
@@ -197,51 +198,9 @@ typename wkb::geometry wkb::read(const boost::span<const uint8_t> buffer)
197198// WKB Projection Visitor
198199// ----------------------------------------------------------------------------
199200
200- bg::srs::dpar::parameters<> wkb::get_prj (uint32_t srid) {
201- /* *
202- * EPSG 5070 and 3857 projection definitions for use with boost::geometry.
203- *
204- * @note these are required because boost 1.72.0 does not
205- * have an EPSG definition for 5070 or 3857 in boost::srs::epsg.
206- */
207- const static auto epsg5070 = bg::srs::dpar::parameters<>
208- (bg::srs::dpar::proj_aea)
209- (bg::srs::dpar::ellps_grs80)
210- (bg::srs::dpar::towgs84, {0 ,0 ,0 ,0 ,0 ,0 ,0 })
211- (bg::srs::dpar::lat_0, 23 )
212- (bg::srs::dpar::lon_0, -96 )
213- (bg::srs::dpar::lat_1, 29.5 )
214- (bg::srs::dpar::lat_2, 45.5 )
215- (bg::srs::dpar::x_0, 0 )
216- (bg::srs::dpar::y_0, 0 );
217-
218- const static auto epsg3857 = bg::srs::dpar::parameters<>
219- (bg::srs::dpar::proj_merc)
220- (bg::srs::dpar::units_m)
221- (bg::srs::dpar::no_defs)
222- (bg::srs::dpar::a, 6378137 )
223- (bg::srs::dpar::b, 6378137 )
224- (bg::srs::dpar::lat_ts, 0 )
225- (bg::srs::dpar::lon_0, 0 )
226- (bg::srs::dpar::x_0, 0 )
227- (bg::srs::dpar::y_0, 0 )
228- (bg::srs::dpar::k, 1 );
229-
230- switch (srid) {
231- case 5070 :
232- return epsg5070;
233- case 3857 :
234- return epsg3857;
235- default :
236- return bg::projections::detail::epsg_to_parameters (srid);
237- }
238- }
239-
240- // ----------------------------------------------------------------------------
241-
242201geojson::geometry wkb::wgs84::operator ()(point_t & g)
243202{
244- if (this ->srs == 4326 ) {
203+ if (this ->srs == ngen::srs::epsg::wgs84 ) {
245204 return geojson::coordinate_t (g.get <0 >(), g.get <1 >());
246205 }
247206
@@ -256,7 +215,7 @@ geojson::geometry wkb::wgs84::operator()(linestring_t& g)
256215{
257216 geojson::linestring_t h;
258217
259- if (this ->srs == 4326 ) {
218+ if (this ->srs == ngen::srs::epsg::wgs84 ) {
260219 h.reserve (g.size ());
261220 for (auto && gg : g) {
262221 h.emplace_back (
@@ -276,7 +235,7 @@ geojson::geometry wkb::wgs84::operator()(polygon_t& g)
276235{
277236 geojson::polygon_t h;
278237
279- if (this ->srs == 4326 ) {
238+ if (this ->srs == ngen::srs::epsg::wgs84 ) {
280239 h.outer ().reserve (g.outer ().size ());
281240 for (auto && gg : g.outer ()) {
282241 h.outer ().emplace_back (
@@ -309,7 +268,7 @@ geojson::geometry wkb::wgs84::operator()(multipoint_t& g)
309268{
310269 geojson::multipoint_t h;
311270
312- if (this ->srs == 4326 ) {
271+ if (this ->srs == ngen::srs::epsg::wgs84 ) {
313272 h.reserve (g.size ());
314273 for (auto && gg : g) {
315274 h.emplace_back (
@@ -330,7 +289,7 @@ geojson::geometry wkb::wgs84::operator()(multilinestring_t& g)
330289{
331290 geojson::multilinestring_t h;
332291
333- if (this ->srs == 4326 ) {
292+ if (this ->srs == ngen::srs::epsg::wgs84 ) {
334293 h.resize (g.size ());
335294 auto && line_g = g.begin ();
336295 auto && line_h = h.begin ();
@@ -352,7 +311,7 @@ geojson::geometry wkb::wgs84::operator()(multipolygon_t& g)
352311{
353312 geojson::multipolygon_t h;
354313
355- if (this ->srs == 4326 ) {
314+ if (this ->srs == ngen::srs::epsg::wgs84 ) {
356315 h.resize (g.size ());
357316 auto && polygon_g = g.begin ();
358317 auto && polygon_h = h.begin ();
0 commit comments