Live data from Hacker News

Geospatial data science with Julia

juliaearth.github.io

11–20 of 55 posts

Re: Geospatial data science with Julia

#11

In the preface you list: - Generate high-performance code - Specialize on multiple arguments - Evaluate code interactively - Exploit parallel hardware > This list of requirements eliminates Python, R and other mainstream languages used for data science. Can you elaborate on why/how? Awesome work by the way

Python and R do not generate high performing code. At best they generate calls to high performing code.

Re: Geospatial data science with Julia

#12

I have a passion project 4x4anarchy.com that operates with a Python-MariaDB system for querying map data by latitude and longitude, transforming it into GeoJSON for map display. The website deals with sizable tables, approximately 1 GB in size. I've made extensive optimizations, relying on well-structured indexes, caching mechanisms, and query optimization to enhance performance. Given these circumstances, how might…

Interesting! I work on a very similar product. I don't know Julia well, but I definitely would suggest exploring whether PostGIS can help improve the speed of your DB queries. I'd also consider how you deliver your geospatial data to your clients -- I'm not sure GeoJSON is your best bet. Protobuf tiles might be better for your use-case (e.g. the Mapbox Vector Tiles spec).

I completely agree! It would be hard to overstate the power of PostGIS!

For anyone working with GIS data, it's absolutely worth investigating what PostGIS provides and the ease of integration to your existing application!

Re: Geospatial data science with Julia

#13

In the preface you list: - Generate high-performance code - Specialize on multiple arguments - Evaluate code interactively - Exploit parallel hardware > This list of requirements eliminates Python, R and other mainstream languages used for data science. Can you elaborate on why/how? Awesome work by the way

Python and R do not generate high performing code. At best they generate calls to high performing code.

> At best they generate calls to high performing code.

It should be noted that this is usually sufficient. But particularly for earth scale problems it can often not be.

Re: Geospatial data science with Julia

#14

In the preface you list: - Generate high-performance code - Specialize on multiple arguments - Evaluate code interactively - Exploit parallel hardware > This list of requirements eliminates Python, R and other mainstream languages used for data science. Can you elaborate on why/how? Awesome work by the way

Python and R do not generate high performing code. At best they generate calls to high performing code.

Julia is designed to seem to win arguments as best I can tell... If you complain about the need to break abstractions and the lack of general purpose application you're accused of not understanding. When you say it slow they say you can inline assembler, and when you say that's dumb why have a high level language then, they then say well you don't have to it is fast as is and everyone else is slow, and it just devolves into circular arguments. Abstractions exist in layers for reasons.

Re: Geospatial data science with Julia

#15

In the preface you list: - Generate high-performance code - Specialize on multiple arguments - Evaluate code interactively - Exploit parallel hardware > This list of requirements eliminates Python, R and other mainstream languages used for data science. Can you elaborate on why/how? Awesome work by the way

R can exploit parallel hardware just fine with Parallel, Future and other libraries like Mirai. The problem is that execution speed is going to be a bottleneck for anything large and when you reach some optimizations, maybe R is not the best language to do the job. But it depends a lot on the use case.

Re: Geospatial data science with Julia

#16
post #14

Earlier quoted context omitted.

Python and R do not generate high performing code. At best they generate calls to high performing code.

Julia is designed to seem to win arguments as best I can tell... If you complain about the need to break abstractions and the lack of general purpose application you're accused of not understanding. When you say it slow they say you can inline assembler, and when you say that's dumb why have a high level language then, they then say well you don't have to it is fast as is and everyone else is slow, and it just devolv…

You can obviously provide the same abstraction with different implementations that yield different performance characteristics. Julia provides the same level of flexibility (if not more) as Python without any of the design decisions which cause Python to be so slow. I fail to see how this is a contentious point.

Re: Geospatial data science with Julia

#17
post #14

Earlier quoted context omitted.

Python and R do not generate high performing code. At best they generate calls to high performing code.

Julia is designed to seem to win arguments as best I can tell... If you complain about the need to break abstractions and the lack of general purpose application you're accused of not understanding. When you say it slow they say you can inline assembler, and when you say that's dumb why have a high level language then, they then say well you don't have to it is fast as is and everyone else is slow, and it just devolv…

when you say Julia is slow, what are you talking about? even without any fancy tricks, normal Julia code is usually the same speed as the equivalent normal C code

Re: Geospatial data science with Julia

#18

In the preface you list: - Generate high-performance code - Specialize on multiple arguments - Evaluate code interactively - Exploit parallel hardware > This list of requirements eliminates Python, R and other mainstream languages used for data science. Can you elaborate on why/how? Awesome work by the way

Python and R do not generate high performing code. At best they generate calls to high performing code.

I used to think so, but I have a function that gets called about a billion times each and every day as new data comes in, and and takes about 0.01 seconds to evaluate (optimizaiton with nlopt). I tried to code it in c (30% speed improvement) python (twice as slow), Julia (about the same speed). Reason is that call has 5 parameters that operate on a vector of length 50 to return a value to minimize. Turns out R is pretty good at such vector calculations.

Re: Geospatial data science with Julia

#19

I have a passion project 4x4anarchy.com that operates with a Python-MariaDB system for querying map data by latitude and longitude, transforming it into GeoJSON for map display. The website deals with sizable tables, approximately 1 GB in size. I've made extensive optimizations, relying on well-structured indexes, caching mechanisms, and query optimization to enhance performance. Given these circumstances, how might…

It would depend on where most of the processing is happening.

PostGIS gives you the benefit of spatial indexes which are extremely performant.

I've seen Python GeoSpatial applications taking hours to finish processing which only took a few minutes when shifted onto PostGIS.

If you're also doing a lot of processing in Python, exploring other languages could also help. In the case of Julia you get a typed language that's also JIT compiled.

Re: Geospatial data science with Julia

#20

I have a passion project 4x4anarchy.com that operates with a Python-MariaDB system for querying map data by latitude and longitude, transforming it into GeoJSON for map display. The website deals with sizable tables, approximately 1 GB in size. I've made extensive optimizations, relying on well-structured indexes, caching mechanisms, and query optimization to enhance performance. Given these circumstances, how might…

I know you said it's a passion project, but you should probably still give the correct OSM attribution

https://osmfoundation.org/wiki/Licence/Attribution_Guideline...

Post reply on HN