[Mapserver-users] buffering polygons, thoughts

Fred McDavid f.mcdavid at tlogicgis.com
Tue Feb 4 09:02:29 PST 2003


--=-7/W5P1ll8mmY8p6yr30R
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

All,

I had written the list earlier about implementing a buffer for
mapserver.  Steve mentioned that he was looking for some code to steal. 
I've done a little homework on the subject, now that I've managed to get
an application up and running using mapserver.

Attached are some first thoughts (that I ripped off from a few CS
assignments that I found).  The file format is open office writer.

I think the process I've described can handle simple and complex
polygons...holes are a different matter.

If Steve still has some interest and if the process I've scrawled out
seems to hold water, I thought I'd do a quick implementation in perl.

Regards,

--Fred


--=-7/W5P1ll8mmY8p6yr30R
Content-Disposition: attachment; filename=BufferAlgorithm.sxw
Content-Type: application/vnd.sun.xml.writer; name=BufferAlgorithm.sxw
Content-Transfer-Encoding: base64

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
ScokFtAPaUxWBdfzYIedadlHzFN4jdICqz7iHJiBk0Kk/qaTwwC9p0NtJ/GUPfttstoevIZPi4R0
R2LtqD3WrvaNHemRLI4FlnrImc/rltKVhtJIvd0Ux7KUwdwCgz5Wo/lF84OGtlZ/zFATOtgkoWcF
9i6Al0eGBDSbvUaaZ9OeO1lrbEikPu7NgsncBG8FCVYTFEjmk2cD27KGCdxD0NsgfFQWknEYB4h0
D6//2eTivPv2b0tUeqCpTKbPL/YF3ARXSexFbQgFedhWG1Bdvv40VQIEzm3nNwkIJsH0srZkXyje
EsNmNV5hpsG0A4NiSHonBEX/FEKaoppSm3Xo/VXmL36tn4h77+3ux355j8Csr3yqH35zd41Fv0WM
mlRtFpUCAzzgVrmoLA0+whquvJp9DS4fWPe7/8fh5itQSwcI62MLPMgFAAAWGQAAUEsDBBQAAAAA
AAmFRC7GPG/yvgQAAL4EAAAIAAAAbWV0YS54bWw8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n
PSJVVEYtOCI/Pgo8IURPQ1RZUEUgb2ZmaWNlOmRvY3VtZW50LW1ldGEgUFVCTElDICItLy9PcGVu
T2ZmaWNlLm9yZy8vRFREIE9mZmljZURvY3VtZW50IDEuMC8vRU4iICJvZmZpY2UuZHRkIj48b2Zm
aWNlOmRvY3VtZW50LW1ldGEgeG1sbnM6b2ZmaWNlPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAw
MC9vZmZpY2UiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxu
czpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOm1ldGE9Imh0dHA6
Ly9vcGVub2ZmaWNlLm9yZy8yMDAwL21ldGEiIG9mZmljZTp2ZXJzaW9uPSIxLjAiPjxvZmZpY2U6
bWV0YT48bWV0YTpnZW5lcmF0b3I+T3Blbk9mZmljZS5vcmcgMS4wIChMaW51eCk8L21ldGE6Z2Vu
ZXJhdG9yPjwhLS1TUkM2NDFfWzc2NjNdX0xJTlVYX0lOVEVMX19jZGVsYWI4LmlyZWxhbmQuc3Vu
LmNvbV9hdF80LzI5LzAyXzk6MjQ6NTgtLT48bWV0YTppbml0aWFsLWNyZWF0b3I+RnJlZCBNY0Rh
dmlkPC9tZXRhOmluaXRpYWwtY3JlYXRvcj48bWV0YTpjcmVhdGlvbi1kYXRlPjIwMDMtMDItMDRU
MTA6MDk6MDU8L21ldGE6Y3JlYXRpb24tZGF0ZT48ZGM6Y3JlYXRvcj5GcmVkIE1jRGF2aWQ8L2Rj
OmNyZWF0b3I+PGRjOmRhdGU+MjAwMy0wMi0wNFQxMTo0MDoxNzwvZGM6ZGF0ZT48ZGM6bGFuZ3Vh
Z2U+ZW4tVVM8L2RjOmxhbmd1YWdlPjxtZXRhOmVkaXRpbmctY3ljbGVzPjU8L21ldGE6ZWRpdGlu
Zy1jeWNsZXM+PG1ldGE6ZWRpdGluZy1kdXJhdGlvbj5QVDFIMzFNMTdTPC9tZXRhOmVkaXRpbmct
ZHVyYXRpb24+PG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyAxIi8+PG1ldGE6dXNl
ci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyAyIi8+PG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6bmFt
ZT0iSW5mbyAzIi8+PG1ldGE6dXNlci1kZWZpbmVkIG1ldGE6bmFtZT0iSW5mbyA0Ii8+PG1ldGE6
ZG9jdW1lbnQtc3RhdGlzdGljIG1ldGE6dGFibGUtY291bnQ9IjAiIG1ldGE6aW1hZ2UtY291bnQ9
IjEiIG1ldGE6b2JqZWN0LWNvdW50PSIwIiBtZXRhOnBhZ2UtY291bnQ9IjEiIG1ldGE6cGFyYWdy
YXBoLWNvdW50PSIxNiIgbWV0YTp3b3JkLWNvdW50PSIyODEiIG1ldGE6Y2hhcmFjdGVyLWNvdW50
PSIxNjI3Ii8+PC9vZmZpY2U6bWV0YT48L29mZmljZTpkb2N1bWVudC1tZXRhPlBLAwQUAAgACAAJ
hUQuAAAAAAAAAAAAAAAADAAAAHNldHRpbmdzLnhtbO1YW3eqOBR+n1/h8DrLgrSnS7pazwIt1l6s
FS/Vt0h2kXNCwgmh6Pz6Caid0wozHZQ18zA8KCE7397Z2ddcfl0FpPYKPPIZvVIaJ5pSA+oy7FPv
ShmP7HpT+dr65fLXzmN7NBtc19jLi+/CBWZuHAAV9QiEkLRRbTC27nvtmlJX1ccQ6GNGd8K4p6qd
Uae2GXe2y2qSkape95WasgE8wQIrrctCdCkljS4201fKUojwQlWZ5MP+5KNrmqZuxsp2wYr49Psb
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

--=-7/W5P1ll8mmY8p6yr30R--




More information about the MapServer-users mailing list