Forcodes Introduction
FORCODES - A Vietnam location identification code system
1. Overview
1.1 What is Forcodes?
- Forcodes is a "Make in Vietnam" location identification code system, by 44+ Technologies. It’s easy to read, remember, and share, letting you pinpoint a place with a short code. Instead of long addresses or hard-to-share coordinates, you can use a compact code like HN8HFHOIFD.
- Forcodes leverages a geodatabase of over 22.000.000 verified and daily updated addresses, with AI identification technology based on over 2.000.000.000 street-level 360° photos across Vietnam.
- Forcodes use L6 Hexagon algorithm (created by 44+ Technologies)
1.2 How does it work?
- The map is divided into small "grid" cells covering the entire country/world.
- Each cell has a unique code.
- A familiar region prefix comes first (HN = Hà Nội, HCM = Ho Chi Minh City, DNG = Đà Nẵng, …).
- Followed by a compact location code that identifies the cell.
- When you enter a code, the system takes you to the exact position (the cell center) on the map.
- The more “detailed” the code (higher resolution), the higher the accuracy—from area-level down to buildings/rooms.
1.3 Extensions for 3D Space and Dynamic Objects
- Problem: Need to identify apartments on different floors, underground structures, or the location of mobile objects (vehicles, drones).
- Solution: ForCodes can be extended using standardized suffixes. The core ForCode will identify 2D locations on the earth's surface.
- Altitude: ...-MPQRV.Z+120 (120 meters above ground level).
- Floor: ...-MPQRV.F15 (15th floor of a building).
- Dynamic objects: ...-MPQRV.T[timestamp] to identify a location at a specific time. This approach allows adding a new layer of information without changing the core code system
1.4 Key benefits
Benefit | Description | Real-world example |
---|---|---|
🎯 Short | Only 8–12 characters vs. long addresses | "HN8HFHOIFD" vs. "No. 15, Alley 123 ABC St, Ward XYZ…" |
🇻🇳 Local-first | Starts with familiar province/city codes | HN (Hà Nội), HCM (TP.HCM), DNG (Đà Nẵng) |
⚡ Fast | Search and share instantly | Paste code into app → shows on map |
🎯 Accurate | From area-level down to meters | From districts to meeting rooms |
💰 Cost-saving | Lower ops and staffing costs | Fewer mistakes → less rework |
1.5 Comparison with other systems
Method | Example | Pros | Cons |
---|---|---|---|
Traditional address | "15, Alley 123 ABC St, Ward XYZ, Hà Nội" | Familiar | Long, hard to remember, easy to confuse |
GPS coordinates | "21.028511, 105.804817" | Highly precise | Hard to remember or communicate |
PlusCode | "7PH72QMQ+37" | Short | Unfamiliar, hard to read |
What3Words | "kiem.tra.vi.tri" | Memorable | Needs internet, can be confused |
🚀 Forcodes | "HN8HFHOIFD" | Short + Familiar + Accurate | New, needs adoption |
2. Algorithm & Technology
2.1 Forcodes format
[Province code][Ward code][Location code]
Example: HNCG8HFHOIFD (Hà Nội, Cầu Giấy Ward)
Conventions:
- Province/City code: 2–3 uppercase ASCII letters, no accents, following the admin code table (e.g., HN = Hà Nội, HCM = Ho Chi Minh City, DNG = Đà Nẵng)
- Ward/Commune code: Up to 5 letters, no accents, concatenated (e.g., P1 = Ward 1, TH = Tân Hòa, CG = Cầu Giấy)
- Location code: The compact string that encodes the detailed geospatial cell
Examples:
- HCMTHABC1234: Ho Chi Minh City, Tân Hòa Ward
- DNGHK7XYZPQR: Đà Nẵng, Hòa Khánh Ward
- HNCG8HFHOIFD: Hà Nội, Cầu Giấy Ward
2.2 Encoding (address → code)
- Input: geographic coordinates (lat, lng)
- Determine the province/city code (2–3 uppercase letters, no accents)
- Determine the ward/commune short code (no accents, up to 5 chars)
- Convert the coordinates to a grid cell index
- Encode the cell index into a compact string
- Concatenate:
[Province][Ward][Location]
→Forcodes
2.3 Decoding (code → coordinates)
- Split a Forcodes string into three parts: province, ward, location code
- Use the code tables to resolve the administrative area
- Decode the location code back to the grid cell index
- Convert the cell to geographic coordinates (lat, lng)
Province/City Code Table
Region | Post-merger Province/City | Code | Includes |
---|---|---|---|
Hà Nội | HN | Hà Nội | |
Tuyên Quang | TQ | Tuyên Quang + Hà Giang | |
Cao Bằng | CB | Cao Bằng | |
Lạng Sơn | LS | Lạng Sơn | |
Lào Cai | LCI | Lào Cai + Yên Bái | |
Thái Nguyên | TN | Thái Nguyên + Bắc Kạn | |
Phú Thọ | PT | Phú Thọ + Vĩnh Phúc + Hòa Bình | |
Bắc Ninh | BN | Bắc Ninh + Bắc Giang | |
Hưng Yên | HY | Hưng Yên + Thái Bình | |
Hải Phòng | HP | Hải Phòng + Hải Dương | |
Ninh Bình | NB | Ninh Bình + Hà Nam + Nam Định | |
Quảng Ninh | QNH | Quảng Ninh | |
Thanh Hóa | TH | Thanh Hóa | |
Nghệ An | NA | Nghệ An | |
Hà Tĩnh | HT | Hà Tĩnh | |
Quảng Trị | QT | Quảng Trị + Quảng Bình | |
Thừa Thiên Huế | HUE | Thừa Thiên Huế | |
Đà Nẵng | DNG | Đà Nẵng + Quảng Nam | |
Quảng Ngãi | QNG | Quảng Ngãi + Kon Tum | |
Gia Lai | GL | Gia Lai + Bình Định | |
Khánh Hòa | KH | Khánh Hòa + Ninh Thuận | |
Đắk Lắk | DLK | Đắk Lắk + Phú Yên | |
Lâm Đồng | LD | Lâm Đồng + Đắk Nông + Bình Thuận | |
Hồ Chí Minh City | HCM | HCMC + Bình Dương + Bà Rịa–Vũng Tàu | |
Đồng Nai | DN | Đồng Nai + Bình Phước | |
Tây Ninh | TNH | Tây Ninh + Long An | |
Đồng Tháp | DT | Đồng Tháp + Tiền Giang | |
Vĩnh Long | VL | Vĩnh Long + Bến Tre + Trà Vinh | |
Cần Thơ | CT | Cần Thơ + Sóc Trăng + Hậu Giang | |
Cà Mau | CM | Cà Mau + Bạc Liêu | |
An Giang | AG | An Giang + Kiên Giang |
📏 Adjustable Accuracy
Forcodes lets you tune accuracy to your use case:
Level | Range | Typical uses | Example |
---|---|---|---|
🌍 Area | 1–60 km | Province/region location | Find hotels in Đà Nẵng |
🏘️ District | 200 m – 8 km | Area navigation, delivery | Deliver to a district |
🏢 Building | 60–460 m | Building/site location | Find an office or store |
🚪 Room | 3–65 m | Room-level location | Meeting rooms, apartments |
📍 Precise | 0.5–9 m | Device/desk-level location | IoT, asset tracking |
Choosing the right level
- 📦 Delivery: “Building” level (compact yet accurate)
- 🏥 Emergency: “Room” level (highest accuracy)
- 🎯 Marketing: “Area” level (broad coverage)
- 🔧 Maintenance: “Precise” level (device location)
🎯 Comparison with other systems
Aspect | Forcodes | PlusCode | What3Words | GPS Coordinates |
---|---|---|---|---|
Length | 8–12 chars | 10–11 chars | 3 words | 15–20 chars |
Memorability | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐ |
Accuracy | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
Localization | ⭐⭐⭐⭐⭐ | ⭐ | ⭐⭐ | ⭐ |
Vendor-neutral | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐ | ⭐⭐⭐⭐⭐ |
Example
Location: Hamy HQ (21.028511, 105.804817)
- Forcodes:
HN8HFHOIFD
(10 chars) - PlusCode:
7PH72QMQ+37
(11 chars) - What3Words:
kiem.tra.vi.tri
(4 Vietnamese words) - GPS:
21.028511,105.804817
(18 chars)
🔌 Easy integration
Simple APIs
Create a Forcodes:
Send: Coordinates (lat, lng) + Desired accuracy level
Receive: Forcodes (e.g., "HN8HFHOIFD")
Decode a Forcodes:
Send: Forcodes (e.g., "HN8HFHOIFD")
Receive: Exact coordinates + Area information
Compute distance:
Send: 2 Forcodes
Receive: Accurate distance (meters)
Multi-platform integration
- 📱 Mobile Apps: iOS, Android SDK
- 🌐 Web: JavaScript library
- 🔧 Backend: REST API
- 📊 Excel: Import/export plugin
- 🗺️ Maps: Openmap.vn platform/OSM