| 167 | |
| 168 | |
| 169 | std::string SpatialReference::getPROJJSON() const |
| 170 | { |
| 171 | OGRScopedSpatialReference poSRS = ogrCreateSrs(m_wkt, m_epoch); |
| 172 | std::string json(""); |
| 173 | if (!poSRS) |
| 174 | return json; |
| 175 | |
| 176 | #if GDAL_VERSION_NUM >= GDAL_COMPUTE_VERSION(3,1,0) |
| 177 | char *poJSON (nullptr); |
| 178 | char **papszOptions = NULL; |
| 179 | papszOptions = CSLSetNameValue( papszOptions, "INDENTATION_WIDTH", "2" ); |
| 180 | papszOptions = CSLSetNameValue( papszOptions, "SCHEMA", "" ); |
| 181 | poSRS->exportToPROJJSON(&poJSON, papszOptions); |
| 182 | if (poJSON) |
| 183 | json = std::string(poJSON); |
| 184 | CPLFree(poJSON); |
| 185 | CSLDestroy( papszOptions ); |
| 186 | #endif |
| 187 | return json; |
| 188 | } |
| 189 | |
| 190 | |
| 191 | void SpatialReference::parse(const std::string& s, std::string::size_type& pos) |