tr-arsapayi 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tr_arsapayi-0.1.0/CHANGELOG.md +22 -0
- tr_arsapayi-0.1.0/CITATION.cff +21 -0
- tr_arsapayi-0.1.0/LICENSE +21 -0
- tr_arsapayi-0.1.0/MANIFEST.in +9 -0
- tr_arsapayi-0.1.0/PKG-INFO +284 -0
- tr_arsapayi-0.1.0/README.md +247 -0
- tr_arsapayi-0.1.0/examples/bina.csv +10 -0
- tr_arsapayi-0.1.0/examples/eski.csv +5 -0
- tr_arsapayi-0.1.0/examples/quickstart.py +65 -0
- tr_arsapayi-0.1.0/examples/yeni.csv +9 -0
- tr_arsapayi-0.1.0/pyproject.toml +109 -0
- tr_arsapayi-0.1.0/setup.cfg +4 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/__init__.py +75 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/__main__.py +5 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/_version.py +1 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/allocation.py +600 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/cli.py +191 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/coefficients.py +289 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/io.py +129 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/models.py +79 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/py.typed +0 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/rounding.py +109 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/text.py +118 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi/transformation.py +303 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi.egg-info/PKG-INFO +284 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi.egg-info/SOURCES.txt +36 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi.egg-info/dependency_links.txt +1 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi.egg-info/entry_points.txt +2 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi.egg-info/requires.txt +6 -0
- tr_arsapayi-0.1.0/src/tr_arsapayi.egg-info/top_level.txt +1 -0
- tr_arsapayi-0.1.0/tests/conftest.py +18 -0
- tr_arsapayi-0.1.0/tests/test_allocation.py +191 -0
- tr_arsapayi-0.1.0/tests/test_cli.py +106 -0
- tr_arsapayi-0.1.0/tests/test_coefficients.py +89 -0
- tr_arsapayi-0.1.0/tests/test_io.py +54 -0
- tr_arsapayi-0.1.0/tests/test_rounding.py +65 -0
- tr_arsapayi-0.1.0/tests/test_text.py +73 -0
- tr_arsapayi-0.1.0/tests/test_transformation.py +112 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.1.0] - 2026-11-09
|
|
8
|
+
### Added
|
|
9
|
+
- Value-based arsa payı allocation (634 sayılı KMK m.3) with an overridable coefficient
|
|
10
|
+
model: floor (with per-use floor tables), use, facade, view, position, extra factor and
|
|
11
|
+
eklenti equivalent-area factors; appraised values override coefficients per unit.
|
|
12
|
+
- Illustrative default coefficient set, clearly labelled as not prescribed by law;
|
|
13
|
+
JSON export/import with partial merge and Turkish table names.
|
|
14
|
+
- Pure area-based method and a side-by-side value/area comparison.
|
|
15
|
+
- Exact integer apportionment with the largest-remainder (Hamilton) method, optional
|
|
16
|
+
minimum share, fixed denominators, exact LCM-based denominator and automatic
|
|
17
|
+
denominator selection by error tolerance.
|
|
18
|
+
- Kentsel dönüşüm (6306) helpers: old vs. new arsa payı, entitled vs. received value per
|
|
19
|
+
owner, contractor share, and the m.6 "hisseleri oranında salt çoğunluk" check.
|
|
20
|
+
- Turkish tables (terminal, Markdown) and CSV output (optionally Excel-style `;` and
|
|
21
|
+
decimal comma); CSV input with Turkish column names and automatic delimiter detection.
|
|
22
|
+
- `tr-arsapayi` CLI with `hesapla`, `donusum` and `katsayilar` commands.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: "If you use this software, please cite it as below."
|
|
3
|
+
authors:
|
|
4
|
+
- family-names: "Eminoğlu"
|
|
5
|
+
given-names: "Yusuf"
|
|
6
|
+
email: "geospacephilo@gmail.com"
|
|
7
|
+
orcid: "https://orcid.org/0009-0005-6000-2934"
|
|
8
|
+
title: "tr-arsapayi"
|
|
9
|
+
version: "0.1.0"
|
|
10
|
+
date-released: "2026-11-09"
|
|
11
|
+
license: "MIT"
|
|
12
|
+
repository-code: "https://github.com/YusufEminoglu/tr_arsapayi_sdk"
|
|
13
|
+
url: "https://pypi.org/project/tr-arsapayi/"
|
|
14
|
+
abstract: "Arsa payı (land share) allocation for Turkish condominiums under Kat Mülkiyeti Kanunu (Law No. 634) art. 3: value-based coefficient model, area-based comparison, exact largest-remainder rounding to integer denominators, and kentsel dönüşüm (Law No. 6306) old-vs-new share comparisons."
|
|
15
|
+
keywords:
|
|
16
|
+
- arsa payı
|
|
17
|
+
- kat mülkiyeti
|
|
18
|
+
- condominium
|
|
19
|
+
- land share
|
|
20
|
+
- urban regeneration
|
|
21
|
+
- Turkey
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Yusuf Eminoğlu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tr-arsapayi
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Arsa payı (land share) allocation for Turkish condominiums under Kat Mülkiyeti Kanunu (634) art. 3: value-based coefficients, area-based comparison, exact largest-remainder rounding and kentsel dönüşüm (6306) comparisons.
|
|
5
|
+
Author-email: Yusuf Eminoğlu <geospacephilo@gmail.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/YusufEminoglu/tr_arsapayi_sdk
|
|
8
|
+
Project-URL: Repository, https://github.com/YusufEminoglu/tr_arsapayi_sdk
|
|
9
|
+
Project-URL: Issues, https://github.com/YusufEminoglu/tr_arsapayi_sdk/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/YusufEminoglu/tr_arsapayi_sdk/blob/main/CHANGELOG.md
|
|
11
|
+
Keywords: arsa-payi,kat-mulkiyeti,kat-irtifaki,condominium,land-share,kentsel-donusum,urban-regeneration,real-estate,valuation,turkey,apportionment,largest-remainder
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Operating System :: OS Independent
|
|
20
|
+
Classifier: Environment :: Console
|
|
21
|
+
Classifier: Natural Language :: Turkish
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering
|
|
23
|
+
Classifier: Topic :: Office/Business
|
|
24
|
+
Classifier: Intended Audience :: Science/Research
|
|
25
|
+
Classifier: Intended Audience :: Developers
|
|
26
|
+
Classifier: Intended Audience :: Legal Industry
|
|
27
|
+
Classifier: Typing :: Typed
|
|
28
|
+
Requires-Python: >=3.9
|
|
29
|
+
Description-Content-Type: text/markdown
|
|
30
|
+
License-File: LICENSE
|
|
31
|
+
Provides-Extra: dev
|
|
32
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
33
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
34
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
35
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
36
|
+
Dynamic: license-file
|
|
37
|
+
|
|
38
|
+
# tr-arsapayi
|
|
39
|
+
|
|
40
|
+
[](https://pypi.org/project/tr-arsapayi/)
|
|
41
|
+
[](https://pypi.org/project/tr-arsapayi/)
|
|
42
|
+
[](https://github.com/YusufEminoglu/tr_arsapayi_sdk/actions/workflows/ci.yml)
|
|
43
|
+
[](https://github.com/YusufEminoglu/tr_arsapayi_sdk/blob/main/LICENSE)
|
|
44
|
+
|
|
45
|
+
**English summary.** `tr-arsapayi` allocates *arsa payı* (the land share attached to
|
|
46
|
+
each independent unit of a condominium) under Article 3 of the Turkish Condominium Law
|
|
47
|
+
No. 634, which requires shares proportional to each unit's value. It values units with
|
|
48
|
+
overridable coefficients (floor, use, facade, view, position, annexes), offers a pure
|
|
49
|
+
area-based method for comparison, rounds to any integer denominator with the
|
|
50
|
+
largest-remainder method so shares sum exactly, and compares old vs. new shares in
|
|
51
|
+
urban-regeneration (Law No. 6306) projects. The rest of this document is in Turkish.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
**Kat mülkiyeti ve kat irtifakı için arsa payı hesabı.**
|
|
56
|
+
|
|
57
|
+
`tr-arsapayi`, 634 sayılı Kat Mülkiyeti Kanunu'nun 3. maddesindeki "bağımsız bölümlerin
|
|
58
|
+
konum ve büyüklüklerine göre hesaplanan değerleri ile oranlı" arsa payı ilkesini
|
|
59
|
+
uygulayan küçük, bağımlılıksız bir Python kütüphanesi ve komut satırı aracıdır.
|
|
60
|
+
|
|
61
|
+
- **Değer esaslı hesap:** net alan × kat × nitelik (konut/dükkan/ofis...) × cephe ×
|
|
62
|
+
manzara × konum katsayıları + eklenti (depo, otopark, bahçe, teras...) eşdeğer alanı.
|
|
63
|
+
Ekspertiz değeri varsa doğrudan o kullanılır.
|
|
64
|
+
- **Alan esaslı hesap** (yalnızca karşılaştırma için) ve iki yöntemin yan yana tablosu.
|
|
65
|
+
- **Tam sayılı payda:** 1000, 2400 gibi sabit payda, EKOK tabanlı kesin payda (`tam`)
|
|
66
|
+
veya hata toleransına göre otomatik payda. Yuvarlama **en büyük kalan (Hamilton)
|
|
67
|
+
yöntemi** ile yapılır; paylar paydaya **tam olarak** eşit toplanır.
|
|
68
|
+
- **Kentsel dönüşüm (6306):** eski ve yeni arsa paylarını, malik başına hak edilen ve
|
|
69
|
+
alınan değeri, yüklenici payını karşılaştırır; m.6'daki "hisseleri oranında salt
|
|
70
|
+
çoğunluk" kontrolünü yapar.
|
|
71
|
+
- **Çıktılar:** Türkçe başlıklı tablo (terminal), Markdown, CSV (Excel için `;` ve
|
|
72
|
+
ondalık virgül seçeneği).
|
|
73
|
+
|
|
74
|
+
> **Önemli:** Yerleşik katsayılar **örnek (temsili)** değerlerdir. 634 sayılı Kanun ya
|
|
75
|
+
> da başka bir mevzuat bir katsayı tablosu belirlemez. Gerçek bir tescil veya dava için
|
|
76
|
+
> katsayıları projeye/ekspertiz raporuna göre değiştirin. Bu araç hukuki görüş değildir.
|
|
77
|
+
|
|
78
|
+
## Kurulum
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
pip install tr-arsapayi
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Python 3.9 veya üstü gerekir; yalnızca standart kütüphane kullanılır.
|
|
85
|
+
|
|
86
|
+
## Hızlı başlangıç (komut satırı)
|
|
87
|
+
|
|
88
|
+
`bina.csv`:
|
|
89
|
+
|
|
90
|
+
```csv
|
|
91
|
+
bb_no,kat,nitelik,net_alan,cephe,manzara,konum,eklenti,malik
|
|
92
|
+
1,Z,dükkan,85,ön,,,depo=12,Malik A
|
|
93
|
+
2,Z,dükkan,60,yan,,,,Malik B
|
|
94
|
+
3,1,konut,110,ön,kısmi,,,Malik C
|
|
95
|
+
4,1,konut,95,arka,,,,Malik D
|
|
96
|
+
5,2,konut,110,ön,kısmi,,otopark=12.5,Malik E
|
|
97
|
+
6,2,konut,95,arka,,,,Malik F
|
|
98
|
+
7,3,konut,110,ön,tam,,otopark=12.5,Malik G
|
|
99
|
+
8,3,konut,95,arka,yok,,,Malik H
|
|
100
|
+
9,4,konut,180,köşe,tam,çatı dubleks,teras=40,Malik I
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
tr-arsapayi hesapla bina.csv --payda 1000 --bicim md
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
| BB No | Kat | Nitelik | Net alan (m²) | Eklenti (m²) | Kat k. | Nitelik k. | Cephe k. | Manzara k. | Konum k. | Ek k. | Eşdeğer alan (m²) | Değer | Oran (%) | Arsa payı |
|
|
108
|
+
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
109
|
+
| 1 | Zemin | dükkan | 85,00 | depo 12,00 | 1,000 | 1,500 | 1,050 | 1,000 | 1,000 | 1,000 | 136,88 | 136,88 | 12,100 | 121/1000 |
|
|
110
|
+
| 2 | Zemin | dükkan | 60,00 | | 1,000 | 1,500 | 1,000 | 1,000 | 1,000 | 1,000 | 90,00 | 90,00 | 8,000 | 80/1000 |
|
|
111
|
+
| 3 | 1. Kat | konut | 110,00 | | 1,000 | 1,000 | 1,050 | 1,030 | 1,000 | 1,000 | 118,97 | 118,97 | 10,500 | 105/1000 |
|
|
112
|
+
| ... | | | | | | | | | | | | | | |
|
|
113
|
+
| 9 | 4. Kat | konut | 180,00 | teras 40,00 | 1,050 | 1,000 | 1,080 | 1,080 | 1,050 | 1,000 | 243,47 | 243,47 | 21,500 | 215/1000 |
|
|
114
|
+
| TOPLAM | | | 940,00 | | | | | | | | 1.131,11 | 1.131,11 | 100,000 | 1000/1000 |
|
|
115
|
+
|
|
116
|
+
Diğer komutlar:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
tr-arsapayi hesapla bina.csv --payda tam # EKOK tabanlı kesin payda
|
|
120
|
+
tr-arsapayi hesapla bina.csv --payda otomatik # en küçük uygun ortak payda
|
|
121
|
+
tr-arsapayi hesapla bina.csv --yontem alan # yalnız net alan
|
|
122
|
+
tr-arsapayi hesapla bina.csv --karsilastir # değer esaslı / alan esaslı
|
|
123
|
+
tr-arsapayi hesapla bina.csv --bicim csv --excel -o pay.csv
|
|
124
|
+
tr-arsapayi katsayilar -o katsayilar.json # örnek katsayı setini dışa aktar
|
|
125
|
+
tr-arsapayi hesapla bina.csv --katsayilar katsayilar.json
|
|
126
|
+
tr-arsapayi donusum eski.csv yeni.csv --bicim md # kentsel dönüşüm karşılaştırması
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### CSV sütunları
|
|
130
|
+
|
|
131
|
+
| Sütun | Zorunlu | Açıklama |
|
|
132
|
+
|---|---|---|
|
|
133
|
+
| `bb_no` | evet | Bağımsız bölüm numarası (benzersiz) |
|
|
134
|
+
| `kat` | evet | `Z`/`zemin` = 0, `B1`/`bodrum` = -1, `3`, `3. kat` ... |
|
|
135
|
+
| `net_alan` | evet | m²; `12,5` veya `12.5` |
|
|
136
|
+
| `nitelik` | | `konut` (varsayılan), `dükkan`, `ofis`, `isyeri`, `depo`, `otopark` |
|
|
137
|
+
| `cephe`, `manzara`, `konum` | | Katsayı tablosundaki anahtarlar; boşsa 1,0 |
|
|
138
|
+
| `eklenti` | | `depo=8; otopark=12,5` |
|
|
139
|
+
| `malik` | | Malik (dönüşüm karşılaştırması ve çoğunluk için) |
|
|
140
|
+
| `ek_katsayi` | | Ek çarpan (varsayılan 1,0) |
|
|
141
|
+
| `deger` | | Ekspertiz değeri; verilirse katsayılar bu bölüm için kullanılmaz |
|
|
142
|
+
|
|
143
|
+
Sütun adları büyük/küçük harf ve Türkçe karakterden bağımsız eşleştirilir; ayraç
|
|
144
|
+
(`,` `;` sekme) otomatik bulunur. Tabloda tanımlı olmayan bir kategori (ör. `cephe=güney`)
|
|
145
|
+
sessizce 1,0 sayılmaz, **hata verir**.
|
|
146
|
+
|
|
147
|
+
## Hızlı başlangıç (Python)
|
|
148
|
+
|
|
149
|
+
```python
|
|
150
|
+
from tr_arsapayi import Unit, allocate, default_coefficients
|
|
151
|
+
|
|
152
|
+
units = [
|
|
153
|
+
Unit("1", floor=0, net_area=80, use="dukkan", facade="on"),
|
|
154
|
+
Unit("2", floor=1, net_area=100, facade="on"),
|
|
155
|
+
Unit("3", floor=1, net_area=100, facade="arka"),
|
|
156
|
+
Unit("4", floor=2, net_area=100, facade="on", annexes={"depo": 8}),
|
|
157
|
+
]
|
|
158
|
+
alloc = allocate(units, denominator=1000)
|
|
159
|
+
print(alloc.shares()) # {'1': 288, '2': 240, '3': 222, '4': 250}
|
|
160
|
+
print(alloc.to_markdown())
|
|
161
|
+
|
|
162
|
+
# Katsayıları değiştirme (yalnızca farklı olanlar)
|
|
163
|
+
k = default_coefficients().updated({"nitelik": {"dukkan": 2.0}, "birim_deger": 40000})
|
|
164
|
+
print(allocate(units, k, denominator="tam").denominator)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Elle doğrulama (örnek katsayılarla): BB1 = 80 × 1,00 × 1,50 × 1,05 = 126,00;
|
|
168
|
+
BB2 = 100 × 1,05 = 105,00; BB3 = 100 × 0,97 = 97,00; BB4 = 100 × 1,02 × 1,05 + 8 × 0,25
|
|
169
|
+
= 109,10; toplam 437,10. Kotalar 288,26 / 240,22 / 221,92 / 249,60; tam kısımların
|
|
170
|
+
toplamı 998, kalan 2 pay en büyük kalanlara (0,92 ve 0,60) verilir → 288, 240, 222, 250.
|
|
171
|
+
|
|
172
|
+
### Kentsel dönüşüm
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
from fractions import Fraction
|
|
176
|
+
from tr_arsapayi import allocate, compare_transformation, majority, read_units_csv
|
|
177
|
+
|
|
178
|
+
old = allocate(read_units_csv("eski.csv"), denominator=1000)
|
|
179
|
+
new = allocate(read_units_csv("yeni.csv"), denominator=1000)
|
|
180
|
+
print(compare_transformation(old, new).to_markdown())
|
|
181
|
+
|
|
182
|
+
print(majority(old, ["Malik A", "Malik C"]).describe())
|
|
183
|
+
# Onaylayan hisse oranı %52,00; gereken: > 1/2. Çoğunluk SAĞLANDI.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
`compare_transformation`, yeni yapıda eski maliklere verilen bölümlerin toplam değerini
|
|
187
|
+
("maliklere düşen değer") eski arsa payı oranlarına göre paylaştırır:
|
|
188
|
+
**hak edilen değer = eski oran × maliklere düşen değer**. Alınan değer bununla
|
|
189
|
+
karşılaştırılır (fark ve alınan/hak edilen oranı). Eski malik listesinde olmayan
|
|
190
|
+
(veya `Yüklenici`/`müteahhit` etiketli) yeni bölümler yüklenici payı sayılır.
|
|
191
|
+
|
|
192
|
+
## API özeti
|
|
193
|
+
|
|
194
|
+
| Nesne | Açıklama |
|
|
195
|
+
|---|---|
|
|
196
|
+
| `Unit` | Bağımsız bölüm: `no`, `floor`, `net_area`, `use`, `facade`, `view`, `position`, `annexes`, `owner`, `extra_factor`, `value` |
|
|
197
|
+
| `CoefficientSet` | Katsayı tabloları; `from_json`, `from_dict(..., base=)`, `updated`, `to_json`, `floor_factor`, `lookup` |
|
|
198
|
+
| `default_coefficients()` | **Örnek** katsayı seti (yeni kopya döner) |
|
|
199
|
+
| `value_unit(unit, k)` | Katsayı dökümü ve değer (`UnitValuation`) |
|
|
200
|
+
| `allocate(units, k, denominator, method, min_share)` | Arsa payı dağıtımı → `Allocation` (`shares`, `owner_ratios`, `max_rounding_error`, `to_markdown`, `to_text`, `to_csv`, `to_dicts`) |
|
|
201
|
+
| `compare_methods`, `method_comparison_table` | Değer esaslı / alan esaslı karşılaştırma |
|
|
202
|
+
| `suggest_denominator` | Toleransa göre en küçük ortak payda (100, 120, 240, ..., 1000, 2400, ...) |
|
|
203
|
+
| `largest_remainder`, `exact_denominator` | Tam sayı paylaştırma çekirdeği |
|
|
204
|
+
| `compare_transformation` | Kentsel dönüşüm eski/yeni karşılaştırması → `TransformationResult` |
|
|
205
|
+
| `majority` | 6306 m.6 "hisseleri oranında salt çoğunluk" kontrolü |
|
|
206
|
+
| `read_units_csv`, `parse_annexes`, `parse_floor` | Girdi okuma yardımcıları |
|
|
207
|
+
|
|
208
|
+
## Yöntem ve kaynaklar
|
|
209
|
+
|
|
210
|
+
**Hukuki dayanak** (metinler mevzuat.gov.tr üzerinden kontrol edilmiştir):
|
|
211
|
+
|
|
212
|
+
- **634 sayılı Kat Mülkiyeti Kanunu, m.2/d:** arsa payı, "arsanın, bu Kanunda yazılı
|
|
213
|
+
esasa göre bağımsız bölümlere tahsis edilen ortak mülkiyet payları"dır.
|
|
214
|
+
- **634 s.K. m.3/2** (14/11/2007 tarihli 5711 s.K. ile değişik): kat mülkiyeti ve kat
|
|
215
|
+
irtifakı, bağımsız bölümlerin "konum ve büyüklüklerine göre hesaplanan değerleri ile
|
|
216
|
+
oranlı olarak" tahsis edilen arsa payının gösterilmesi suretiyle kurulur; oranlı
|
|
217
|
+
değilse her malik düzeltme için mahkemeye başvurabilir; sonradan oluşan değer
|
|
218
|
+
artış/azalışı arsa payını değiştirmez.
|
|
219
|
+
- **634 s.K. m.4:** ortak yerler (temeller, merdivenler, asansörler, sığınaklar ...);
|
|
220
|
+
bunlara ayrı arsa payı verilmez.
|
|
221
|
+
- **634 s.K. m.6:** eklentiler, ait oldukları bağımsız bölümün bütünleyici parçasıdır.
|
|
222
|
+
Bu nedenle eklenti alanı (katsayısıyla) bölümün değerine eklenir.
|
|
223
|
+
- **6306 sayılı Kanun, m.6/1** (7/11/2023 tarihli 7471 s.K. ile değişik): riskli
|
|
224
|
+
yapılarda yeniden yapım, kat karşılığı vb. kararlar "yapının paydaşı olup olmadıkları
|
|
225
|
+
gözetilmeksizin sahip oldukları hisseleri oranında paydaşların salt çoğunluğu ile"
|
|
226
|
+
alınır (değişiklikten önce "en az üçte iki"). Yıkım sonrası tescil "payları oranında"
|
|
227
|
+
yapılır.
|
|
228
|
+
|
|
229
|
+
**Hesap:**
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
değer_i = birim_değer × (net_alan_i × k_kat × k_nitelik × k_cephe × k_manzara × k_konum × k_ek
|
|
233
|
+
+ Σ eklenti_alanı × k_eklenti)
|
|
234
|
+
oran_i = değer_i / Σ değer
|
|
235
|
+
pay_i = en büyük kalan yöntemiyle round(oran_i × payda), Σ pay_i = payda
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Değerler `precision` (varsayılan 2) ondalığa yuvarlanıp tam sayıya çevrilir; tüm
|
|
239
|
+
paylaştırma tam sayı aritmetiğiyle yapılır. `payda="tam"` için payda
|
|
240
|
+
`Σw / ebob(w)` (indirgenmiş kesirlerin paydalarının EKOK'u) olur ve yuvarlama yoktur.
|
|
241
|
+
`min_share` (varsayılan 1) hiçbir bölümün sıfır pay almamasını sağlar.
|
|
242
|
+
|
|
243
|
+
En büyük kalan yöntemi: M. L. Balinski & H. P. Young, *Fair Representation*, 2. bs.,
|
|
244
|
+
Brookings Institution Press, 2001.
|
|
245
|
+
|
|
246
|
+
**Örnek katsayılar** (`tr-arsapayi katsayilar` ile tamamı görülebilir; hiçbiri mevzuattan
|
|
247
|
+
alınmamıştır): kat (1. kat = 1,00; zemin 0,95; 1. bodrum 0,80; üst katlarda 1,02–1,06),
|
|
248
|
+
dükkan için ayrı kat tablosu (zemin 1,00, 1. bodrum 0,60), nitelik (konut 1,00; dükkan
|
|
249
|
+
1,50; ofis 1,10; işyeri 1,20; depo 0,40; otopark 0,35), cephe (ön 1,05; yan 1,00; arka
|
|
250
|
+
0,97; köşe 1,08; iç 0,95), manzara (yok 1,00; kısmi 1,03; tam 1,08; deniz 1,12), konum
|
|
251
|
+
(normal 1,00; çatı dubleks 1,05; asansörsüz üst 0,97), eklenti eşdeğer alan katsayıları
|
|
252
|
+
(depo/kiler 0,25; kömürlük 0,20; otopark 0,35; garaj 0,40; bahçe 0,15; teras ve çatı
|
|
253
|
+
arası 0,30).
|
|
254
|
+
|
|
255
|
+
## Sınırlamalar
|
|
256
|
+
|
|
257
|
+
- Katsayılar örnektir; piyasa değerini yansıtmaları garanti edilmez. Değer esaslı
|
|
258
|
+
hesap için en sağlam girdi, lisanslı değerleme uzmanının bölüm bazlı değerleridir
|
|
259
|
+
(`deger` sütunu).
|
|
260
|
+
- Bir bağımsız bölümün birden çok paydaşı (hisseli mülkiyet) modellenmez; malik
|
|
261
|
+
alanına tek bir ad yazılır.
|
|
262
|
+
- Kentsel dönüşüm karşılaştırması, eski arsa payını hak ediş ölçüsü olarak kullanır;
|
|
263
|
+
sözleşmedeki ek bedeller, kira yardımı, KDV vb. hesaba katılmaz.
|
|
264
|
+
- Çoğunluk kontrolü yalnızca oran hesabıdır; tebligat, süre ve satış usulleri gibi
|
|
265
|
+
6306 s.K. ve yönetmelik hükümleri kapsam dışıdır.
|
|
266
|
+
- Bu yazılım hukuki danışmanlık değildir; tapu tescili için proje müellifi, harita
|
|
267
|
+
mühendisi ve ilgili idare ile çalışın.
|
|
268
|
+
|
|
269
|
+
## Akademik atıf
|
|
270
|
+
|
|
271
|
+
```bibtex
|
|
272
|
+
@software{eminoglu_tr_arsapayi,
|
|
273
|
+
author = {Eminoğlu, Yusuf},
|
|
274
|
+
title = {tr-arsapayi},
|
|
275
|
+
year = {2026},
|
|
276
|
+
version = {0.1.0},
|
|
277
|
+
url = {https://github.com/YusufEminoglu/tr_arsapayi_sdk}
|
|
278
|
+
}
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Lisans
|
|
282
|
+
|
|
283
|
+
MIT Lisansı. Ayrıntılar için [LICENSE](https://github.com/YusufEminoglu/tr_arsapayi_sdk/blob/main/LICENSE).
|
|
284
|
+
İletişim: geospacephilo@gmail.com
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# tr-arsapayi
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/tr-arsapayi/)
|
|
4
|
+
[](https://pypi.org/project/tr-arsapayi/)
|
|
5
|
+
[](https://github.com/YusufEminoglu/tr_arsapayi_sdk/actions/workflows/ci.yml)
|
|
6
|
+
[](https://github.com/YusufEminoglu/tr_arsapayi_sdk/blob/main/LICENSE)
|
|
7
|
+
|
|
8
|
+
**English summary.** `tr-arsapayi` allocates *arsa payı* (the land share attached to
|
|
9
|
+
each independent unit of a condominium) under Article 3 of the Turkish Condominium Law
|
|
10
|
+
No. 634, which requires shares proportional to each unit's value. It values units with
|
|
11
|
+
overridable coefficients (floor, use, facade, view, position, annexes), offers a pure
|
|
12
|
+
area-based method for comparison, rounds to any integer denominator with the
|
|
13
|
+
largest-remainder method so shares sum exactly, and compares old vs. new shares in
|
|
14
|
+
urban-regeneration (Law No. 6306) projects. The rest of this document is in Turkish.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
**Kat mülkiyeti ve kat irtifakı için arsa payı hesabı.**
|
|
19
|
+
|
|
20
|
+
`tr-arsapayi`, 634 sayılı Kat Mülkiyeti Kanunu'nun 3. maddesindeki "bağımsız bölümlerin
|
|
21
|
+
konum ve büyüklüklerine göre hesaplanan değerleri ile oranlı" arsa payı ilkesini
|
|
22
|
+
uygulayan küçük, bağımlılıksız bir Python kütüphanesi ve komut satırı aracıdır.
|
|
23
|
+
|
|
24
|
+
- **Değer esaslı hesap:** net alan × kat × nitelik (konut/dükkan/ofis...) × cephe ×
|
|
25
|
+
manzara × konum katsayıları + eklenti (depo, otopark, bahçe, teras...) eşdeğer alanı.
|
|
26
|
+
Ekspertiz değeri varsa doğrudan o kullanılır.
|
|
27
|
+
- **Alan esaslı hesap** (yalnızca karşılaştırma için) ve iki yöntemin yan yana tablosu.
|
|
28
|
+
- **Tam sayılı payda:** 1000, 2400 gibi sabit payda, EKOK tabanlı kesin payda (`tam`)
|
|
29
|
+
veya hata toleransına göre otomatik payda. Yuvarlama **en büyük kalan (Hamilton)
|
|
30
|
+
yöntemi** ile yapılır; paylar paydaya **tam olarak** eşit toplanır.
|
|
31
|
+
- **Kentsel dönüşüm (6306):** eski ve yeni arsa paylarını, malik başına hak edilen ve
|
|
32
|
+
alınan değeri, yüklenici payını karşılaştırır; m.6'daki "hisseleri oranında salt
|
|
33
|
+
çoğunluk" kontrolünü yapar.
|
|
34
|
+
- **Çıktılar:** Türkçe başlıklı tablo (terminal), Markdown, CSV (Excel için `;` ve
|
|
35
|
+
ondalık virgül seçeneği).
|
|
36
|
+
|
|
37
|
+
> **Önemli:** Yerleşik katsayılar **örnek (temsili)** değerlerdir. 634 sayılı Kanun ya
|
|
38
|
+
> da başka bir mevzuat bir katsayı tablosu belirlemez. Gerçek bir tescil veya dava için
|
|
39
|
+
> katsayıları projeye/ekspertiz raporuna göre değiştirin. Bu araç hukuki görüş değildir.
|
|
40
|
+
|
|
41
|
+
## Kurulum
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install tr-arsapayi
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Python 3.9 veya üstü gerekir; yalnızca standart kütüphane kullanılır.
|
|
48
|
+
|
|
49
|
+
## Hızlı başlangıç (komut satırı)
|
|
50
|
+
|
|
51
|
+
`bina.csv`:
|
|
52
|
+
|
|
53
|
+
```csv
|
|
54
|
+
bb_no,kat,nitelik,net_alan,cephe,manzara,konum,eklenti,malik
|
|
55
|
+
1,Z,dükkan,85,ön,,,depo=12,Malik A
|
|
56
|
+
2,Z,dükkan,60,yan,,,,Malik B
|
|
57
|
+
3,1,konut,110,ön,kısmi,,,Malik C
|
|
58
|
+
4,1,konut,95,arka,,,,Malik D
|
|
59
|
+
5,2,konut,110,ön,kısmi,,otopark=12.5,Malik E
|
|
60
|
+
6,2,konut,95,arka,,,,Malik F
|
|
61
|
+
7,3,konut,110,ön,tam,,otopark=12.5,Malik G
|
|
62
|
+
8,3,konut,95,arka,yok,,,Malik H
|
|
63
|
+
9,4,konut,180,köşe,tam,çatı dubleks,teras=40,Malik I
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
tr-arsapayi hesapla bina.csv --payda 1000 --bicim md
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
| BB No | Kat | Nitelik | Net alan (m²) | Eklenti (m²) | Kat k. | Nitelik k. | Cephe k. | Manzara k. | Konum k. | Ek k. | Eşdeğer alan (m²) | Değer | Oran (%) | Arsa payı |
|
|
71
|
+
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
72
|
+
| 1 | Zemin | dükkan | 85,00 | depo 12,00 | 1,000 | 1,500 | 1,050 | 1,000 | 1,000 | 1,000 | 136,88 | 136,88 | 12,100 | 121/1000 |
|
|
73
|
+
| 2 | Zemin | dükkan | 60,00 | | 1,000 | 1,500 | 1,000 | 1,000 | 1,000 | 1,000 | 90,00 | 90,00 | 8,000 | 80/1000 |
|
|
74
|
+
| 3 | 1. Kat | konut | 110,00 | | 1,000 | 1,000 | 1,050 | 1,030 | 1,000 | 1,000 | 118,97 | 118,97 | 10,500 | 105/1000 |
|
|
75
|
+
| ... | | | | | | | | | | | | | | |
|
|
76
|
+
| 9 | 4. Kat | konut | 180,00 | teras 40,00 | 1,050 | 1,000 | 1,080 | 1,080 | 1,050 | 1,000 | 243,47 | 243,47 | 21,500 | 215/1000 |
|
|
77
|
+
| TOPLAM | | | 940,00 | | | | | | | | 1.131,11 | 1.131,11 | 100,000 | 1000/1000 |
|
|
78
|
+
|
|
79
|
+
Diğer komutlar:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
tr-arsapayi hesapla bina.csv --payda tam # EKOK tabanlı kesin payda
|
|
83
|
+
tr-arsapayi hesapla bina.csv --payda otomatik # en küçük uygun ortak payda
|
|
84
|
+
tr-arsapayi hesapla bina.csv --yontem alan # yalnız net alan
|
|
85
|
+
tr-arsapayi hesapla bina.csv --karsilastir # değer esaslı / alan esaslı
|
|
86
|
+
tr-arsapayi hesapla bina.csv --bicim csv --excel -o pay.csv
|
|
87
|
+
tr-arsapayi katsayilar -o katsayilar.json # örnek katsayı setini dışa aktar
|
|
88
|
+
tr-arsapayi hesapla bina.csv --katsayilar katsayilar.json
|
|
89
|
+
tr-arsapayi donusum eski.csv yeni.csv --bicim md # kentsel dönüşüm karşılaştırması
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### CSV sütunları
|
|
93
|
+
|
|
94
|
+
| Sütun | Zorunlu | Açıklama |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| `bb_no` | evet | Bağımsız bölüm numarası (benzersiz) |
|
|
97
|
+
| `kat` | evet | `Z`/`zemin` = 0, `B1`/`bodrum` = -1, `3`, `3. kat` ... |
|
|
98
|
+
| `net_alan` | evet | m²; `12,5` veya `12.5` |
|
|
99
|
+
| `nitelik` | | `konut` (varsayılan), `dükkan`, `ofis`, `isyeri`, `depo`, `otopark` |
|
|
100
|
+
| `cephe`, `manzara`, `konum` | | Katsayı tablosundaki anahtarlar; boşsa 1,0 |
|
|
101
|
+
| `eklenti` | | `depo=8; otopark=12,5` |
|
|
102
|
+
| `malik` | | Malik (dönüşüm karşılaştırması ve çoğunluk için) |
|
|
103
|
+
| `ek_katsayi` | | Ek çarpan (varsayılan 1,0) |
|
|
104
|
+
| `deger` | | Ekspertiz değeri; verilirse katsayılar bu bölüm için kullanılmaz |
|
|
105
|
+
|
|
106
|
+
Sütun adları büyük/küçük harf ve Türkçe karakterden bağımsız eşleştirilir; ayraç
|
|
107
|
+
(`,` `;` sekme) otomatik bulunur. Tabloda tanımlı olmayan bir kategori (ör. `cephe=güney`)
|
|
108
|
+
sessizce 1,0 sayılmaz, **hata verir**.
|
|
109
|
+
|
|
110
|
+
## Hızlı başlangıç (Python)
|
|
111
|
+
|
|
112
|
+
```python
|
|
113
|
+
from tr_arsapayi import Unit, allocate, default_coefficients
|
|
114
|
+
|
|
115
|
+
units = [
|
|
116
|
+
Unit("1", floor=0, net_area=80, use="dukkan", facade="on"),
|
|
117
|
+
Unit("2", floor=1, net_area=100, facade="on"),
|
|
118
|
+
Unit("3", floor=1, net_area=100, facade="arka"),
|
|
119
|
+
Unit("4", floor=2, net_area=100, facade="on", annexes={"depo": 8}),
|
|
120
|
+
]
|
|
121
|
+
alloc = allocate(units, denominator=1000)
|
|
122
|
+
print(alloc.shares()) # {'1': 288, '2': 240, '3': 222, '4': 250}
|
|
123
|
+
print(alloc.to_markdown())
|
|
124
|
+
|
|
125
|
+
# Katsayıları değiştirme (yalnızca farklı olanlar)
|
|
126
|
+
k = default_coefficients().updated({"nitelik": {"dukkan": 2.0}, "birim_deger": 40000})
|
|
127
|
+
print(allocate(units, k, denominator="tam").denominator)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Elle doğrulama (örnek katsayılarla): BB1 = 80 × 1,00 × 1,50 × 1,05 = 126,00;
|
|
131
|
+
BB2 = 100 × 1,05 = 105,00; BB3 = 100 × 0,97 = 97,00; BB4 = 100 × 1,02 × 1,05 + 8 × 0,25
|
|
132
|
+
= 109,10; toplam 437,10. Kotalar 288,26 / 240,22 / 221,92 / 249,60; tam kısımların
|
|
133
|
+
toplamı 998, kalan 2 pay en büyük kalanlara (0,92 ve 0,60) verilir → 288, 240, 222, 250.
|
|
134
|
+
|
|
135
|
+
### Kentsel dönüşüm
|
|
136
|
+
|
|
137
|
+
```python
|
|
138
|
+
from fractions import Fraction
|
|
139
|
+
from tr_arsapayi import allocate, compare_transformation, majority, read_units_csv
|
|
140
|
+
|
|
141
|
+
old = allocate(read_units_csv("eski.csv"), denominator=1000)
|
|
142
|
+
new = allocate(read_units_csv("yeni.csv"), denominator=1000)
|
|
143
|
+
print(compare_transformation(old, new).to_markdown())
|
|
144
|
+
|
|
145
|
+
print(majority(old, ["Malik A", "Malik C"]).describe())
|
|
146
|
+
# Onaylayan hisse oranı %52,00; gereken: > 1/2. Çoğunluk SAĞLANDI.
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
`compare_transformation`, yeni yapıda eski maliklere verilen bölümlerin toplam değerini
|
|
150
|
+
("maliklere düşen değer") eski arsa payı oranlarına göre paylaştırır:
|
|
151
|
+
**hak edilen değer = eski oran × maliklere düşen değer**. Alınan değer bununla
|
|
152
|
+
karşılaştırılır (fark ve alınan/hak edilen oranı). Eski malik listesinde olmayan
|
|
153
|
+
(veya `Yüklenici`/`müteahhit` etiketli) yeni bölümler yüklenici payı sayılır.
|
|
154
|
+
|
|
155
|
+
## API özeti
|
|
156
|
+
|
|
157
|
+
| Nesne | Açıklama |
|
|
158
|
+
|---|---|
|
|
159
|
+
| `Unit` | Bağımsız bölüm: `no`, `floor`, `net_area`, `use`, `facade`, `view`, `position`, `annexes`, `owner`, `extra_factor`, `value` |
|
|
160
|
+
| `CoefficientSet` | Katsayı tabloları; `from_json`, `from_dict(..., base=)`, `updated`, `to_json`, `floor_factor`, `lookup` |
|
|
161
|
+
| `default_coefficients()` | **Örnek** katsayı seti (yeni kopya döner) |
|
|
162
|
+
| `value_unit(unit, k)` | Katsayı dökümü ve değer (`UnitValuation`) |
|
|
163
|
+
| `allocate(units, k, denominator, method, min_share)` | Arsa payı dağıtımı → `Allocation` (`shares`, `owner_ratios`, `max_rounding_error`, `to_markdown`, `to_text`, `to_csv`, `to_dicts`) |
|
|
164
|
+
| `compare_methods`, `method_comparison_table` | Değer esaslı / alan esaslı karşılaştırma |
|
|
165
|
+
| `suggest_denominator` | Toleransa göre en küçük ortak payda (100, 120, 240, ..., 1000, 2400, ...) |
|
|
166
|
+
| `largest_remainder`, `exact_denominator` | Tam sayı paylaştırma çekirdeği |
|
|
167
|
+
| `compare_transformation` | Kentsel dönüşüm eski/yeni karşılaştırması → `TransformationResult` |
|
|
168
|
+
| `majority` | 6306 m.6 "hisseleri oranında salt çoğunluk" kontrolü |
|
|
169
|
+
| `read_units_csv`, `parse_annexes`, `parse_floor` | Girdi okuma yardımcıları |
|
|
170
|
+
|
|
171
|
+
## Yöntem ve kaynaklar
|
|
172
|
+
|
|
173
|
+
**Hukuki dayanak** (metinler mevzuat.gov.tr üzerinden kontrol edilmiştir):
|
|
174
|
+
|
|
175
|
+
- **634 sayılı Kat Mülkiyeti Kanunu, m.2/d:** arsa payı, "arsanın, bu Kanunda yazılı
|
|
176
|
+
esasa göre bağımsız bölümlere tahsis edilen ortak mülkiyet payları"dır.
|
|
177
|
+
- **634 s.K. m.3/2** (14/11/2007 tarihli 5711 s.K. ile değişik): kat mülkiyeti ve kat
|
|
178
|
+
irtifakı, bağımsız bölümlerin "konum ve büyüklüklerine göre hesaplanan değerleri ile
|
|
179
|
+
oranlı olarak" tahsis edilen arsa payının gösterilmesi suretiyle kurulur; oranlı
|
|
180
|
+
değilse her malik düzeltme için mahkemeye başvurabilir; sonradan oluşan değer
|
|
181
|
+
artış/azalışı arsa payını değiştirmez.
|
|
182
|
+
- **634 s.K. m.4:** ortak yerler (temeller, merdivenler, asansörler, sığınaklar ...);
|
|
183
|
+
bunlara ayrı arsa payı verilmez.
|
|
184
|
+
- **634 s.K. m.6:** eklentiler, ait oldukları bağımsız bölümün bütünleyici parçasıdır.
|
|
185
|
+
Bu nedenle eklenti alanı (katsayısıyla) bölümün değerine eklenir.
|
|
186
|
+
- **6306 sayılı Kanun, m.6/1** (7/11/2023 tarihli 7471 s.K. ile değişik): riskli
|
|
187
|
+
yapılarda yeniden yapım, kat karşılığı vb. kararlar "yapının paydaşı olup olmadıkları
|
|
188
|
+
gözetilmeksizin sahip oldukları hisseleri oranında paydaşların salt çoğunluğu ile"
|
|
189
|
+
alınır (değişiklikten önce "en az üçte iki"). Yıkım sonrası tescil "payları oranında"
|
|
190
|
+
yapılır.
|
|
191
|
+
|
|
192
|
+
**Hesap:**
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
değer_i = birim_değer × (net_alan_i × k_kat × k_nitelik × k_cephe × k_manzara × k_konum × k_ek
|
|
196
|
+
+ Σ eklenti_alanı × k_eklenti)
|
|
197
|
+
oran_i = değer_i / Σ değer
|
|
198
|
+
pay_i = en büyük kalan yöntemiyle round(oran_i × payda), Σ pay_i = payda
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Değerler `precision` (varsayılan 2) ondalığa yuvarlanıp tam sayıya çevrilir; tüm
|
|
202
|
+
paylaştırma tam sayı aritmetiğiyle yapılır. `payda="tam"` için payda
|
|
203
|
+
`Σw / ebob(w)` (indirgenmiş kesirlerin paydalarının EKOK'u) olur ve yuvarlama yoktur.
|
|
204
|
+
`min_share` (varsayılan 1) hiçbir bölümün sıfır pay almamasını sağlar.
|
|
205
|
+
|
|
206
|
+
En büyük kalan yöntemi: M. L. Balinski & H. P. Young, *Fair Representation*, 2. bs.,
|
|
207
|
+
Brookings Institution Press, 2001.
|
|
208
|
+
|
|
209
|
+
**Örnek katsayılar** (`tr-arsapayi katsayilar` ile tamamı görülebilir; hiçbiri mevzuattan
|
|
210
|
+
alınmamıştır): kat (1. kat = 1,00; zemin 0,95; 1. bodrum 0,80; üst katlarda 1,02–1,06),
|
|
211
|
+
dükkan için ayrı kat tablosu (zemin 1,00, 1. bodrum 0,60), nitelik (konut 1,00; dükkan
|
|
212
|
+
1,50; ofis 1,10; işyeri 1,20; depo 0,40; otopark 0,35), cephe (ön 1,05; yan 1,00; arka
|
|
213
|
+
0,97; köşe 1,08; iç 0,95), manzara (yok 1,00; kısmi 1,03; tam 1,08; deniz 1,12), konum
|
|
214
|
+
(normal 1,00; çatı dubleks 1,05; asansörsüz üst 0,97), eklenti eşdeğer alan katsayıları
|
|
215
|
+
(depo/kiler 0,25; kömürlük 0,20; otopark 0,35; garaj 0,40; bahçe 0,15; teras ve çatı
|
|
216
|
+
arası 0,30).
|
|
217
|
+
|
|
218
|
+
## Sınırlamalar
|
|
219
|
+
|
|
220
|
+
- Katsayılar örnektir; piyasa değerini yansıtmaları garanti edilmez. Değer esaslı
|
|
221
|
+
hesap için en sağlam girdi, lisanslı değerleme uzmanının bölüm bazlı değerleridir
|
|
222
|
+
(`deger` sütunu).
|
|
223
|
+
- Bir bağımsız bölümün birden çok paydaşı (hisseli mülkiyet) modellenmez; malik
|
|
224
|
+
alanına tek bir ad yazılır.
|
|
225
|
+
- Kentsel dönüşüm karşılaştırması, eski arsa payını hak ediş ölçüsü olarak kullanır;
|
|
226
|
+
sözleşmedeki ek bedeller, kira yardımı, KDV vb. hesaba katılmaz.
|
|
227
|
+
- Çoğunluk kontrolü yalnızca oran hesabıdır; tebligat, süre ve satış usulleri gibi
|
|
228
|
+
6306 s.K. ve yönetmelik hükümleri kapsam dışıdır.
|
|
229
|
+
- Bu yazılım hukuki danışmanlık değildir; tapu tescili için proje müellifi, harita
|
|
230
|
+
mühendisi ve ilgili idare ile çalışın.
|
|
231
|
+
|
|
232
|
+
## Akademik atıf
|
|
233
|
+
|
|
234
|
+
```bibtex
|
|
235
|
+
@software{eminoglu_tr_arsapayi,
|
|
236
|
+
author = {Eminoğlu, Yusuf},
|
|
237
|
+
title = {tr-arsapayi},
|
|
238
|
+
year = {2026},
|
|
239
|
+
version = {0.1.0},
|
|
240
|
+
url = {https://github.com/YusufEminoglu/tr_arsapayi_sdk}
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Lisans
|
|
245
|
+
|
|
246
|
+
MIT Lisansı. Ayrıntılar için [LICENSE](https://github.com/YusufEminoglu/tr_arsapayi_sdk/blob/main/LICENSE).
|
|
247
|
+
İletişim: geospacephilo@gmail.com
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
bb_no,kat,nitelik,net_alan,cephe,manzara,konum,eklenti,malik
|
|
2
|
+
1,Z,dükkan,85,ön,,,depo=12,Malik A
|
|
3
|
+
2,Z,dükkan,60,yan,,,,Malik B
|
|
4
|
+
3,1,konut,110,ön,kısmi,,,Malik C
|
|
5
|
+
4,1,konut,95,arka,,,,Malik D
|
|
6
|
+
5,2,konut,110,ön,kısmi,,otopark=12.5,Malik E
|
|
7
|
+
6,2,konut,95,arka,,,,Malik F
|
|
8
|
+
7,3,konut,110,ön,tam,,otopark=12.5,Malik G
|
|
9
|
+
8,3,konut,95,arka,yok,,,Malik H
|
|
10
|
+
9,4,konut,180,köşe,tam,çatı dubleks,teras=40,Malik I
|