Tôi cần một thân thiện với thương mại (Giấy phép Apache, LGPL, Giấy phép Công cộng Mozilla, v.v.) Thực hiện R-tree trong Java, để thay thế Dịch vụ Web geonames cho múi giờ, như được đề xuất trong câu hỏi "Determine timezone from latitude/longitude without using web services like Geonames.org". Tôi có foundsomearound, nhưng tôi đã tự hỏi nếu ai đó đã đánh giá hoặc sử dụng chúng trong thực tế.Triển khai R-tree Java thân thiện với thương mại?
Trả lời
Trước hết hãy để tôi chỉ ra rằng nếu bạn sẽ tìm kiếm thành phố gần nhất từ các tọa độ nhất định, nó có thể không nằm trong cùng múi giờ! Những gì bạn thực sự cần, theo ý kiến của tôi, là một thông tin về nó liên kết hành chính - tối thiểu sẽ là một quốc gia, nhưng trong một số trường hợp nó thậm chí còn nhiều hơn thế, tức là nhà nước. Thông tin đó có thể được truy xuất bằng API Google Maps và sau đó tương quan với một số thông tin TZ chi tiết hơn.
có một giải pháp thay thế miễn phí cho GeoNames - EarthTools. Có một số hạn chế đối với bản thân dịch vụ (số yêu cầu, v.v.), nhưng nó vẫn tốt, được thử nghiệm và làm việc tốt cho tôi.
Thứ hai - có một giải pháp thay thế miễn phí cho GeoNames - EarthTools. Có một số hạn chế đối với bản thân dịch vụ (số yêu cầu, v.v.), nhưng nó vẫn tốt, được thử nghiệm và làm việc tốt cho tôi.
Thứ ba - nếu bạn quan tâm đến việc nhập dữ liệu vào DB, hầu hết các triển khai DB hiện tại sẽ cung cấp chỉ mục không gian địa lý mà bạn có thể sử dụng. Nếu bạn cần thông tin đó được nhúng trong ứng dụng của bạn, bạn có thể sử dụng H2Database (nhúng Java DB) với H2Spatial Ngoài ra - mặc dù tôi đã thử nó và tôi không thể khuyên bạn nên nó đầy đủ. Neo4j có triển khai chỉ mục không gian tuyệt vời
Ngoài ra, bạn có thể sử dụng Solr cho GeoSpatial searches. Thật tuyệt, thật nhanh chóng và dễ thực hiện. Tôi thực sự ở giữa quá trình di chuyển tìm kiếm DB của tôi để Solr ...
Cuối cùng nhưng không kém, bên dưới, bạn sẽ tìm thấy một số những cái tôi đã thử nghiệm một thời gian trở lại:
- JSI - LGPL
- GeoTools - LGPL, một overkill, sẽ cung cấp cho bạn nhiều hơn so với những gì bạn cần ... nhưng nó là tuyệt vời!
Có thể thêm vài đó, nhưng những cái tôi đã thử nghiệm cho đến nay ...
Cảm ơn câu trả lời. Tôi tìm thấy EarthTools khi tôi đang nghiên cứu, nhưng điều làm tôi băn khoăn là "Việc sử dụng các dịch vụ này là * hiện tại * miễn phí". Đây là một stopper hiển thị cho tôi, vì tôi cần biết rằng giải pháp sẽ vẫn miễn phí vô thời hạn. –
Tôi sẽ đi với Solr hoặc GeoTools sau đó - cả hai đều tuyệt vời. –
https://github.com/rweeks/util/blob/master/src/com/newbrightidea/util/RTree.java - thực hiện LGPL của R-Tree bởi Russ tuần. Nó trông rất đơn giản và rõ ràng và không phụ thuộc vào các thư viện bên ngoài.
http://www.mischiefblog.com/?p=171 http://www.mischiefbox.com/blog/uploads/rtree.jar LGPL triển khai R-Tree của Chris Jones. Một giải pháp đơn giản và rõ ràng khác.
http://www.khelekore.org/prtree/ CPL 1.0 thực hiện ưu tiên RTree bởi Robert Olofsson
http://jsi.sourceforge.net/ LGPL - Dự án nhằm mục đích duy trì một hiệu suất cao Java phiên bản của thuật toán lập chỉ mục không gian RTree.
RTree đơn giản lớp Java được tạo ra bởi tôi: https://github.com/hadmir/rtree/blob/master/RTree.java
Tất cả các đối tượng được lưu trữ bên trong hai int [] mảng, vì vậy nó là rất dễ dàng để tồn tại (nộp). Ngoài ra, thực tế là việc thêm các rects mới không tạo ra bất kỳ đối tượng nào có nghĩa là bạn có thể chèn hàng triệu hình chữ nhật vào RTree và JVM sẽ không cháy trong ngọn lửa. Điều này rất hữu ích cho các dự án địa lý, nơi mà số lượng đối tượng thường rất lớn.
Chỉ hình chữ nhật 2D được lưu trữ (vì vậy, đối với đối tượng phức tạp bạn cần tìm hình chữ nhật bị ràng buộc). Truy vấn trả về tất cả các rects (IDs of rects) giao nhau hoặc chồng chéo với "hình chữ nhật truy vấn".
- 1. Sử dụng Java Thương mại
- 2. Giấy phép nguồn mở thân thiện với công ty
- 3. Nhà phát triển thân thiện với hệ thống ERP
- 4. Giỏ hàng thương mại điện tử tốt nhất cho nhà phát triển Zend Framework
- 5. Giải pháp thương mại điện tử ASP.NET MVC (mã thương mại hoặc mã nguồn mở)
- 6. Một thư viện tệp thân thiện với TDD thân thiện với môi trường IO
- 7. ứng dụng thương mại flickr API
- 8. SQL Server Express - Sử dụng thương mại
- 9. Java - Tạo một bộ sưu tập đối tượng thân thiện
- 10. Giấy phép thương mại cho MariaDB
- 11. ứng dụng web thương mại PHP -
- 12. Di chuyển từ chợ sang thương mại?
- 13. Javascript OnClick thân thiện với trình duyệt?
- 14. php: SEO thân thiện với url
- 15. Url thân thiện với SEO trong Yii
- 16. Giải pháp NoSQL thân thiện với PHP
- 17. Tôi nên triển khai đầu tiên, PayPal hoặc Google Checkout trên trang web Thương mại điện tử của mình?
- 18. Rails trang lỗi thân thiện trong việc phát triển
- 19. "Sử dụng thương mại" có nghĩa là gì?
- 20. Làm cách nào để triển khai logic boolean thân thiện với người dùng trong giao diện biểu mẫu web?
- 21. Qt chuyển từ LGPL sang nửa chừng thương mại qua
- 22. Tự mình hoặc sử dụng một CDN thương mại
- 23. Hướng dẫn tốt để phát triển ứng dụng thương mại điện tử
- 24. CMS + blog + thương mại điện tử: django hoặc web2py
- 25. Là .Net framework miễn phí cho mục đích thương mại?
- 26. OpenGL phương pháp văn bản vẽ và thương mại-offs
- 27. Sử dụng Fluent NHibernate trong ứng dụng thương mại
- 28. Mở tìm nguồn cung ứng trang web thương mại
- 29. Cách tìm kiếm xem url có phải là trang web thương mại điện tử hoặc phi thương mại điện tử không, theo chương trình?
- 30. Có thể sử dụng EPL (Giấy phép Công cộng Eclipse) trong ngữ cảnh thương mại không?
Bạn có thể giải thích về những gì được chấp nhận "thân thiện với thương mại không?" – trashgod
Java Topology Suite (JTS) từ các giải pháp Vivid với giấy phép LGPL chứa thực thi R-Tree. Tôi đã sử dụng thành công JTS trong các ứng dụng của mình nhưng không sử dụng JTS R-Tree. Xem http://www.vividsolutions.com/jts/javadoc/com/vividsolutions/jts/index/strtree/STRtree.html –
Không trực tiếp triển khai R-tree, nhưng các phiên bản gần đây của Apache Lucene có hỗ trợ cho các tìm kiếm không gian địa lý hiệu quả. Xem ví dụ http://www.ibm.com/developerworks/opensource/library/j-spatial/ để biết thêm chi tiết. –