Comments (5)
Nice. Any ideas on when 2.0 will be released?
I've been thinking about the node-gdal / node-ogr issue quite a bit the last few days after going down the gyp rabbit hole (and discovering how gcore depends partly on both raster and vector features). I hadn't seen that link though. If the GDAL crew is considering merging the two, I don't see why not to do the same with binding. It saves the hassle of duplicating the GDAL source in two different repos (or splitting it out so that node-ogr and node-gdal can share it).
The gyp build currently works for Linux (precise), OSX, and Windows. It seems to run well and tie in nicely with the binding build, but if we want to gut it at some point in favor of GDAL's makefile setup, I'm all for that.
from node-gdal.
Nice. Any ideas on when 2.0 will be released?
No, but /cc @rouault who will have a sense. I started taking a closer look at the changes yesterday as I got Mapnik building against master gdal: mapnik/mapnik#2259. They are fairly minor, so it seems pretty doable actually to target both GDAL 2.0 and previous. My first read of the RFC gave me the incorrect sense that the changes were major in the sense that you'd have difficulty targeting both versions.
I've been thinking about the node-gdal / node-ogr issue quite a bit the last few days
Yes, I'm +1 still on merging node-gdal and node-ogr for the following reasons:
- Less work: maintain one thing
- Like you say: for gyp/binaries packaged with node-pre-gyp, less size to download
- This would dodge the scary situation where node-gdal and node-ogr both call GDAL's global register functions and things crash or experience thread deadlocking. I don't have any hard evidence of this yet, but I've seen how these two global statics in mapnik have caused bad behavior when two node-mapnik installations end up the the node_modules tree: basically font registration breaks.
- Possibility for cleaner, more opinionated API's in the future that might do cool stuff with both vectors and rasters.
So, my takehome is:
- node-gdal should suck in node-ogr
- GDAL master should be sucked into the gyp build
- This will allow the
GDALOpenEx
API to start being targeted.
from node-gdal.
The gyp build currently works for Linux (precise), OSX, and Windows. It seems to run well and tie in nicely with the binding build.
Cool very valuable thing to have working - did'nt even consider this could be pulled off :) One question: the --with-threads
option is pretty critical to build GDAL with. Any idea if that gets respected in your gyp build? Answered my own question: it is respected:
but if we want to gut it at some point in favor of GDAL's makefile setup, I'm all for that.
I've hacked a bunch at GDAL's makefile setup to limit the # of drivers it builds to save space. Most recently with this I'm down to an 8.3 MB libgdal.a
. This along with header files gets posted to the Mapnik SDK tarballs at http://mapnik.s3.amazonaws.com/index.html?path=dist/dev/ each commit to mapnik-packaging. One possibility would be to have the mapnik-packaging scripts post just the GDAL stuff and then have the node-gdal build pull down a binary libgdal.a for each platform. I've been working with @BergWerkGIS to offer binary tarballs of minimal gdal for windows as well, scripted on appveyor.
from node-gdal.
GDAL and OGR are moderately intertwingled already. For example, the MBTiles (raster) driver requires OGR's spatiallite (vector) features. I made Fiona and Rasterio (the Python analogs of node-ogr and node-gdal) different packages because I'm of the pay only for what you eat camp, but sometimes the separation seems a little pointless. I'm +1 on combining.
My $.02 on interface compatibility: let's make the interface we want for ourselves now and hide the differences between GDAL 1.x and GDAL 2.0. If we're going to vendorize GDAL anyway and not use the system one, we're completely free to do this. The GDAL and OGR APIs are for C programmers, and not APIs we necessarily want to surface for Javascript.
from node-gdal.
Reviewed this ticket and closing as I think we're all good here. Agree 100% with @sgillies summary comments above. So, in summary:
- merging node-ogr into node-gdal makes sense and is already in progress (b4997cf). Details of implementation being tracked at #10 and #14.
- Targeting 2.0 is a minor issue of #ifdefs when we get there. So, I don't think we need to actually use or support GDAL 2.0/master yet.
from node-gdal.
Related Issues (20)
- polygon intersection with another geometry
- Can't open MVT for write
- gdal.Driver.create's parameter: data_type which need Integer(number) , however , Constants (GDT) : gdal.GDT_* provide string HOT 4
- Using node-gdal in electron HOT 4
- This its under other libs and can't even compile because node-pre-gyp ERROR
- DGN driver
- Node.js 14 HOT 3
- converting
- Node 16 binaries on older OS (glibc version) HOT 3
- npm install not working HOT 2
- Change the AREA_OR_POINT value
- Multi process Read Error HOT 1
- Memory Usage Overflow
- Problem with Node 17
- npm install gdal --save errors on M1 mac HOT 3
- What versions of nodejs are supported?
- Example of resolving GPS lat/long to elevation from a WGS84 TIFF HOT 15
- Get altitude/elevation from GPS coordinates HOT 1
- Add support for node 18
- Is there any release for arm64?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-gdal.