Truy xuất địa chỉ từ file cad

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#1
Tôi gặp tình huống này!
Trong bản đồ đo địa chính đã có ranh giới thôn buôn. các thửa đất cần phải được tổng hợp theo tên đơn vị hành chính ấy. Vậy nhờ các cao thủ "võ lâm" thường hay dùng bản đồ giải bài toán này giúp.
Yêu cầu cụ thể xem File Excel.
Xem bản đồ trong File CAD.
http://www.mediafire.com/?ss2i1wlhi38zav5
 
Lần chỉnh sửa cuối:

HNP

Thành viên mới
Tham gia ngày
6 Tháng mười một 2006
Bài viết
19
Thích
20
Điểm
0
#2
Tôi nghĩ vấn đề này giải quyết được:
Sub TimDiaDanh()
Duyet tung dong trong file excel​
soThua = Tạo một text trong cad tai tọa độ của thửa đang xét (gán layer = sothua)​
tenDiaDanh = noiNaoChuaNo()​
ghi kết quả vào file excel​
cuối duyệt​
End sub

Hàm noiNaoChuaNo :
-Chuẩn bị file cad:
o Dùng lệnh bo tạo các polyline đóng vùng hành chính
o Tạo text tên vùng HC( địa danh) nằm trong vùng hoặc tạo xdata của polyline gán tên HC

Function noiNaoChuaNo() as string
Dim tenDiaDanh as string
Off các layer chỉ để lại những layer cần thiết
tapChonPoLy = chọn tất cả polyline (chuẩn bị ở trên)

duyệt (từng POLY )
tapSOTHUA = chọn các text trên layer sothua và nằm trong POLY
nếu( tapSOTHUA.count >0) thi
tenDiaDanh = chọn các text trên layer DiaDanh và nằm trong POLY (hoặc lấy từ xdata)
xoa tapSOTHUA​
thoát duyệt​
cuối nếu​
cuối duyệt
noiNaoChuaNo = tenDiaDanh​
End function
Khi nào có thời gian mình viết thử xem.
 
Lần chỉnh sửa cuối:

HNP

Thành viên mới
Tham gia ngày
6 Tháng mười một 2006
Bài viết
19
Thích
20
Điểm
0
#3
Một cách tiếp cận khác:
Từ O (tâm thửa) vẽ tia Ox song song với trục hoành, xem nó cắt những đa giác nào, với mỗi đa giác bị cắt đếm số giao điểm (nếu cắt tại đỉnh thì đếm 2 hoặc 0, điểm kép). Nếu số giao diểm là lẽ thì O nằm trong đa giác đó. Các bạn xem có thể làm được không.
 

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#4
Đa tạ bác HNP!
Tôi thấy công việc của cánh Đo đạc vất vả quá nên gửi các bác xem giúp. Thực tế thế đấy! vì khi đo xong ngoài ruộng mới biết được cái biên giới Thôn, Buôn. Vì vậy mới có cái công việc nội nghiệp như tôi trình bày ở trên. hiện nay anh em mò mẫm nhập bằng tay e rằng vừa kg chính xác vả lại biết bao giờ mới xong. Vấn đề các Bác đã nắm rõ, vậy mong các Bác giúp 1 tay. Kính chào và chờ kết quả của các Bác.
 

PhanTuHuong

Excel & AutoCad & VBA & VB.NET
Thành viên danh dự
Tham gia ngày
13 Tháng sáu 2006
Bài viết
6,729
Thích
23,058
Điểm
1,860
#6
Tôi nghĩ không làm được vì không có mô hình chuẩn trong AutoCad, do đó việc xác định tọa độ thuộc mảnh nào sẽ khó vì không có thuật toán. Nếu từng khoảnh được bao kín trong polyline thì công việc này có khả năng thực hiện được.
 

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#7
Tôi nghĩ không làm được vì không có mô hình chuẩn trong AutoCad, do đó việc xác định tọa độ thuộc mảnh nào sẽ khó vì không có thuật toán.
Anh ơi! Em chưa hiểu ý này. Dựa vào tâm thửa có tọa độ X, Y sao để gán cái tên Thôn vào Excel thôi. Em nghĩ không liên quan gì đến "mảnh bản đồ".

Nếu từng khoảnh được bao kín trong polyline thì công việc này có khả năng thực hiện được.
Em gửi anh cái File tổng khu đo có hết tất cả các thửa đất, anh xem có thể xử lý theo hướng này đc kg. (Mở File bằng phần mềm MicroStation anh nhé)
http://www.mediafire.com/?t5o99zttts451mk
 
Lần chỉnh sửa cuối:

HNP

Thành viên mới
Tham gia ngày
6 Tháng mười một 2006
Bài viết
19
Thích
20
Điểm
0
#8
kieuhuy_bmt, chiều này rảnh viết thử vừa mới xong, thấy cũng được được hihi, gửi bạn file “tdd.exe”. bạn chạy thử xem sao, nếu có ai muốn tìm hiểu code thì tôi sẽ up sau.
File cad: tôi đã thêm 2 layer (polygon và TenDiaDanh)
File excel: tôi đã tạo một số thửa để chạy thử
Cách chạy :
1) Mở file cad – zoom Extents, rồi để đó (2007)
2) Mở file excel – chon vùng cần chạy (vùng 4 cột, n hàng, không chọn tiêu đề), rồi để đó
3) chạy file tdd.exe ( để cho dễ bạn tạo shortcut ở thanh taskbar, hay bất cứ bằng cách nào)
Quên: hãy chú ý tọa độ x,y có thể phải đảo ngược
 

File đính kèm

Lần chỉnh sửa cuối:

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#9
Chiều nay Bác Hướng báo tin ..., thấy tình hình chắc lâu lắm mới giải quyết đc. Kg ngờ tin vui đến sớm hơn mình tưởng. Cảm ơn các bác. Bác HNP cho mình xin cái VIDEO hướng dẫn chạy File luôn với, mình kg biết dùng CAD.
Cái Dữ liệu "ranh thôn" trong CAD có thể đem nguyên nó sang Excel đc kg hả bác, ý mình nói là ở dạng đồ thị hay dữ liệu gì đó... đã qua chế biến ..
 

HNP

Thành viên mới
Tham gia ngày
6 Tháng mười một 2006
Bài viết
19
Thích
20
Điểm
0
#10
Video

ranh thôn đem qua excel nếu để chỉ xem thì vào cad chọn copy rồi vào excel dán vào, còn để khai thác thì phải biết rỏ mục đích gì nữa.
 

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#11
Như vậy là có thể chế biến đc hả bác HNP. Thay vì phải mở nhiều File trong đó có File CAD, bác xem làm thế nào mà anh em chỉ cần mở mỗi File Excel để bấm tra mã danh thôn.
 

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#12
Như vậy là có thể chế biến đc hả bác HNP. Thay vì phải mở nhiều File trong đó có File CAD, bác xem làm thế nào mà anh em chỉ cần mở mỗi File Excel để bấm tra mã "thôn".
(Mình chỉ xem video, còn tải nó về thì chưa biết quê quá.. )
 

HNP

Thành viên mới
Tham gia ngày
6 Tháng mười một 2006
Bài viết
19
Thích
20
Điểm
0
#13
Mỗi phần mềm đều có thế mạnh riêng của nó, thật ra người ta cũng có thể viết những công cụ tính toán bảng biểu này nọ, nhưng quá cực khổ, trong khi đó Excel quá mạnh về chuyện này , thế nên mới có chuyện liên kết chúng, ý tưởng một phần mềm vừa quản lý dữ liệu không gian vừa quản lý dữ liệu thuộc tính đã có từ rất lâu, Autodesk cũng có phân hệ này, Arcgis của Esri rất mạnh về chuyện này, nhưng cái chuyện vẽ vời thì không thể sánh bằng Autocad, cái chuyện tính toán bảng biếu thống kê này nọ không thể sánh bằng Excel. Tóm lại nên sử dụng chúng một cách hợp lý, đừng nên gồng mình bắt Excel làm chuyện của Cad và ngược lại.
Các anh em đo đạc một ngày mà không mở Cad lên zoom zoom pan pan thì bị bệnh rồi hihihi. Chúc bạn vui vẽ với công việc.
 

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#14
Cảm ơn Bác! Tài nguyên là hữu hạn chứ có vô tận đâu,, tại em đòi hỏi thái quá!
ở vị trí "hàng, cột" trong cái bài ở mục 1 là em giả dụ. Trong cái File Excel bác đã làm, em thay đổi (cột, hàng, tên File, tên sheet ) thì có ảnh hưởng gì kg?
Bác xem và chỉnh giúp em để dán cái tên "thôn " như trong mẫu này với (Dữ liệu ở trang trên em đã gửi): http://www.giaiphapexcel.com/forum/attachment.php?attachmentid=86117&d=1342769691

Em dw đc VIDEO về rồi. Sau này em nhờ với "xã" khác Bác giúp em nhé (em gặp đúng sư phụ rồi) hehe.
 
Lần chỉnh sửa cuối:

HNP

Thành viên mới
Tham gia ngày
6 Tháng mười một 2006
Bài viết
19
Thích
20
Điểm
0
#15
Tên file, tên sheet không quan trọng, miễn là nó nằm trước mắt mình, file bạn gửi thì chọn E4:Hxx rồi chạy thôi.
 

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#16
Đồng hồ chỉ 0 g 48 rồi. kg biết Bác còn làm kg.
Em dùng win XP nên mở ra kg thấy gống cái hình trên Video. Xong nhấp chuột chả giống ai, một hồi sau thấy cũng có dãy chữ nó tự chậm chậm nhả ra (mừng quá), xong có 1 em kg có chữ nào (455038,24 ;1462868,39) nhờ bác bấm lại thử.
 

siwtom

Thành viên gắn bó
Tham gia ngày
19 Tháng ba 2008
Bài viết
2,128
Thích
4,158
Điểm
843
#17
Tôi gặp tình huống này!
Trong bản đồ đo địa chính đã có ranh giới thôn buôn. các thửa đất cần phải được tổng hợp theo tên đơn vị hành chính ấy. Vậy nhờ các cao thủ "võ lâm" thường hay dùng bản đồ giải bài toán này giúp.
Yêu cầu cụ thể xem File Excel.
Xem bản đồ trong File CAD.
http://www.mediafire.com/?ss2i1wlhi38zav5
Tôi không là cao thủ trong AutoCAD, thấp thủ cũng chưa được. Vì thế tôi có 2 câu hỏi.
1. Biên giới mỗi thôn được tạo từ một loạt các Polyline? Nói cách khác nó được tạo từ đường gấp khúc khép kín qua một loạt điểm? Có thể đọc được tọa độ của những điểm đó? Chắc chắn phải đọc được.
2. Tọa độ của điểm thuộc mỗi thôn và các điểm ở phần 1 được tính trong cùng hệ tọa độ? Tức nếu trong các điểm ở phần 1 có điểm P với toạ độ (100, 200) và ta có điểm cần xét với tọa độ (100, 200) (không nhất thiết là điểm thuộc thôn) thì có nghĩa là ta đang xét điểm P? Nói cho cùng thì chúng có thể được tính trong 2 hệ tọa độ khác nhau nhưng ta biết được gốc tọa độ O' có tọa độ bao nhiêu trong hệ Oxy.
Nếu câu trả lời cho 2 câu hỏi trên là TRUE thì tôi nghĩ có thể dùng hàm API CreatePolygonRgn để tạo region rồi dùng hàm PtInRegion để xét xem điểm cho trước có thuộc region hay không.
 

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#18
Tôi không là cao thủ trong AutoCAD, thấp thủ cũng chưa được. Vì thế tôi có 2 câu hỏi.
1. Biên giới mỗi thôn được tạo từ một loạt các Polyline? Nói cách khác nó được tạo từ đường gấp khúc khép kín qua một loạt điểm? Có thể đọc được tọa độ của những điểm đó? Chắc chắn phải đọc được.
2. Tọa độ của điểm thuộc mỗi thôn và các điểm ở phần 1 được tính trong cùng hệ tọa độ? Tức nếu trong các điểm ở phần 1 có điểm P với toạ độ (100, 200) và ta có điểm cần xét với tọa độ (100, 200) (không nhất thiết là điểm thuộc thôn) thì có nghĩa là ta đang xét điểm P? Nói cho cùng thì chúng có thể được tính trong 2 hệ tọa độ khác nhau nhưng ta biết được gốc tọa độ O' có tọa độ bao nhiêu trong hệ Oxy.
Nếu câu trả lời cho 2 câu hỏi trên là TRUE thì tôi nghĩ có thể dùng hàm API CreatePolygonRgn để tạo regio n rồi dùng hàm PtInRegion để xét xem điểm cho trước có thuộc region hay không.
Tôi không làm được bản đồ vì khoái khẩu món Excel vả lại thấy anh em Đo đạc ở cơ quan làm vất vả. Hai hệ thống phần mềm có những chức năng, điểm mạnh riêng có thể hỗ trợ cho nhau, như Bác HNP đã nói rõ. Biết vậy, biết diễn đàn này có rất nhiều người thực sự làm được vì vậy tôi gửi lên nhờ các Bác ấy. Hai điều bác hỏi thực sự là tôi kg rõ lắm, vụ này phải nhờ Bác HNP.
 
Lần chỉnh sửa cuối:

kieuhuy_bmt

Thành viên thường trực
Tham gia ngày
18 Tháng mười 2007
Bài viết
288
Thích
36
Điểm
685
#19
Tên file, tên sheet không quan trọng, miễn là nó nằm trước mắt mình, file bạn gửi thì chọn E4:Hxx rồi chạy thôi.
Cảm ơn!
Em gửi cái File tổng thể (nhưng chưa chuyển qua CAD). Trong này toàn bộ thửa đất đo đã nằm trong khu đo toàn xã. Nhờ bác nghiên cứu có thể trút từ CAD ra cái Excel có cả địa danh "Địa chỉ tọa lạc của thửa đất" đc kg đỡ đc một công đoạn.
http://www.mediafire.com/myfiles.php#
 

HNP

Thành viên mới
Tham gia ngày
6 Tháng mười một 2006
Bài viết
19
Thích
20
Điểm
0
#20
Đồng hồ chỉ 0 g 48 rồi. kg biết Bác còn làm kg.
Em dùng win XP nên mở ra kg thấy gống cái hình trên Video, xong có 1 em kg có chữ nào (455038,24 ;1462868,39) nhờ bác bấm lại thử.
Bạn tải lại file tdd.exe nhe, tôi lo tập trung vào vấn đề quên giải phóng bộ nhớ, máy không bị đơ là hên rồi hihi, thửa đất đó tôi chạy ra kết quả bình thường.
Không nhất thiết phải chạy như tôi, tại trong video tôi phải chuột để cho bạn thấy thôi, cad excel cái nào trước cũng được, sau cùng là "tdd.exe" (tọa độ "." không phải ",")
 
Top